RDS (Radio Data System) (or RBDS – Radio Broadcast Data System – in the USA), is a method for transmitting digital data including text via your analog FM signal. RDS can transmit your station name, song information such as title and artist, and other information useful for listeners such as your program name, contact details, news, and more. We’ve written this RDS Guide to help you understand what RDS is, and how to use it at your radio station.
This guide will provide you with an in-depth look at RDS, explain how it works, and show you how to use it at your radio station. This guide has been written with Station Engineers in mind, but may also be of interest to station owners, students, and others with an interest in broadcast technology.
At Media Realm, we have been working with RDS for many years. Our MetaRadio software is a great way to connect your automation system to RDS, allowing now-playing song data to be transmitted and displayed on your listeners radio.
Benefits of RDS
RDS allows your station to reach more people and provide a better user experience. Most car radios support, at least, the basic features in RDS such as Programme Service Name.
FM Radio Stations that display their station’s name are using RDS’s PS (Programme Service Name). Many radios will display an index of all available station names, using the RDS information.
With RDS, stations can…
- Display the current song now-playing information via RadioText and RadioText+ (RT & RT+).
- Instruct many car radios to tune to them by triggering the Traffic Announcement (TA) data flag.
- Operate on multiple frequencies (such as a regional transmitter network) advertising all the additional frequencies, using Alternative Frequencies List (AF) – allowing receivers to seamlessly switch between stations based on signal strength.
Be careful not to confuse RDS with Digital Radio systems such as DAB+, which provides some similar features but using different architecture and licensing considerations.
History and Standardisation of RDS
RDS is a mature standard – with support included in billions of devices around the world. It has been developed and updated progressively since the first official standard was published in 1984.
RDS was officially standardised in 1984 after an earlier project by Radio France, and then further development by the European Broadcasting Union (yes, the same EBU that runs Eurovision).
In 1990, the Cenelec RDS standard was released, which included AF method B and EON. In 1992, the next Cenelec standard update was published (this update included TMC data – Traffic Message Channel – a method of transmitting real-time road traffic information).
The US version was published by NRSC (National Radio Systems Committee) in 1992. This US standard contains a few minor differences, but is largely compatible with the existing RDS standard.
RDS standards are governed by the RDS Forum, which is a collection of broadcast industry groups, manufacturers, and broadcasters. The standard has been published by IEC (as IEC 62106) since 2000. The IEC standard is distributed in multiple parts:
- Part 1: Modulation characteristics of baseband coding
- Part 2: RDS message format, coding and definition of RDS features
- Part 3: Usage and registration of Open Data Applications (ODAs)
- Part 4: Registered code tables
- Part 5: Making of RDS and RDS2 devices
- Part 6: Compilation of technical specifications for ODAs in the public domain
- Part 9: RBDS – RDS variant used in North America
- Part 10: Universal Encoder Communication Protocol UECP
While you must pay to access the full IEC RDS standard, you may email the RDS Forum and request access to their draft of the standard.
Since 2014, work has been underway on the RDS2 standard. This update uses three additional subcarriers, to allow for a higher bitrate (maximum 4750 bits per second), and thus transmission of additional data such as images.
Some RDS2 encoders have existed since 2018, but so far no commercially available RDS2 radio receivers exist.
While the RDS data exists on the 57kHz sub-carrier, RDS2 adds up to three additional streams each on their own sub-carriers (66.5kHz, 71.25kHz and 76kHz).
RDS Technical Overview
RDS is transmitted on the 57kHz subcarrier of an FM MPX signal, allowing for a bitrate of 1,187.5 bits per second.
Within an FM signal, we can embed multiple services. Your Mono audio sits in the first 15kHz, a tone to indicate your signal has Stereo sits at 19kHz, stereo sits from 23-53kHz, and then your RDS signal is at 57kHz.
This chart shows the main RDS Data Stream at 57kHz, the FM Stereo Pilot tone at 19kHz, and the additional RDS2 Data Streams on their higher subcarriers:
You can use an RDS Encoder at your radio station to generate their RDS signal, and then embed this into your FM signal in your FM Processor, Exciter or Transmitter. Some FM Processors and Transmitters include in-built RDS Encoders, which negates the need for an external encoder.
If you want to connect your RDS encoder, you need to look for an ‘MPX’ or ‘SCA’ plug on your Processor, Stereo Generator, or Transmitter.
Alternatively, most RDS Encoders allow you to loop your entire MPX signal through the RDS Encoder itself, where it can be embedded.
RDS vs RBDS
The North American version is RDS is RBDS (Radio Broadcast Data System).
The modulation characteristics, such as sub-carrier frequency, modulation level and data group structure, are the same as for RDS. The main differences between RDS and RBDS are:
- The programme type code names (PTY) are different, to allow for the variations in music category names between European countries and the USA
- Method B of AF identification is not used in RBDS
- PI codes are based on call letters rather than being assigned by any national authority, as is done throughout the rest of the world
RDS Data Types
The RDS Standards defines a number of different data types. Most of these are optional, and it’s up to each station to decide which information they transmit, and how much time they wish to devote to each data type.
Here is a summary of the most common RDS Data Types:
Programme Identification (PI)
The Programme Identification (PI) is a code enabling the receiver to distinguish between audio programme content. This code is formatted as a 4-character hexidecimal code (e.g. AE93). The actual values of the PI code are largely unimportant as it is not intended for direct display.
The most important application of the PI code is to enable the receiver in the event of bad reception, to switch automatically from the currently used frequency to an alternative frequency – the criterion for the change-over to the new frequency would be the presence of a better signal having the same Programme Identification code.
Each PI code in an area must be unique. For information on finding or assigning a PI code for your station, see our section on PI Code Allocations.
Extended Country Code (ECC)
RDS uses its own country codes, composed of a combination of a Country Identifier CI and an Extended Country Code ECC. The first most significant bits of the PI code carry the RDS Country Identifier. The four-bit coding structure only permits the definition of 15 different codes, 0x1 to 0xF. Since there are many more countries to be identified, countries have to share the same CI code which does not permit a unique identification. Hence, there is the need to use the Extended Country Code which is transmitted in type 1A groups and only both codes together, the Country Identifier CI in bit b15 to b12 of the PI code and the ECC transmitted in group 1A render possible a unique combination. The ECC is an 8 bit code.
Programme Service name (PS)
You can use the PS label to identify your station, which is displayed on most RDS receivers. It must not be more than eight alphanumeric characters. An example for a name is ‘ANT FM’.
Some stations (particularly in the USA) choose to display their current song & artist information within the PS field, using a ‘scrolling’ effect created by sending 8 characters at a time with a slight delay between each update. This is called “Dynamic PS” (DPS). This usage is not recommended (in fact it’s not permitted by the RDS Forum), as it will result in random sub-sets of song data being saved into radio receivers in place of the station’s name. Now-playing data should be transmitted via RadioText.
NRSC-4-B does not support using the Program Service (PS) field for PAD, as it is a single, static 8 character field. However, use of a “dynamic,” “framing,” or “scrolling” PS is a common practice within the U.S.NRSC-G300-C Radio Data System (RDS) Usage Guideline – April 2018
Programme TYpe (PTY)
This is an category to identify the type of content your station transmits. There are 31 possibilities, and their meanings differ based on if your radio receiver uses the RDS or RBDS standard:
|PTY code||RDS program type||RBDS program type|
|0||No programme type or undefined|
|12||Easy listening||Soft music|
|16||Weather||Rhythm and blues|
|17||Finance||Soft rhythm and blues|
|19||Social affairs||Religious music|
|24||Jazz music||Spanish Talk|
|25||Country music||Spanish Music|
|26||National mu||Hip hop|
|30||Alarm test||Emergency test|
RadioText allows text transmissions of up to 64 characters per message. This is commonly used for:
- Song Information – Title & Artist
- Current Program Name
- Station Messages – e.g. slogans, website address, phone number, etc.
- News headlines
RadioText Plus (RT+)
This allows a broadcaster to tag specific elements of RadioText field, allowing for better display on radio receivers. This field is used by some receivers to differentiate the song title & artist and display them in separate fields on the radio’s displayed.
Alternative Frequencies List (AF)
The list(s) of alternative frequencies give information on the various transmitters broadcasting the same programme in the same or adjacent reception areas, and enables receivers to automatically switch. This facility is particularly useful in the case of car and portable radios.
Clock Time and date (CT)
Transmitting a Time & Date allows for receivers to automatically update their local clock, based on the current time transmitted by the station.
Music Speech switch (MS)
This is a two-state signal to provide information on whether music or speech is being broadcast. The signal would permit receivers to be equipped with two separate volume controls, one for music and one for speech, so that the listener could adjust the balance between them to suit their individual listening habits.
Open Data Applications (ODA)
Open Data Applications are a very effective and flexible way for adding additional applications to an RDS service. A number of different ODAs may exist on any service, subject to capacity. ODAs may be transmitted constantly, or only when required (e.g. an application which provides an alert in the case of extreme weather, etc.). The Open Data Applications feature is conveyed in a number of allocated groups in an RDS transmission. The groups allocated are indicated by the use of type 3A group which is used to identify to a receiver the data application in use in accordance with the registration details in the Open Data Applications Directory.
Traffic Announcement identification (TA)
This is an on/off switching signal to indicate when a traffic announcement is on air. The signal could be used in receivers to switch automatically from any audio mode to the traffic announcement; switch on the traffic announcement automatically when the receiver is in a waiting reception mode and the audio signal is muted; switch from a programme to another one carrying a traffic announcement. After the end of the traffic announcement the initial operating mode will be restored.
Traffic Programme identification (TP)
This is a flag to indicate that the tuned programme carries traffic announcements. The TP flag must only be set on programmes which dynamically switch on the TA identification during traffic announcements. The signal shall be taken into account during automatic search tuning.
Traffic Message Channel (TMC)
This feature is intended to be used for the coded transmission of traffic information (ALERT-C protocol). The coding for TMC is separately specified in ISO 14819. 1581 It is an ODA. The feature can be open or encrypted for conditional access.
As RDS is an open specification, it can be freely implemented by any equipment manufacturers and software developers. In this section we’ll highlight some of the most popular RDS Encoders.
Given many encoders have similar functionality, selecting an RDS Encoder often comes down to personal preference. If you are unsure, I generally consider these options:
- If your FM Processor supports RDS, then consider using its built-in RDS Encoder.
- If you are looking for a software solution, consider Thimeo StereoTool.
- If you want cheaper hardware, consider the Pira or Deva models.
- If you’re looking for a more expensive or full-featured hardware option, consider 2wcom or Audemat.
Standalone RDS Encoder vs Using Your Processor or Transmitter
Some FM Audio Processors have in-built RDS Encoders. Several processors from brands such as Orban, Omnia and Thimeo StereoTool all have in-built RDS Encoders with at least basic features (such as PI, PS and RT).
Some FM Transmitters with in-built stereo generators also have in-built RDS Encoders. Brands such as Nautel have this enabled in a range of their products.
List of RDS Encoder Brands & Models
This section lists the most popular RDS Encoder Manufacturers and provides an overview of their products.
2wcom is a German broadcast equipment manufacturer. Their C02 and C04 RDS Encoders have been very popular, as they are full featured RDS Encoders will full support for the wide range of RDS data types. Their MPX-1g RDS Edition is the current RDS Encoder, which also features a FM stereo generator, AoIP / MPXoIP codec and FM / DAB rebroadcast receiver. The ballpark price is €1,800.00.
WorldCast Systems is a French broadcast equipment manufacturer, and RDS Forum member. Their Audemat RDS Encoder is their latest encoder. As well as an RDS Encoder, this product also has an FM Receiver, and and MPX over AES. The ballpark price is US$3,000.
Audessence is a UK broadcast equipment manufacturer. Their RDS-PRO-1, RDS-PRO-2 and RDS PRO-4 encoders have various connectivity options and features. The ballpark price of the PRO-4 is €1,700.00.
BreakawayOne is a software-based FM Processor, RDS Encoder, and MPX Stereo Generator from Leif Claesson. The price of their FM Mode + RDS Encoder is US$400. To output MPX for your transmitter, you’ll need a 192Khz soundcard, such as the MaxxKonnect U.192 USB Soundcard (Ballpark price: US$800).
Deva has a range of encoders – including the SmartGen 6, SmartGen Mini and SmartGen Micro. The SmartGen Micro only supports static data (no dynamic data), but the bigger models support a wide range of data types and connectivity options. See their Selection Guide for a full feature list. The ballpark pricing is US$850 for the SmartGen Mini, and SmartGen 6 will set you back about US$2,250.
Pira are a smaller broadcast equipment manufacturer, but their RDS Encoders and Modulation Monitors are very popular, particular with community radio. They have good connectivity and a wide range of options. Their P232U Encoder sells for €280.00, and they also sell cheaper models, including boards without a case.
StereoTool is my go-to software-based FM Audio Processor, which also has a RDS Encoder in-built. The cheapest license with RDS sells for only €139, but you’ll need a way to connect your MPX to your transmitter.
If you want to use USB to get MPX out of your PC, the MaxxKonnect U.192 USB Soundcard is a good option with a ballpark price of US$800.
However, if you want IP connectivity for MPX, I’d strongly recommend MicroMPX as a transport options. You can use a RaspberryPi with a HifiBerry hat as the MPX decoder, or more professional options from Omnia (ballpark price: €2,720), 2wcom (ballpark price: €3,095), and others.
Omnia and Orban
Sending Data to RDS Encoders
All RDS Encoders provide some form of configuration system – usually a piece of software which allows you to setup the encoder with your default settings. This software is often only compatible with specific encoders – they aren’t interchangeable between different brands, unless the full UECP standard is implemented.
This configuration software is great for setting up static data such as PI, PTY, and PS. However, if you wish to transmit dynamic data (such as live song now-playing data), you will need a realtime method of communication.
Shamless Plug: MetaRadio is our software used to send real-time data to RDS Encoders, such as song data, program guide information, and scheduled messages. We make RDS data easy by providing pre-made connection templates for most RDS Encoders on the market.
RDS ASCII Communication
Most RDS Encoders support a basic ASCII over TCP protocol. These commands often looks like this:
TEXT=My RadioText String Goes Here\r\n
These commands vary from manufacturer to manufacturer. You’ll have to check the user manual for your encoder.
UECP is a standardised communication protocol for RDS. It encodes fields such as RadioText, and sends it to one or more RDS Encoders. Because the protocol is standardised, the same data can be sent to many different encoders.
UECP is a binary format, and isn’t easily usable unless you have a UECP compatible plugin for your software. MetaRadio has an in-built UECP output module, which allows you to use UECP with any Automation System on the market.
Monitoring and Decoding RDS
Radio stations need a way to monitor their transmission, including their RDS data. Many of the RDS Encoder manufacturers also sell RDS Monitoring Receivers.
The Inovonics receivers, including the 541, seem particularly popular with broadcasters at the moment.
Selecting an RDS PI Code for your Radio Station
The PI Code is a unique code used to identify your station. Each PI must be allocated to be unique from all others in the same area.
A methodology needs to exist within a broadcast area (i.e. a continent), to ensure uniqueness of PI code allocations to each radio station. The Programme Identification code consists of 16 bits. Bits 1 to 4 is the country/area symbol (HEX code). Code assignments 5 to 16 should be assigned by relevant authorities in each country or area, for example in such a way that bits 5 to 8 describe the programme type in terms of area coverage and bits 9 to 16 are a programme reference number.
FM PI Codes can also be used for Implicit Linking between FM & DAB+ services. Implicit Linking occurs when a receiver, typically a car receiver, automatically associates FM and DAB services which have the same code for FM PI and DAB SID.
Some countries and regions have PI allocations coordinated by the local broadcast regulator. Other regions, such as Australia, have more ad-hoc systems in place. In general, the last two digits of the PI code must be unique for 300+ KMs, in order to avoid automatic program switching between unrelated services.
RDS PI Codes in Europe
IEC 62106 defines the first character for the PI Code for each country in the EBU. The remaining three characters are at the discretion of the local regulator in each country.
|COUNTRY/AREA||ITU CODE||SYMBOL FOR PI||ECC|
|Faroe Islands [Denmark]||DK||9||E1|
|Germany||DE||D or 1||E0|
|Gibraltar [United Kingdom]||GI||A||E1|
|Russian Federation (ex-USSR)||RU||7||E0|
|Syrian Arab Republic||SY||6||E2|
RDS PI Codes in United States
In the United States, the NRSC has a website which shows PI code allocations. Their list is generated from FCC registration data. There are separate look-ups for full-service FM licensees, and translators.
RDS PI Codes in Australia
In Australia, Commercial Radio & Audio has guidelines on PI Code Allocation. CRA’s PI Code Allocation guidelines are not mandatory, but provide a recommended scheme for allocation which all broadcasters should try to adhere to.
The Australian PI assignment scheme constructs the PI code based on a combination of the state number, plus the final 3 digits of the transmitter frequency, e.g. for 2MMM in Sydney on 104.9MHz this would be 2 + 049 = 2049. This is defined as the base PI code for that FM frequency in that state.
There are cases however where the same FM frequency is assigned within a state. The base assignment scheme described above will cause stations with a common frequency within a state to then have the same PI code. To avoid this undesirable situation, additional steps can be taken to adjust the PI code to a unique value – this is documented in CRA’s guidance notes.
A community-curated spreadsheet exists to track used PI codes, and CRA also has a database (CRA’s database requires a login).
RDS PI Codes in Other Countries
IEC 62106 defines the first character for the PI Code for other countries around the world. The remaining three characters of the PI code are generally defined by local regulators or industry bodies.
|African Broadcasting Area||COUNTRY/AREA||ISO CODE||SYMBOL FOR PI||ECC|
|Canary Islands [Spain]||ES||E||E0|
|Central African Republic||CF||2||D0|
|Republic of Guinea||GN||9||D0|
|Sao Tome & Principe||ST||5||D1|
|Former Soviet Union||COUNTRY/AREA||ISO CODE||SYMBOL FOR PI||ECC|
|Allocations of symbols for countries in ITU Region 2||COUNTRY/AREA||ISO CODE||SYMBOL FOR PI||ECC|
|Antigua and Barbuda||AG||2||A2|
|St Pierre and Miquelon||PM||F||A6|
|Trinidad and Tobago||TT||6||A4|
|Turks and Caicos Islands||TC||E||A3|
|United States of America||US||1..9,A,B,D,E||A0|
|Virgin Islands [British]||VG||F||A5|
|Virgin Islands [USA]||VI||F||A5|
|Allocations of symbols for countries in ITU Region 3||COUNTRY/AREA||ISO CODE||SYMBOL FOR PI||ECC|
|Australia – Austr. Capital Territory||1||F0|
|Australia – New South Wales||2||F0|
|Australia – Victoria||3||F0|
|Australia – Queensland||4||F0|
|Australia – South Australia||5||F0|
|Australia – Western Australia||6||F0|
|Australia – Tasmania||7||F0|
|Australia – Northern Territory||8||F0|
|Papua New Guinea||PG||9||F3|