Also known as: RDS, RBDS, Radio Data System
Overview
Radio Data System (RDS) is the digital sideband protocol that lets an FM broadcast station send small amounts of data alongside its audio, most visibly the scrolling station name and song title on a car radio.1 It rides on a 57 kHz subcarrier — the third harmonic of the FM stereo pilot — carrying just 1187.5 bits per second. The North American variant, RBDS, is functionally compatible with minor differences in program-type tables. RDS is what turns an FM tuner from a dial into a device that knows what it is listening to.
Technical characteristics
| Property | Value |
|---|---|
| Subcarrier | 57 kHz, DSB-SC, phase-locked to the 19 kHz pilot |
| Data rate | 1187.5 bps (pilot ÷ 48) |
| Line coding | Differential, then biphase (Manchester-style) |
| Frame | 104-bit group = 4 blocks × (16 data + 10 check) |
| Error control | Shortened cyclic code with offset words |
| Key fields | PI (identity), PS (8-char name), RT (64-char text), PTY, TA/TP, CT (clock), AF |
History
RDS grew out of European broadcasting research in the late 1970s and was standardised by CENELEC in 1984 (EN 50067, later IEC 62106). The United States adopted the compatible RBDS standard through the NRSC in 1992. Later additions layered richer services onto the same groups, including the Traffic Message Channel (TMC) for navigation systems and RDS2, which adds extra subcarriers for higher throughput and even small images.
Deployment
RDS is near-universal on FM broadcasting worldwide, driving the station-name and radio-text displays on virtually every modern receiver, plus automatic frequency following (AF), traffic-announcement interrupts (TA/TP), and clock setting (CT). It is a data-only protocol — there is no voice component — and it degrades gracefully, with the checkword-protected groups simply being discarded when reception is poor.
Decoding it with GopherTrunk
GopherTrunk does not decode RDS. GopherTrunk is a trunked land-mobile scanner for systems such as P25, DMR, NXDN, and TETRA; RDS belongs to the FM broadcast world, which is out of its scope. RDS is straightforward for general-purpose SDR software to decode — demodulate the 57 kHz subcarrier, recover the biphase clock, differentially decode, and check each block against its offset word — and several open-source tools (e.g. redsea) do exactly this from an FM receiver’s baseband.
Sources
-
Radio Data System — Wikipedia, for the 57 kHz subcarrier, 1187.5 bps rate, the 104-bit group/block/checkword structure, and the PI/PS/RT/TMC data fields. ↩