Introduction

Explore Software Defined Radio — by Wolfram Donat (3 / 30)

The Pragmatic Programmers
The Pragmatic Programmers
6 min readApr 28, 2021

--

👈 Acknowledgments | TOC | Materials Needed 👉

For several years in my travels online, I kept hearing and reading about SDR, or software-defined radio. It seemed interesting, but (at least at first) I didn’t have the time or motivation or learn more about it.

I gradually picked up a news item here or a Reddit post there, but I still didn’t know the details of SDR. All I knew for sure was that the topic was complicated and it allowed you to use your computer to pick up radio signals. Instead, I concentrated on more easily learned things like partial differential equations and making the perfect soufflé.

Then, not too long ago, I got an email from my editor. “Hey Wolf,” he wrote. “How would you like to do a book on SDR? Ever heard of it?” It was time to jump into the pool again, and this time I didn’t come out until I figured out just what the heck was going on in this weird mix of hardware, software, Internet, and radio waves and wrote it all down.

This book is the result. It’s all about how to use your computer or laptop to pick up radio signals from the earth and space using a fairly recent technology called SDR.

On the surface, receiving radio signals doesn’t seem like a big deal. After all, everyone’s familiar with satellite TV, right? Even before Dish Network and DirecTV made it commonplace, anyone with a few grand and a good view of the sky could erect a 2-meter satellite dish in their backyard, hook it up to their TV with an esoteric jumble of electronic bits and pieces, and enjoy watching Japanese television in their living room. The radio waves are there; it’s just a matter of receiving and decoding them.

In 1901 Marconi showed everyone how to communicate across the Atlantic using a high-powered device that produced electromagnetic waves — the first radio transmitter — and a huge antenna. Ham radio operators (named because professional radio operators thought these amateurs were so bad at tapping out Morse code, they must have hams where their fists should be) have been listening to signals for more than a hundred years. You can listen to NOAA’s Weather Radio on any FM radio that can access the lower end of the VHF (Very High Frequency) band, as well as any marine VHF transceivers and a number of weather radios sold commercially. You can tune into local police frequencies and hear everything from standard police chatter to forest fire information to breaking emergencies. You can listen to FM and AM broadcasts in your local area. I have a shortwave radio in my garage that can pick up stations around the world if the weather is right. And satellite TV receivers are now commonplace, to the extent that they compete with cable television in many areas.

But in our world, inexpensive commercial radio receivers are usually limited to one or two segments of the radio spectrum. I can purchase a police scanner, and learn how to use it and what frequencies are being used by law enforcement agencies in my local area, but the police scanner may not be able to pick up the NOAA weather broadcasts. And the weather radio probably can’t tune in the ham radio frequencies. And a ham radio probably can’t get my local Top 40 station. Wouldn’t it be great if there was an electronic device you already owned that could be trained — dare we use the word programmed — to tune into different frequencies all across the radio spectrum?

Enter SDR.

SDR, or software-defined radio, is the technique of using a small receiver — most often a repurposed USB TV device — to tune in and listen to radio broadcasts at various frequencies. Advances in microcircuitry and software make it possible for many of the functions of multi-band radios to be handled programmatically. The result? You can use your laptop to listen to the police scanner, or local radio stations, or even (and this is where it gets really cool) download and see satellite images from various satellites, including some of the NOAA weather satellites.

What exactly is needed to do all of this cool stuff? At the bare minimum, you’ll need a computer with a sound card or other ADC (analog-to-digital converter), an SDR unit (usually a USB dongle), and an antenna. Thanks to advances in technology, assuming you already have a desktop or laptop computer with fairly standard capabilities, you can pick up the necessary SDR equipment that will enable you to listen to quite a wide range of signals for less than $50. You can also use a Raspberry Pi to do all of this, meaning that an entire SDR setup can be built for under $100.

Most computers and laptops have an onboard sound card, and higher-end ones may have a stand-alone ADC board, depending on what the computer is being used for. In my experience, the standard integrated sound card on even a low-end laptop is perfectly capable of processing the signals correctly.

The USB dongles used are usually those designed to receive and decode high-definition digital television broadcasts, though the slowly rising popularity of SDR and its growing number of enthusiasts has led to several of these devices being specifically made for — and marketed to — the software-radio crowd.

The antenna is the final piece in the SDR puzzle that can cause some headaches: which antenna do you use? What shape does it have to be? How big? And where do you point it? I’ll go through each of these questions and a few of the possibilities available to you when it comes to picking out or building an antenna in the chapter on antenna theory, but you may be comforted by the fact that you can use an old-school set of rabbit ear antennas without too much modification being necessary.

Software-defined radio itself is pretty easy with today’s technology; in fact, I think that the most difficult thing about it is figuring out exactly what you can do and what you can’t based on the equipment you may happen to have. Because so much of each SDR installation is custom made — you select the software you will use, which antenna, which USB dongle, and so on and so forth — it can be difficult to match your configuration to a known-good working configuration. If your setup matches another exactly except for the version of software being used, it’s entirely possible that your setup will fail while the other one will receive all sorts of signals without a problem. A lot of information is available on the Internet, but there seems to be a scarcity of getting-started guides that walk you through the process from start to finish. In addition, the information that is out there is widely scattered. If you’re interested in getting started with this interesting hobby, you’re stuck reading five-year-old blog posts, poring through subreddits, and trying to interpret poorly written documentation for software packages that stopped being actively supported back in 2013.

I hope this book helps you, the reader, to find your way through the maze of information out there, figure out what exactly you want to do, and show you how to do it with a minimum of fuss and cursing — I did that part for you, at least. Ready? Let’s get started!

👈 Acknowledgments | TOC | Materials Needed 👉

Explore Software Defined Radio by Wolfram Donat can be purchased in other book formats directly from the Pragmatic Programmers. If you notice a code error or formatting mistake, please let us know here so that we can fix it.

Unlisted

--

--

The Pragmatic Programmers
The Pragmatic Programmers

We create timely, practical books and learning resources on classic and cutting-edge topics to help you practice your craft and accelerate your career.