A modem sends digital bits over a telephone line by turning each bit into one of two audio tones inside the 300 to 3,400 Hz voice band, and the receiver tells the tones apart with filters. Because the filters need time to respond and each bit must last several tone cycles, the bit rate has to stay well below the tone frequency: at 300 baud a bit lasts 3.3 milliseconds, which is 3.3 cycles of a 1,000 Hz tone. Errors on a noisy line come in bursts, so a CRC check and acknowledgments are needed.

Converting data bits to audio tones and back so that a voice telephone line can carry them, and the limits that tone encoding, filters and noise set.

A Voice Channel Cannot Carry A Plain Pulse, So Bits Ride On A Tone

The line the previous articles built is a voice channel: it passes roughly 300 to 3,400 Hz and is full of transformers and capacitors, such as the ringer capacitor that blocks DC. A telegraph’s DC on-off pulses do not pass reliably. A modem (modulator-demodulator) solves it as the telegraph multiplex did in Relay Circuits: superimpose audio tones on the line and let filters at the far end pick them out. At the sending end an oscillator produces a tone; the data selects which. At the receiving end filters and a detector turn the tone back into a bit.

Two ways to use a tone:

  • On-off keying. Tone present is one, absent is zero. It is the simplest way to key a tone, and it suits a telegraph channel.
  • Frequency shift. Two tones, one for each bit value. The receiver always has signal, which makes it easier to tell a zero from a dead line.

The Tones And The Bit Rate Must Be Chosen Together

Pick two tones inside the voice band and well apart. The example here uses 1,000 Hz and 2,000 Hz, taken from the relay-circuit example; they are not a standard.

A bit must last several cycles of the slower tone. At 300 baud:

  • Bit time = 1 / 300 = 3.33 ms
  • 1,000 Hz tone: 3.33 ms × 1,000 = 3.3 cycles
  • 2,000 Hz tone: 3.33 ms × 2,000 = 6.7 cycles

At 1,200 baud the bit time is 0.83 ms, which is 0.83 of one cycle of a 1,000 Hz tone: the receiver would see less than a cycle and could not identify the tone. So the baud rate is limited by the lowest tone, and a higher rate needs higher tones.

The receiving filters must respond within a bit. A filter of bandwidth B settles in roughly 1 / B seconds (a rule of thumb, not a derived figure). Using the resonant circuit formula of Filtering, the bandwidth of a filter centred at 1,000 Hz is 1,000 / Q:

QBandwidthResponse time, about 1 / BRejection of the 2,000 Hz tone
5200 Hz5 ms17.6 dB
3333 Hz3 ms13.3 dB

At 300 baud a bit is 3.33 ms. The Q = 5 filter is slower than that and smears one bit into the next, while Q = 3 is about right but separates the tones by less. Speed and clean separation pull against each other. The remedies are a lower baud rate or tones spaced further apart, so that a low-Q filter still rejects the other tone.

The Channel Itself Sets A Ceiling

The voice band is 3,400 − 300 = 3,100 Hz wide. A classical result for an ideal channel of bandwidth B is a maximum of about 2B distinct symbols per second, here 2 × 3,100 = 6,200 symbols per second. This comes from signalling theory in general, not from a corpus figure, and real lines with noise, cheap filters and unequal delay reach far less. Noise sets a second limit that no filter removes. The practical lesson is the one in Carrier Systems: bandwidth is the scarce thing, and every extra bit per second costs part of it.

Two directions at once on one pair need separate tone pairs for each direction, so that filters keep the two apart. That is frequency-division duplex, the same trick as the multiplex above.

Detecting Errors On A Telephone Line

Line noise lasts many bit periods, so errors arrive in bursts. A single parity bit per byte (12.5% overhead) catches single-bit errors but can miss a burst. CRC-32 catches every burst shorter than 32 bits (Error Detection), and checksums of 4 to 32 bytes per block catch accidental corruption (Checksums). Add acknowledgments so a corrupt block is resent (Acknowledgments), and frame characters as in Data Communication.

Privacy: Tones Are Not Secret

Data on a telephone line is audible to anyone bridged across it, and a person with two filters can read two tones. On a manual exchange the operator is on the line when the call is set up (Manual Exchange), and on a party line every instrument hears every call. Do not send what must stay private, or encipher it first.

What You Need

  • Two oscillators or one keyed oscillator, stable enough to stay inside the receiver’s filter (Oscillator Circuits)
  • A detector for each tone, from the filters above followed by a rectifier (Rectification)
  • Coupling to the line: a transformer with DC isolation, or acoustic coupling to the handset (Microphone, Speaker), which sidesteps electrical connection but adds distortion
  • A bit rate chosen below the limits above, and a written convention for framing, check and acknowledgment

Common Mistakes

  • Choosing the baud rate before the tones. The lowest tone sets the ceiling.
  • Narrow filters at high speed. Smearing from the filter limits you before the line does.
  • Testing only on a quiet bench. Burst noise on a long line is the real test.
  • Assuming the tones are private. They are not.

Safety

Ringing voltage on the line

A telephone line can carry 60 to 90 V AC of ringing from a magneto (Magneto Generator) or 90 V RMS from an exchange generator (Signaling and Ringing), on top of a 48 V DC loop. Couple an electrical modem through a transformer that gives DC isolation (Two-Wire Circuit), fuse it, and never connect equipment to a live line with the ringer active. Acoustic coupling avoids the electrical connection entirely.

What’s Next