Created on 2008-08-22 16:47:00
RDS is an acronym for Radio Data System – a communications protocol for sending small amounts of digital information in a conventional analog FM radio broadcast. Typically, the digital information transmitted using the RDS protocol consists of short text strings such as the FM radio station’s call sign, song titles, artist names, etc., that appear on an RDS capable FM receiver. The RDS standard, which is published by the European Broadcasting Union, defines how these specific types of information are transmitted. An equivalent standard for use in the United States is published by the National Radio Systems Committee. Although the US standard is officially named RDBS (for Radio Data Broadcast System), the name RDS appears to be more commonplace.
We’ll talk more about the details later, but in a nutshell, both RDS and RDBS use a 57 kHz subcarrier signal to transmit digital data at a relatively low bit rate on a multiplexed FM stereo (commonly called MPX) waveform. Therefore, two features are required in an audio analyzer to generate an RDS encoded MPX stereo waveform:
- A sample rate high enough to reproduce signals in the 60 kHz frequency range.
- A generator waveform buffer large enough to hold a reasonably long waveform (at least several seconds worth of data) sampled at this high sample rate.
Audio Precision’s APx500 series audio analyzers are ideally suited to the task. With a 192 kHz native sample rate, APx analyzers can generate and analyze signals with frequency content in the bandwidth from DC to over 90 kHz. Furthermore, APx500 series analyzers have a generator buffer size of 32 mega-samples – enough to hold almost 3 minutes of waveform data sampled at 192 kHz. That’s much more than is typically required for audio test signals. This makes APx a great choice for testing FM receivers with or without RDS. The ability to generate the composite FM signal delivered to an FM RF modulator, and analyze the received signal, is a tremendous advantage.
If you want to learn more about FM broadcasting’ and RDS/RDBS, there are some excellent introductory articles on Wikipedia, (the free online encyclopedia). This article will focus on the “nuts and bolts” of using an APx analyzer to generate an RDS encoded multiplexed stereo waveform for FM broadcast.
Figure 1 below is a chart that demonstrates the spectral content of a stereo signal multiplexed for FM broadcast. As noted in the references, RDS and RBDS both use a 57 kHz subcarrier to carry a data stream at a bit rate of 1187.5 bits per second.
Figure 1. Representation of a multiplexed stereo waveform for FM broadcast
(adapted from Wikipedia’s FM broadcasting article)
Matlab to the rescue?
So how does one create the necessary waveform? An enterprising engineer equipped with a powerful signal processing tool like Matlab™ could build an MPX waveform with RDS encoding from scratch. That would involve applying a pre-emphasis filter1 to the left and right audio channels, manipulating them into (L+R) and (L-R), adding the 19 kHz pilot tone and properly modulating the (L-R) signal on the 38 kHz subcarrier. And that’s just to encode the stereo audio without RDS. To add RDS, you would need to work through the encoding scheme laid out in the RDS or RDBS standard, create the necessary signal, modulate it with the 57 kHz subcarrier, and then add it to the multiplexed waveform. This is certainly possible, but it would be a tremendous amount of work!
Another option: Airomate
Fortunately, there’s a much easier alternative available. We found a great Windows application called Airomate™, available online from Diffusion Software. At a cost of €29 (about $43 USD), it’s a real bargain. The program uses a PC sound card capable of 192 kHz (input and output) to create an MPX stereo waveform complete with RDS or RDBS encoding. It also has many features to allow users to control various aspects of the MPX and RDS/RDBS encoding. Figure 2 is a block diagram of the process for creating a .wav file.
Note that if you just wanted to broadcast the signal, the output from the sound card would be connected directly to an FM modulator/RF generator instead of the waveform recorder shown in Figure 2.
Figure 2. Block diagram illustrating the process to create an RDS encoded MPX WAV file.
However, because we want a .wav file that can be loaded into the APx500 application, the waveform recorder is necessary. This could be another 192 kHz sound card or the “Virtual Audio Cable” mentioned on the Diffusion Software site looks like a potential alternative to using the second sound card.
Figure 3 shows the spectrum of an MPX encoded waveform with RDS disabled. In this case the audio signal consists of a 1 kHz sine wave on the left channel and a 2 kHz sine wave on the right channel. If you study the graph, you can see the effect of the MPX encoding. For example, the 1 kHz and 2 kHz tones both appear at high amplitude in the base band (the L+R portion), the 19 kHz pilot tone is clearly visible, and several peaks 1 kHz apart show up at lower amplitude, mirrored about the 38 kHz subcarrier frequency (the L-R portion).
Figure 3. Spectrum of an MPX stereo dual sine audio signal without RDS
Figure 4 is a spectrum of the same signal with RDS enabled. Note the prominent peaks around 57 kHz (the frequency of the RDS subcarrier).
Figure 4. Spectrum of an MPX stereo dual sine audio signal with RDS
So how long does the waveform file that we load in the APx generator need to be? The required length depends on the nature of the RDS text being transmitted. In our example, we used a message queue with two messages alternating every 2 seconds. For this example a total waveform length of 5 seconds worked well. Note that when playing the waveform, when the APx generator reaches the end of the .wav file, it wraps around to the beginning of the file. Therefore, to avoid glitches when the signal wraps, it’s a good idea to ensure that the waveform transitions smoothly from the end of the file to the beginning of the file. This can be done using an audio waveform editor program.
Figure 5 shows a block diagram illustrating an FM receiver test. Note that only one generator channel is used, because the MPX waveform includes both the right and left stereo channels. The RF signal generator modulates the MPX signal with the RF frequency. With it, you can select a frequency within the FM band (preferably one that no local radio station is using), and then tune the FM receiver to that frequency. In this case, a cable is used to connect the RF generator’s output to the receiver’s FM antenna.
Figure 6 is a photo of an automotive head unit displaying an RDS text message.
One of the many nice features about the APx software is that if you load a waveform file into a project file, it gets saved with the project. Hence there are no external dependencies. However, because of this feature, project files with loaded waveforms can be relatively large in size.
The single project file, along with features like the 192 kHz sample rate, large generator buffer, arbitrary waveforms, and 2, 8 or 16-channel analog inputs, make the APx500 series audio analyzers a great platform for FM receiver testing.
APx FM MPX-RDS Demo Project (28.84 MB)
A simple APx project file to demonstrate testing of FM transmitters and receivers, including automotive head units. Includes a set of MPX-RDS-encoded sweeps and tones.
APx FM MPX-RDS Slide Presentation (184.34 KB)
Testing FM radios with APx500 Series Audio Analyzers. Presented by Joe Begin, Manager of Technical Support, Audio Precision.