Preface
1. What Is a Modem?
Why modulate?
The ITU Recommendations
Hard modems and soft modems
The modem, fmodem and zmodem programs
Coding conventions
2. Basic Concepts
The telephone network
Introduction
Voltages and currents
Plugs and sockets
Signalling
Transmission
The line termination unit
Time-domain and frequency-domain signals
Sampling and reconstruction
Choice of sample rate
Complex-valued signals
The Fourier transform
Bits, symbols and constellations
Nyquist's limit on symbol rate
Shannon's limit on bit rate
Quadrature amplitude modulation
Encoding bits into symbols
Decoding symbols into bits
3. Digital Filters
How they work
The frequency response function
Filtering real sequences
The impulse response and the z notation
Filtering complex sequences
Filtering and convolution
A taxonomy of digital filters
Finite and infinite impulse response
Lowpass, highpass, bandpass and bandstop
Infinite impulse response filters
Order
Brick-wall, Butterworth, Bessel and Chebyshev
Resonators
Finite impulse response filters
Moving-average filters
Raised-cosine pulse-shaping filters
x / sin x compensation
Designing digital filters
Commercial software
mkfilter and fifi
4. Basic Software Components
5. The ``Dinosaur'' Modes: Frequency-Shift Keying (V.21, V.23)
Frequency-shift keying
Introduction
Transmitting FSK
Receiving FSK
Asynchronous communication
Definition
Asynchronous transmission: bytes into bits
Asynchronous reception: bits into bytes
Synchronous communication
Definition
Synchronous transmission: bytes into bits
Synchronous reception: bits into bytes
6. Adaptive Algorithms
Equalization
Introduction
Compensating for channel distortion
Adjustment of coefficients
Choice of /D and N
Implementation
Training and scrambling
Example: the V.32 bis training sequence
Symbol sample timing
Carrier phase synchronization and automatic gain control
Short updates
Summary
Echo cancellation
Introduction
Adjustment of coefficients
Choice of /D and N
Interaction with audio sample buffering
Implementation
7. Putting It All Together
V.29
V.22, V.22 bis
V.32
Round-trip delay estimation
8. Trellis Coding and the Viterbi Algorithm
Convolutional encoding
The trellis
The Viterbi algorithm
Coding gain
V.32 bis and V.33
9. The V.34 Standard
Line probing and pre-emphasis
Shell mapping
10. Facsimile (T.4, T.30)
11. Other Topics
Compression and error correction (V.42, V.42 bis)
Start-up and mode selection (V.8, V.25)
Auto-moding
Text telephony for the deaf (V.18)
Simultaneous voice and data (V.61)
Voicemail
The ITU ``56k'' standard (V.90)
Appendix: List of ITU recommendations referred to