An Introductory Project for Software Defined Radio
Learn how to listen to frequencies on the air with nothing more than a USB dongle: first FM radio, then voice signals.
There are two parts to this project. First, we’ll listen to FM radio stations: stations that you can get from tuning your car radio, for example. This will allow us to get acquainted with the software and get through the setup of the software-defined radio (SDR).
The second part of this project is a little more involved, but in the end we will be able to decrypt common live radio chatter. These frequencies are more dependent on your area—including highway departments, fire districts, and police dispatch. This is intended only for educational purposes and should not be used in any other activities.
Heads up before we get started: This tutorial is focused on the Windows operating system. Unfortunately, since this a software-intensive task, it may be a very different experience on a different OS. Please comment or email the author if you'd like a follow-up post for Linux or Mac operating systems.
What’s a Software Defined Radio?
Software defined radio is a type of RF system that utilizes software to perform tasks traditionally performed by hardware, such as generating or decoding baseband signals. This allows for more freedom in RF communication systems: Changing what your radio does becomes a matter of editing code instead of modifying hardware.
A software defined radio (hereafter referred to as SDR) must have a data converter (ADC for receive, DAC for transmit) and a processor that can run the necessary software.
There are many manifestations of the SDR and models that you can buy on the market. Since this is an introductory project, I will be using a low-cost dongle, the R820T2, which is linked in the requirements list below. This dongle can tune to receive signals on frequencies between 500 kHz and 1.7 GHz. This range encompasses a variety of broadcasting bands, including amateur radio, satellite, and common broadcasting bands such as music stations.
The board inside the R820T2 dongle. Image courtesy of Amazon.
By itself, the dongle is only a piece of an SDR. It has an RF receiver and an ADC, but it uses the computer it's connected to for signal processing. It's worth noting that this device is limited to receiving signals. Other devices, such as the HackRF and BladeRF dongles, provide the ability to also transmit on a wide range of frequencies—for a steep increase in price (these are available from $300-$650 per device).
It's also worth noting that transmitting signals may require special licensing. In the US, depending on the strength of your transmissions, you may be classified as a station, which requires an amateur radio license from the FCC.
Required Hardware and Software for Part One
- RTL-SDR R820T2 (~$25)
- SDR Sharp (free software available at http://airspy.com/download/)
- Zadig USB Driver Installer (free software available at http://zadig.akeo.ie/)
Recreating the FM Radio
Once you’ve plugged in your SDR dongle, wait for Windows to stop trying to automatically install drivers for the device. Make sure you’ve screwed in the antenna that came with the dongle. Without it, you won’t be able to pick up anything!
The simplest way to obtain the drivers for your dongle will be to use Zadig, which should automatically detect the proper drivers for your system. Make sure “List All Devices” is on under the Options menu, then select the RTL2838 in the dropdown menu. Zadig will select the driver you need and all you have to do is click the “Install” button.
Once you've got your drivers sorted out, it's time to download the SDR Software Package. It should be at the top of the page.
The SDRSharp download page at Airspy.com
Unzip the file you downloaded and save it in a memorable directory (you will have to navigate to this folder again in order to open the program). No further installation is required! Go ahead and open the SDRSharp application
Screenshot of our first use of SDRSharp
Upon first opening the application, it will look something like mine above. Most importantly, the default source is set to AIRSPY. In order to use the USB dongle, it’s necessary to change the dropdown (highlighted in the picture) and select “RTL-SDR (USB)”.
Next, click on the gear highlighted in red in the picture. This will bring you to a settings menu. Ensure that the correct device is in the drop-down menu. Then, select the highest available sample rate—without this, your signals will be lower resolution and you’ll pick up more noise.
Finally, increase the RF gain by moving the arrow to the right. It makes a big difference in the clarity of the signals you receive.
Now for the fun part! Let’s hear some live broadcasts.
Press the Play button to the left of the gear to start receiving signals. In most areas in the US, you’ll receive FM broadcasts around 90-100 MHz, so that’s a good place to start. Be sure to set your radio settings to receive WFM.
Listening to FM radio in SDRSharp
In my example screenshot above, you see clear peaks in the top window and a much darker spectrum reading where my cursor is. Each peak symbolizes one station’s signal. If you are getting poor signal quality, you can adjust your bandwidth setting. Hint: Try to get it to match the width of the signal. A smaller bandwidth should work, but if it’s much larger than the signal then you’ll get a lot of extra noise.
That concludes the first part of this project! If you had problems with any part of these settings, feel free to leave a comment or see if it’s been covered here: http://www.rtl-sdr.com/rtl-sdr-quick-start-guide/
If you want to explore more frequencies you can pick up with the SDR, I strongly recommend the Frequency Manager Suite add-on to SDRSharp. It includes features that greatly improve the user friendliness of SDRSharp with features like typing in the frequency you’d like to go to (instead of scrolling), as well as scanning frequencies to check for signals and scheduling. You can find the Frequency Manager Suite here: http://www.freqmgrsuite.com/
Disclaimer Before Part 2
Using the Digital Speech Decoder, we’ll be able to decode signals transmitted over public frequencies. These could include police dispatch frequencies, similar to how commercial police scanners work.
There are some legal restrictions to police scanners. For example, in NY, one isn’t allowed to have a radio that can directly receive these frequencies outside of one’s home (unless you have an amateur radio license). I am not a lawyer, so look into these things, yourself!
That said, in most places, this is not illegal. Just use your powers for good, okay?
Required Software for Part 2
- VB Audio Cable (free software available at http://www.dxzone.com/dx30470/vb-cable.html)
- Digital Speech Decoder DSDPlus (free software available at https://www.dsdplus.com/download-2/)
Homemade Dispatch Scanner
First, install the VB audio cable. Once installed, go to your Recording Devices. VB-audio virtual cable should appear as an option: make sure it is enabled.
Then, click on the properties for that device and go into the "Listen" menu. Make sure “Listen to this device” is checked, as shown in the picture below.
Virtual audio cable device settings. Check "Listen to this device"!
In SDRSharp, open the "Audio" section. Under the "Output" dropdown section, select the VB Audio Cable. This is illustrated in the following screenshot.
Setting up SDRSharp audio output settings. Use the virtual audio cable as the output!
We’re halfway there now!
Now we need the Digital Speech Decoder. Download the DSDPlus application and its DLLs (these are two separate downloads! Make sure you do both, or you won’t be able to run the program properly). After unzipping both, copy all the DLLs into the folder that DSDPlus is in.
Run DSDPlus. Then all you need to do is find your frequencies to listen to and start listening!
What frequencies do you need? Well, it’s going to vary based on your geographical location. The FCC requires that broadcasting organizations make these frequencies public. I found my frequencies by going to Radio Reference and looking in my geographical area.
What's Next for SDR?
This is only scratching the surface of what the SDR is capable of. With the wide range available, you can listen to NOAA weather radio broadcasts, aircraft and ship location broadcasts, and even receive images from satellites (if you have the right antenna)!
What will you do with your SDR? Be sure to comment or email the author at CMzDurham@gmail.com with questions, suggestions, and links to any images or video of your own projects!
There are plenty of further resources to explore the SDR enthusiast community.
- RTL-SDR.com is a great website that has tutorials, lists of compatible software, a wiki for identifying signals that you receive, and more—this is a great first stop!
- ARRL has a great compilation of online resources on the SDR here
- The Wireless Innovation Forum has a great series of articles on the SDR.
- Localized radio stations accessible via SDR are documented on this wonderful website, so be sure to see if there's a station near you!
- Great Scott Gadgets has an online video series on building SDR applications with the open source program GNU radio.
- Finally, look into High Performance SDR open source designs here.
Give this project a try for yourself! Get the BOM.