Field Guide · protocol

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.

FM MPX audio 57k Block A Block B Block C Block D one 104-bit group = 4 × (16 data + 10 checkword) bits
RDS data on the 57 kHz subcarrier is framed into 104-bit groups of four blocks, each with an error-correcting checkword.

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

  1. 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. 

See also