Radio Data System

Radio Data System (RDS), and its American variant Radio Broadcast Data System (RBDS), are systems by which small amounts of data can be transmitted along with an FM radio broadcast. This is used for such purposes as identifying the station and the program, as well as various sorts of control functions supported by some "smart radios", particularly car audio systems. It's mostly seen as the means by which the title and artist of a song being played is identified, but it is capable of doing other things such as instructing radios to change the tuned frequency to handle a station which shifts to a different place on the dial, or to play a traffic announcement on another station. Time signals permitting resetting of clocks can also be sent.

This data is carried by a 47 kHz subcarrier multiplexed with the normal (higher frequency) signal of the station, carrying data at 1,187.5 bits per second by encoding each data bit in 48 cycles of subcarrier.

A number of specific data fields are defined, each with a different function and format. One of them (PTY, program type) is a numeric identifier of the format or genre of the station from a list of such codes; this is one area where the American and European standards differ since they have different lists. For instance, code 6 in Europe is Drama, while in the American list it is Classic Rock. Jazz is code 24 in Europe and code 14 in America, and the American list includes codes for Top 40 and Hip Hop, not found in the European list.

The familiar title/artist (and sometimes station slogan) identifiers are sent in the RT (Radio Text) field, which is transmitted in an 8-bit character code that encompasses the ASCII characters in their normal positions, and a group of extended characters such as accented letters in the "high-bit-set" area, similar to "extended ASCII" sets that have been used on various systems, but not using the same code positions as currently-common ISO 8859 or Unicode encodings. Some control codes in the C0 controls are given special meanings; CR (hex 0D) terminates the message; LF (0A) is used as a line break; VT (0B) ends the headline portion of the message, separating it from the body; and US (1F) is used as a soft hyphen. These controls aren't always supported by all devices; some just display the normal printable characters.

Standards

 * NRSC-4-B United States RBDS Standard

Other links

 * Wikipedia: Radio Data System
 * PIRA32 RDS Encoder Technical Manual (Character code chart is in section 15.1, page 51)