FM broadcast with RDS

An FM stereo station from the transmitter to your speakers: the stereo multiplex, the pilot tone, the RDS data that names the station, and a receiver that decodes all of it through noise and echoes.

–Reception
–Audio SNR
–Station name
–RDS block errors

What is modelled. The programme is generated test tones and the station is made up (programme identification 5B12, name "TESTFM 1"). The multiplex follows ITU-R BS.450: 75 kHz peak deviation, 19 kHz pilot, L−R on a suppressed 38 kHz subcarrier, 50 or 75 µs pre-emphasis. RDS follows IEC 62106: a 57 kHz subcarrier locked to the pilot (here in quadrature with its third harmonic), 1187.5 bit/s differential biphase coding, the standard shaping filter, the (26,16) block code with its offset words, and groups 0A and 2A. The channel (one echo with fading, a tuning offset, white noise) and the receiver design (filter shapes, loop bandwidths, blend thresholds, when sync is declared lost) are modelled choices, not a specific product. C/N is carrier power over noise power in a 200 kHz reference bandwidth, whatever the receiver's IF bandwidth is set to.

1

The stereo multiplex

Before anything is transmitted, the station builds one baseband signal, the multiplex. The sum of left and right (L+R) sits at the bottom, so a mono radio hears the whole programme. The difference (L−R) is shifted up around 38 kHz with its carrier removed. A small 19 kHz pilot tells receivers that stereo is present and gives them the exact phase to recover L−R. RDS data rides on 57 kHz, three times the pilot. Their peak levels share the 75 kHz deviation budget.

Multiplex spectrum each component in its own colour

Deviation budget peak share of 75 kHz

Multiplex waveform, 2 ms

MultiplexPilot (19 kHz)
2

Frequency modulation

The multiplex sets the carrier's instantaneous frequency: a value of 1 moves it 75 kHz away from the channel centre. The carrier's power never changes, only its frequency, so the spectrum spreads into sidebands. Carson's rule, twice the sum of peak deviation and the highest modulating frequency, is the usual rough estimate of the bandwidth needed; the bandwidth that actually holds 99% of the power is measured alongside it.

Transmitted spectrum

FM signal99% power bandwidthCarson's rule
3

The channel

On the way to the receiver the signal picks up noise and, in hills or cities, an echo: a delayed copy reflected off something. The echo adds to the direct signal in some frequencies and cancels it in others, a comb of notches that moves as the reflection's phase changes. An FM signal sweeps across those notches, so the envelope, which should be flat, starts to ripple. The receiver's IF filter then sets how much noise gets in.

Received spectrum

Received (with noise)Transmitted

Echo channel and IF filter response now

Direct path plus echoIF filter

Envelope after the IF filter, 5 ms

4

The FM discriminator

The receiver recovers the multiplex by measuring how fast the carrier's phase turns from one sample to the next. Noise adds a small random wobble to the phase, about equally at all frequencies. But frequency is the rate of change of phase, so the noise that comes out grows in proportion to frequency, and its power with the square of frequency. The L−R signal at 23 to 53 kHz and RDS at 57 kHz sit where this noise is far stronger than at the bottom where L+R lives.

Recovered multiplex

RecoveredTransmittedNoise predicted by theory (f²)
5

Pilot lock and stereo decoding

A phase-locked loop locks an oscillator to the 19 kHz pilot. Doubling its phase gives a 38 kHz reference exactly in step with the transmitter's, which turns L−R back into audio; then L = (L+R) + (L−R) and R = (L+R) − (L−R). When the pilot gets noisy or the envelope ripples from echoes, the receiver blends toward mono: it scales L−R down, giving up separation to get rid of the extra noise. Stereo goes first, long before mono does. De-emphasis then undoes the transmitter's treble boost, taking hiss down with it.

Pilot SNR and blend, last 10 s

Pilot SNR (dB in 1 kHz)Stereo share (%)Blend thresholds

Audio out, 20 ms

LeftRight

Audio SNR is measured against a test tone at the programme level, and counts everything except the two test tones as noise, distortion included. Separation is how far the tone meant for one channel sits below its own level in the other.

6

RDS demodulation

RDS is shifted down from 57 kHz using three times the pilot phase. Each bit is a biphase symbol: a positive half followed by a negative half, or the reverse. A filter matched to that shape collects its energy, and the receiver picks the one sampling instant in each 16-sample bit where the energy peaks. The carrier phase comes from squaring the symbols, which removes the data, but leaves a 180° ambiguity. The data is differentially coded, a 1 is sent as a change of polarity, so the ambiguity does not matter.

Symbols

Eye diagram two bits

Symbol timing

7

Block sync and error correction

RDS bits come in blocks of 26: 16 bits of data and a 10-bit checkword. Each block's checkword has an offset word added to it, one for each of the four positions in a group (A, B, C or C′, D). The receiver slides along the bit stream computing the syndrome of the last 26 bits. A syndrome that matches an offset word, twice at the right spacing, means the block boundaries are found. After that, a syndrome that doesn't match means errors. The code can correct any burst of up to five wrong bits in a row, but the more it corrects, the more often it "fixes" a block into the wrong data.

BlockOffset wordSyndromeCarries

Offset words and syndromes from IEC 62106. Code generator x¹⁰ + x⁸ + x⁷ + x⁵ + x⁴ + x³ + 1.

#BlockData · checkwordSyndromeResultCorrectionTruth
8

Decoded RDS

Four blocks make a group. Group 0A carries two characters of the 8-character programme service name (PS) plus the programme type (PTY) and traffic flags; group 2A carries four characters of the 64-character RadioText. Characters light up as they arrive and fade as they age. The programme type is only a number on air; the receiver looks up its name, and Europe (RDS) and North America (RBDS) use different tables.

Programme service name

RadioText

#GroupBlocksContent
9

What noise costs: mono, stereo and RDS

Sweep the carrier-to-noise ratio and measure. Above the FM threshold, audio SNR rises one dB for every dB of C/N, but stereo sits about 20 dB below mono, because L−R is recovered from where the discriminator noise is strongest. At very high C/N, stereo levels off where distortion from the IF filter takes over. RDS holds on until close to the threshold, thanks to its low bit rate and error correction. Below the threshold, around 10 dB, clicks appear and everything collapses.

C/N from 0 to 60 dB in 3 dB steps, 2 s each, with the other settings as they are now.

Audio SNR against C/N

Mono (L+R)Stereo (L, R)Now

RDS block error rate against C/N

After correctionBefore correctionNow