processes and operating systems
DESCRIPTION
Processes and operating systems. Telephone answering machine. Theory of operation. Compress audio using adaptive differential pulse code modulation ( ADPCM ). analog. time. ADPCM. 3. 2. 1. -1. -2. -3. time. ADPCM coding. Coded in a small alphabet with positive and negative values. - PowerPoint PPT PresentationTRANSCRIPT
© 2000 Morgan Kaufman
Overheads for Computers as Components
Processes and operating systems
Telephone answering machine.
© 2000 Morgan Kaufman
Overheads for Computers as Components
Theory of operation
Compress audio using adaptive differential pulse code modulation (ADPCM).
time
time
analog
ADPCM 3 2 1 -1 -2 -3
© 2000 Morgan Kaufman
Overheads for Computers as Components
ADPCM coding
Coded in a small alphabet with positive and negative values. {-3,-2,-1,1,2,3}
Minimize error between predicted value and actual signal value.
© 2000 Morgan Kaufman
Overheads for Computers as Components
ADPCM compression system
quantizer
integratorinverse
quantizer
encoder
inverse quantizer
integrator
decoder
samples
© 2000 Morgan Kaufman
Overheads for Computers as Components
Telephone system terms
Subscriber line: line to phone.Central office: telephone switching
system.Off-hook: phone active.On-hook: phone inactive.
© 2000 Morgan Kaufman
Overheads for Computers as Components
Real and simulated subscriber line
Real subscriber line: 90V RMS ringing signal; companded analog signals; lightning protection, etc.
Simulated subscriber line: microphone input; speaker output; switches for ring, off-hook, etc.
© 2000 Morgan Kaufman
Overheads for Computers as Components
RequirementsInputs Telephone: voice samples, ring.
User interface: microphone, playmessages button, record OGM button.
Outputs Telephone: voice samples, on-hook/off-hook command.User interface: speaker, # messagesindicator, message light.
Functions Default mode: detects ring, signals off-hook, pays OGM, records ICMPlayback: play all messages, wait 5seconds for new playback.OGM editing: OGM up to 10 sec.
Performance About 30 minutes voice (@ 8kHz).
Manufacturing cost Consumer product range ($50)
Power AC plugPhysicalsize/weight
Comparable to desk phone.
© 2000 Morgan Kaufman
Overheads for Computers as Components
Comments on analysis
DRAM requirement influenced by DRAM price.
Details of user interface protocol could be tested on a PC-based prototype.
© 2000 Morgan Kaufman
Overheads for Computers as Components
Answering machine class diagram
Microphone*
Line-in*
Line-out*
Buttons*
Speaker*
Lights
Playback
Controls Record Outgoing-message
Incoming-message
1
1
1
1
1
1
1
11 1 1
11
1
1
1
1
*
*
*
*
© 2000 Morgan Kaufman
Overheads for Computers as Components
Physical interface classes
Line-out*
sample()pick-up()
Microphone*
sample()
Line-in*
sample()ring-indicator()
Speaker*
sample()
Buttons*
record-OGMplay
Lights*
messagesnum-messages
© 2000 Morgan Kaufman
Overheads for Computers as Components
Message classes
Message
lengthstart-adrsnext-msgsamples
Incoming-message
msg-time
Outgoing-message
length=30 sec
© 2000 Morgan Kaufman
Overheads for Computers as Components
Operational classes
Controls
operate()
Record
record-msg()
Playback
playback-msg()
© 2000 Morgan Kaufman
Overheads for Computers as Components
Software components
Front panel module.Speaker module.Telephone line module.Telephone input and output
modules.Compression module.Decompression module.
© 2000 Morgan Kaufman
Overheads for Computers as Components
Controls activate behavior
Compute buttons, line activations
Activations?
Play OGM Record OGM Play ICM Erase Answer
Wait for timeout
Erase
Play OGM
Allocate ICM
Record ICM
© 2000 Morgan Kaufman
Overheads for Computers as Components
Record-msg/playback-msg behaviors
nextadrs = 0
msg.samples[nextadrs] =sample(source)
End(source)F
T
record-msg
nextadrs = 0
speaker.samples() =msg.samples[nextadrs];
nextadrs++
nextadrs=msg.lengthF
T
playback-msg
© 2000 Morgan Kaufman
Overheads for Computers as Components
Hardware platform
CPU.Memory.Front panel.2 A/Ds:
subscriber line, microphone.2 D/A:
subscriber line, speaker.
© 2000 Morgan Kaufman
Overheads for Computers as Components
Component design and testing
Must test performance as well as testing. Compression time shouldn’t dominate
other tasks.Test for error conditions:
memory overflow; try to delete empty message set, etc.
© 2000 Morgan Kaufman
Overheads for Computers as Components
System integration and testing
Can test partial integration on host platform; full testing requires integration on target platform.
Simulate phone line for tests: it’s legal; easier to produce test conditions.