csdr will rock your world ...

csdr will rock your world ...

Author: Onno (VK6FLAB) October 3, 2020 Duration: 5:13
Foundations of Amateur Radio

When you start playing with software defined radio, you're likely to begin your journey using something with a display that shows you a lovely waterfall, gives you a way to pick out a frequency, decode it and play it over your speakers all over the house. Likely your first effort involves a local FM radio station. These graphical tools come in many and varied forms available on pretty much anything with a display. Tools like SDR#, cuSDR, fldigi and WSJT-X.

That can be immensely satisfying as an experience.

Underneath the graphics is software that is essentially translating an antenna voltage to a sound, in much the same way as that happens in an analogue radio. There are the parts that get the signal, then they get translated and filtered, translated some more, decoded, and eventually you have sound coming from your speakers.

During the week I caught up with a fellow amateur who pointed me at the work of Andras HA7ILM who for a number of years has been quietly beavering away making various tools in the SDR landscape.

One of those tools has the innocuous name of "csdr", a command-line software defined radio digital signal processor. It started life on November 1st, 2014 and has had many updates and community changes since.

This tool has no graphics, no user interface, nothing visible that you can toggle with a mouse and yet it's one of the coolest tools I've seen in a long time and from a learning perspective, it's everything you might hope for and then some.

Before I explain how it works, I need to tell you about pipes. They're much like water pipes in your home, but in computing they're a tool that allow you to connect two programs together so you can exchange data between them.

One of the ways that you can think of a computer is a tool that transforms one type of information into another. This transformation can be trivial, like say adding up numbers, or it can be complex, like filtering out unwanted information.

The idea is that you take a stream of data and use a pipe to send it to a program that transforms it in some way, then use another pipe into another program and so on, until the original stream of numbers has become what you need them to be, creating a transformation pipeline with a string of programs that sequentially each do a little thing to the data.

That stream of data could be numbers that represent the voltage of the signal at your antenna and the final output could be sound coming from your speaker.

If you were to take that example, you could use one tool that knows how to measure voltage, pipe that to a tool that knows how to convert that into FM and pipe that to a tool that knows how to play audio on your speaker.

Converting something to FM is, in and of itself, a series of steps. It involves taking the raw numbers, extracting the part of the samples that are the station you want to hear, decoding those and converting that into something that is ready to be played on your speakers.

This process is fundamentally different from using a so-called monolithic tool that does everything behind the scenes. The person writing the software has decided what to do, how to do it, in what order and in what way. If you want to do something that the author hadn't thought of, like say listening to a new type of broadcast, you'll be waiting until they update the software.

In another way, this is the difference between making a cake from raw ingredients and buying it up the road at the shops

One final part of the puzzle.

There's nothing preventing you from piping the output of your program to another copy of the same program.

So, if you had a tool that knows how to do the maths behind filters, AM and FM decoding, translating Lower Side Band into Upper Side Band and vice-versa, band filtering, etc., you'd be able to set up individual steps that translate a signal, one step at a time, from raw antenna data into a sound you can hear. You would have all the building blocks for the fancy tools that you are used to.

csdr is such a tool.

For example, it knows how to set the gain of a signal, how to up and down sample, how to shift frequencies, how to decode them, it knows about RTTY, PSK, AM, FM and do about a hundred other things.

So far I've mentioned decoding, but there's nothing stopping you from starting with plain text, piping that into csdr and converting that to a PSK31 audio signal and transmitting that audio on your radio.

To make it even better, because it's so modular, you can look at the math behind what's going on and begin to understand what's happening behind the scenes.

Of all the tools I've found in the past decade, I have to confess, this is the one that has stopped me in my tracks.

Thank you to Randall VK6WR for introducing me to this tool and to Andras HA7ILM for writing it.

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: English Episodes: 579

Foundations of Amateur Radio
Podcast Episodes
What's in an S-unit? [not-audio_url] [/not-audio_url]

Duration: 10:43
Foundations of Amateur Radio The other day fellow amateur Randall VK6WR raised an interesting question. Using his HP 8920A RF Communications Test Set, which you might recall from our adventures in measuring radio harmoni…
Where is the spark .. gap? [not-audio_url] [/not-audio_url]

Duration: 8:35
Foundations of Amateur Radio The thing I love most about this amazing hobby of amateur radio is the sheer size of the community and the depth of knowledge that comes with it. Case in point, the other day I mentioned the…
Bald Yak 18: Everything Everywhere All at Once? [not-audio_url] [/not-audio_url]

Duration: 7:02
Foundations of Amateur Radio The other day I was playing around with RDS, or Radio Data System, it's a digital signal that's often embedded in a commercial broadcast FM transmission. Among other things it contains inform…
Bald Yak 17: Adventures in Radio Data Systems [not-audio_url] [/not-audio_url]

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. Dependin…
Bald Yak 16: How do you decode FM? [not-audio_url] [/not-audio_url]

Duration: 6:51
Foundations of Amateur Radio How do you make a hole? That's a pretty straightforward kind of question, and by the time this sentence is finished, there's going to be at least as many answers as people who considered it.…
One step forward ... three steps back. [not-audio_url] [/not-audio_url]

Duration: 5:38
Foundations of Amateur Radio Still excited from my minor victory in discovering a missing puzzle piece associated with the project I'm working on, I spent the past week introducing my head, if not literally, at least fig…
Bald Yak 15, Playing with Radio .. now with software [not-audio_url] [/not-audio_url]

Duration: 6:48
Foundations of Amateur Radio A little while ago I discussed a lovely article by programmer, artist, and game designer "blinry" called "Fifty Things you can do with a Software Defined Radio". This week it occurred to me t…
How to go about documenting your setup? [not-audio_url] [/not-audio_url]

Duration: 5:22
Foundations of Amateur Radio How to go about documenting your setup? Possibly the single most important thing that separates science from "fiddling around" is documentation. Figuring out how to document things is often n…
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…