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
Monitoring radio spectrum around you [not-audio_url] [/not-audio_url]

Duration: 5:37
Foundations of Amateur Radio Previously I've talked about using radio spectrum monitoring to detect lightning to potentially protect your equipment. This triggered an email from Nick VA3NNW, who pointed out that AM demod…
Global Ionospheric Maps [not-audio_url] [/not-audio_url]

Duration: 6:26
Foundations of Amateur Radio In the middle of the night when insomnia rears its head, there are occasions when an idea sprouts that is still with me the next day. I imagined a spinning globe that shows ionospheric propag…
It's all in the community [not-audio_url] [/not-audio_url]

Duration: 5:07
Foundations of Amateur Radio Over the weekend I had the opportunity to participate in two completely different community events, one aimed at an amateur radio audience, the other at the general public. Every year, severa…
Lightning in a bottle [not-audio_url] [/not-audio_url]

Duration: 4:09
Foundations of Amateur Radio The other day I heard a thunderclap and as is my Pavlovian response, immediately ran to my shack to disconnect the antennas from their respective transmitter and transceiver. I added a diary…
Radio .. for the love of it [not-audio_url] [/not-audio_url]

Duration: 3:07
Foundations of Amateur Radio During the week I was shown a photograph of a chalkboard standing on the sidewalk with one of those "Thought of the Day" quotes on it. Credit aside, since I've been unable to confirm it, desp…
Give yourself a break! [not-audio_url] [/not-audio_url]

Duration: 3:28
Foundations of Amateur Radio Over the past weeks, actually, probably months, the push to talk button on the radio I use for my weekly discussion net has been acting up. In the middle of an over it would sometimes cut-out…
Emergency response reality check [not-audio_url] [/not-audio_url]

Duration: 10:00
Foundations of Amateur Radio Recently I explored the nature of amateur radio emergency response. I received a few replies providing an insight into the on the ground reality and it encouraged me to dig into this a little…
An emergency response [not-audio_url] [/not-audio_url]

Duration: 5:04
Foundations of Amateur Radio Previously I've talked about one of the often lauded cornerstones of the amateur radio community, namely Emergency Response, and to be frank, I questioned then, as I do now, the reality of th…
CME, Wind, Flares, Flux and Geomagnetic Storms .. say what? [not-audio_url] [/not-audio_url]

Duration: 10:00
Foundations of Amateur Radio When the Sun burps, something that it does regularly, the mainstream media starts talking about aurorae and optionally the end of the civilised world, not always as clinically as that. What's…
The power of patience and pacing [not-audio_url] [/not-audio_url]

Duration: 4:29
Foundations of Amateur Radio One of the more, let's call it challenging, skills to learn in amateur radio is the pace of the process. For many new amateurs I meet, face-to-face, on-air or online, the excitement to get st…