Several decades ago, the only information most car radios displayed was the frequency of which station you’re tuning into, possibly the volume of the stereo, and perhaps the equalizer, balance, and fader settings. That’s it; you were at the mercy of your local DJs and whatever music identifications skills you could muster to keep a handle on a new tracks. However, towards the start of the new millennium, something unusual happened: Car radios started to display song titles. So, how does you car know what song is playing on your local FM station? If you own something from this era, it’s largely thanks to a bit of tech called Radio Data System (RDS), or Radio Broadcast Data System (RBDS) in America.
Before we dig into RDS, let’s talk about FM radio. We’ll let Lewin get into that:
How FM Works
[Lewin Day/Editor’s note: Let’s first learn about how FM radio works to broadcast stereo audio, and then we can learn how radio stations sneak in an additional data stream along with that. FM stands for Frequency Modulation, which basically means that FM radio works by taking a standard signal called a carrier signal, and modifying it with the audio signal you want to play (specifically the audio signal modifies the carrier’s frequency), and then sending that modified carrier signal to a receiver that decodes it to get the audio signal back.
The following diagram from Michel Bakni is a nice visual description of frequency modulation in its simplest form. We have a “data signal”—i.e. some audio; let’s say, your favorite Elton John song—in the form of a sine wave, and we have the “carrier signal” which is our FM radio signal. As the amplitude of the Elton John audio signal rises, the carrier’s (the red wave) frequency is modulated higher; as the amplitude of the data signal decreases, the carrier signal’s frequency is modulated lower. The result is shown in green on the right; this varying-frequency carrier is broadcast to be picked up by receivers. In the radio receiver, the frequency changes in the carrier are detected and processed back into the amplitude variations corresponding to the original audio. They’re then fed to the speaker where we hear them as sound.
Here’s a video showing how a carrier signal (which looks steady like the red one above) changes when merged with an audio signal, thereby creating a frequency modulated audio signal (the green one above) that has the audio data embedded in it (meaning that audio can then be “decoded” out by the FM receiver and played over a speaker):
Of course, that’s just the simplest case. FM radio stations typically broadcast in stereo with two separate audio channels, so how does that work? Well, it’s bloody complicated but I promised David I’d write a good explainer so here we go.
At the radio station, the Left audio channel and Right audio channel are added together to create a combined mono audio signal, with frequencies from 30 Hz to 15 kHz. This is the (L+R) signal. A difference signal is also created by subtracting the right audio channel from the left audio channel, which we call (L-R). The (L-R) signal is amplitude modulated onto a 38 KHz carrier. Basically, what that means is the 38 KHz signal gets “louder” or “quieter” based on the “volume” – or amplitude – of the (L-R) signal. The 38 KHz carrier itself is “suppressed” but for our understanding, we don’t really need to worry about that detail. There’s also a pilot tone, which is just a 19 KHz sine wave. These signals are all summed together and frequency modulated onto a radio signal at many megahertz, such as 92.7 MHz for Fresh FM, or 101.5 MHz for my old station, Radio Adelaide.
(By the way, when we talk about “summing” or “adding” signals, it’s the same thing. It’s where you take the amplitude of each signal at a given point in time and simply add them together.)
On the receiver end, a simple mono FM receiver takes in the signal and demodulates it. All the content above 15 KHz or so is simply filtered out and you just get the (L+R) signal playing out of a single speaker. This is why stereo FM stations are backwards compatible with mono receivers.
Stereo receivers, though, work differently. Of course, they still demodulate the FM signal and take out the base (L+R) audio signal, but they don’t ignore the higher-frequency content of the signal. Instead, they are able to pick up the 19 KHz pilot tone from the signal, which indicates to them that the signal is actually a stereo one. The 19 KHz signal is internally doubled to generate a carrier signal at 38 KHz. This is mixed with the demodulated signal and is used to recover the (L-R) audio signal in time – or “in phase” – with the (L+R) audio signal. By adding the (L+R) and (L-R) audio signals together, you get a 2L signal, which is sent to the left speaker. Meanwhile, subtracting the (L-R) signal from the (L+R) signal creates a 2R signal which is sent to the right speaker.
OK Let’s Get Into The RDS That Let’s Your Radio Know The Song
Okay, so that’s all the audio figured out, but how is the RDS data sent? Well, a further 57 KHz tone is added on along with the (L+R), pilot tone, and (L-R) signals, before the combination of all four is frequency modulated and sent out as radio waves from the transmitter. That 57 KHz signal is amplitude modulated with the data in a scheme beyond the scope of our discussion here. In any case, the 57 KHz signal was chosen to sit safely above the 38 KHz difference signal, which has “sideband” content that extends +/- 15 KHz. With the encoding system used in RDS, it’s able to transmit data at 1187.5 bits per second, or just under 1.2 kBit/second. If you ever used a 56 kBit/s modem in the 90s, you’ll know that 1.2 kBit/s is not very fast at all. However, for sending a bit of text with song titles or station info, it’s more than enough.
In the above spectrogram posted to Reddit, we can see a breakdown of an FM stereo signal that has been demodulated/”decoded”. From 0-15 KHz, we see the (L+R) audio. At 19KHz, we see a spike for the pilot tone. Peaking at 38 KHz, we see the center of the (L-R) signal which spreads out roughly 15 KHz either side. And, centered on 57 KHz, we see the RDS signal.
So, we’ve established that one can send a little bit of data with our FM radio signal thanks to the magic of RDS. But what actual information does RDS send? Well, each RDS broadcast normally starts with a four-character hexadecimal number identifying the radio station, which the receiver can then compare with a list of receivable station ID codes. If the radio station being listened to is regional, the receiver may find another signal with that station identifier and switch to it once the originally tuned-into signal grows feeble from distance.
Beyond that, RDS data includes more information on a station’s style of programming. Have you ever seen a button marked “PTY” on a head unit and wondered what it does? It stands for “Program TYpe.” (But music can be a party too). Selecting PTY lets you sort radio stations by genre. Intriguingly, there’s very little overlap between global RDS program types and American RBDS program types. While PTY codes zero, one, and 31 are shared, the rest are all different as per the National Radio Systems Committee. Probably because formats like Top 40 and R&B weren’t massive concerns in Europe around the time of RDS’ first implementation.
Heck, when RDS was first implemented in Europe, category numbers 16 through 30 were blank, as seen in the table above. Obviously, this has since been rectified, but as you can see, European program types have never quite lined up with American program types.
Let’s move on from the PTY stuff.
Once we get past all the important PTY data blocks, we get to data blocks 2B, 3A and 4A in the table above (PTY is in the PT4 block). Now, 2B points to what blocks 3 and 4 consist of, and that could be up to 32 bits of text. Unless your local DJ is spinning, say, “I Slept With Someone In Fall Out Boy And All I Got Was This Stupid Song Written About Me,” that should be enough for many song titles and artists in one shot. If not, the string of text can be cycled out to display all the proper song information while providing a neat scrolling effect. Older radios with multi-segment LCD displays usually cycle-out text as they’re confined to a particularly short length of characters.
Mind you, expecting to receive song titles and artists as text doesn’t always work out. Some small and cash-strapped independent broadcasters just didn’t buy into RDS technology, and some radio stations simply can’t be bothered to cycle out their RDS text, instead just displaying the name and the callsign of the radio station. Then there’s the matter of things not translating across continents, because the global RDS is just different enough from the U.S. RBDS in implementation that RBDS data displayed through an RDS receiver might not look quite right. As told in a European Broadcast Union paper:
If urgent changes to the existing software are nevertheless to be made, the first thing to do would be to add recognition of offset word E and, if PTY is additionally implemented, the new table of US PTY codes will have to be used.
Ah yep, for several years, RBDS had several program types that just didn’t exist in Europe, and that “offset word E” business is about multiplexing with the Modified Mobile Search System that is basically irrelevant today. However, those are inconsequential problems when you consider how RDS reduces the chance you’ll miss the name of a new song.
These days, there’s a second way your car might know what song’s playing on the radio: it might be because the broadcast isn’t an analog FM signal at all. Welcome to HD Radio, a way of broadcasting digital and analog radio signals through the same bandwidth at the same time. Multiplexing FTW! What does this mean? If your receiver is purely analog, you get an old-school FM or AM signal. If you have a receiver capable of getting HD Radio, you get a stream of digital audio signal flowing at up to 128 kBit/s in some FM implementations. Oh, and broadcasters aren’t limited to just one HD channel for each station. As per HD Radio:
Let’s say your favorite local radio station is on 96.9FM. With HD Radio technology, that same station is being broadcast in digital sound on 96.9 HD1. Plus you can access all new content on up to three additional stations: 96.9 HD2, HD3, and HD4.
In addition to simulcasts and extra HD channels, HD Radio lets receivers pick up a whole lot more data, including tiny images sent out on the airwaves through HD Radio’s “Artist Experience” function. When I say tiny, I mean microscopic compared to current trends, as Xperi, the company that owns HD Radio, claims that “The images nominally have a resolution of 200 pixels by 200 pixels and a maximum file size of 24 kilobytes.” Still, what a leap forward.
Of course, terrestrial radio has been going out of fashion ever since conglomeration reared its ugly head and all stations started to fit into specific genres. For decades now, consumers willing to pay a bit extra have popped for iPods or satellite radio subscriptions. However, Apple’s canned the iPod and those coast-to-coast yet somewhat crappy sounding subscription-only satellite radio stations are rapidly falling out of favor due to the rise of streaming and cheap data plans. Yep, I’m one of those streaming people, and while I still buy physical media when I can, the convenience and curation of internet radio stations is second to none.
Mind you, if you’re sending Bluetooth streaming audio to a car’s head unit, it’ll still need a way to pull up track information. That’s where Gracenote comes in, the same brand of track-identifying technology used in iTunes and WinAmp. It’s built into all manner of cars from Toyotas to BMWs, is used for everything from radio to streaming, and it’ll likely continue to be key as some manufacturers ditch phone mirroring. More on Gracenotes in an upcoming article, because I know you’re all excited.
(Photo credits: DoulosBen – Own work, CC BY-SA 4.0, Nissan, Jaguar, EBU, Xperi, Gracenote)
Support our mission of championing car culture by becoming an Official Autopian Member.