Bald Yak 17: Adventures in Radio Data Systems

Bald Yak 17: Adventures in Radio Data Systems

Author: Onno (VK6FLAB) March 21, 2026 Duration: 5:01
Foundations of Amateur Radio

While spending some quality time discovering what I don't know about GNU Radio, I explored the notion of attempting to at least understand a little more about how an FM signal works. Depending on your background, the letters FM mean different things. In amateur radio it's a way to encode information, generally audio, using something called frequency modulation. Outside the hobby, the letters point at commercial broadcast radio.

While the two are related, they're not the same thing.

In amateur radio use, FM is a single channel of mono-audio, however, in commercial broadcast radio, there's a whole lot more going on, interesting because it gives you ready-made access to a composite signal that's just complicated enough to be challenging without being so complex that you need to spend hours on understanding the thing.

In essence, a commercial FM broadcast signal is multiple channels encoded in a specific and documented way. This is helpful, since you can compare the documentation against ready made examples and replicate the process for yourself.

In case you're new here, I'm in the process of building a radio system, in software, using GNU Radio in a project called Bald Yak. Specifically, the Bald Yak project aims to create a modular, bidirectional and distributed signal processing and control system that leverages GNU Radio. It's called Bald Yak because by the time I'm done, the Yak is likely well and truly shaved.

One of the easy things to forget when you're using GNU Radio Companion, is that the blocks you're connecting together on the screen into a flowgraph actually represent software, generated when you either build or run the flowgraph. This code is currently generated in either Python or C++, making me wonder, what does the code look like, and more specifically, what code would be needed to decode FM?

It turns out that an old friend, the PySDR.org website has a whole chapter dedicated to this process. Chapter 18, the End-to-End Example, details how you can decode one of the channels embedded within a commercial FM broadcast, the RDS or Radio Data System signal.

If you're not familiar, the PySDR.org website represents a whole book about software defined radio and python. It goes into as much or as little detail as you want, to explain how this whole software malarkey works, and takes you by the hand down the path of discovery.

So, armed with a working example, I followed along the bouncing ball and made a working RDS decoder and I think, understood most of it. There's a few interesting wrinkles that I've contacted the author, Dr. Marc Lichtman, about and we'll see what comes of that.

Here's the kicker.

The author, who is also a senior member of the GNU Radio team, started with a GNU Radio flowgraph and reverse engineered what was happening to get to the point of the code that's available in PySDR.org Chapter 18. This is significant because it creates a relationship between the code I have in front of me and the code generated by GNU Radio, which means that when I start with a new flowgraph, not only do I know the steps required, I also know that the outcome is predetermined, as-in, I already know that there's a solution. Having professionally written software for over 40 years, I can tell you that this is not often the case.

I realise that I can search the Internet for an RDS decoder flowgraph, but that's unlikely to get me to a better understanding of what GNU Radio is doing.

Once I've clarified with the author, I'll add the code to my GitHub project, "Fifty Things you can do with a Software Defined Radio", specifically, "Receive road traffic information", since among other things, that's carried by RDS.

As an aside, Rohde and Schwarz have a lovely YouTube video on the topic, "Understanding the Radio Data System", which is giving me a whole set of ideas about things we might attempt with amateur radio repeaters, but that's a story for another time.

Meanwhile, have you considered what other signals exist on the RF spectrum that you might want to decode and how you'd go about this?

I'm Onno VK6FLAB


For anyone curious about the crackle of a distant voice emerging from the static or the thrill of making a contact across the globe using nothing but radio waves, Foundations of Amateur Radio offers a friendly, steady guide. Hosted by Onno (VK6FLAB) from Australia, this long-running podcast acts as a companion for newcomers navigating the initial, often overwhelming, steps into this vast hobby. Each episode deliberately unpacks a single facet of amateur radio, breaking down technical concepts, equipment, and operating practices into digestible pieces. You'll hear practical advice on how to get started, find your place within the global community, and discover which of the hobby's countless avenues-from building antennas to satellite communication or emergency service-might spark your passion. It’s not about dry theory; it’s about demystifying the process and sharing the genuine rewards that keep enthusiasts engaged for a lifetime. Having evolved from its earlier incarnation in 2011, this podcast builds from the ground up, week by week, creating a solid resource that grows with you. Tune in for a down-to-earth conversation that makes the airwaves feel a little more accessible and a lot more inviting.
Author: Language: en-au Episodes: 50

Foundations of Amateur Radio
Podcast Episodes
Transmitting into a dummy load .. for a year .. on purpose. [not-audio_url] [/not-audio_url]

Duration: 8:34
Foundations of Amateur Radio Just under a year ago I started an experiment. I set-up a beacon for WSPR, or Weak Signal Propagation Reporter, transmitting at 200 mW into a dummy load using eight bands between 80m and 10m.…
How to become a radio amateur today? [not-audio_url] [/not-audio_url]

Duration: 6:02
Foundations of Amateur Radio The other day a fellow amateur revealed that they qualified for membership of the QWCA, the Quarter Century Wireless Association .. twice over .. there may have been some innocent whistling i…
Building a shack: Part 8 - Will it ever end? [not-audio_url] [/not-audio_url]

Duration: 3:45
Foundations of Amateur Radio Building a shack makes a number of assumptions about your situation and to make it abundantly clear, it's not the only way to enjoy the hobby of amateur radio. Visiting clubs locally and remo…
Building a shack: Part 7 - Powering your shack [not-audio_url] [/not-audio_url]

Duration: 8:15
Foundations of Amateur Radio On your amateur radio journey, you'll likely discover that many transceivers run on 13.8 volt DC, give or take. For example my FT-857d requires 13.8 volt plus or minus 15 percent, with a nega…
Building a shack: Part 6 - Noise [not-audio_url] [/not-audio_url]

Duration: 8:05
Foundations of Amateur Radio Noise la la la la la hinders if I were a rich man effective a noise annoys an oyster communication but a noisy noise annoys an oyster more. Or said differently, when you're trying to communic…
Building a shack: Part 5 - Antenna Shenanigans [not-audio_url] [/not-audio_url]

Duration: 5:40
Foundations of Amateur Radio Putting your station together is best described as a juggling act, since you'll discover that everything depends on everything else and the more you plan, the more you learn and the more vari…
Building a shack: Part 4 - coaxial cable alternatives [not-audio_url] [/not-audio_url]

Duration: 5:55
Foundations of Amateur Radio When you start the process of getting your hobby off the ground, either for the first time, or after a hiatus, you might be left with the impression that the only way to "do amateur radio" is…
Building a shack: Part 3 - the ingress of coaxial cable [not-audio_url] [/not-audio_url]

Duration: 9:40
Foundations of Amateur Radio One of the potentially trickier aspects of putting together your shack is connecting the radio to the antenna. On the face of it, the challenge is limited to making sure that you have mating…
Building a shack: Part 2 - How much space do you need? [not-audio_url] [/not-audio_url]

Duration: 7:27
Foundations of Amateur Radio When you start on the journey of putting together a shack, in whatever form that eventually takes, you'll need to figure out how much space is required. Of course, no matter what you choose,…
Building a shack: Part 1 - Setting the Scene [not-audio_url] [/not-audio_url]

Duration: 7:21
Foundations of Amateur Radio Recently it occurred to me that I haven't been using HF in my shack for much longer than I'd care to admit. Over the years I've spoken about my shack and how it's set-up, more on that shortly…