Decoding Digital Modes with Software Defined Radio


In previous posts I’ve showed how to build a network accessible SDR server and tested SDR client applications running on Linux, Mac OSX, and Windows. While hearing shortwave broadcasts, trans-atlantic aviation, and Amateur Radio conversations are interesting, there are a number interesting digital mode signals to tune into. The challenge is decoding them.

Some SDR applications have plugins to facilitate decoding but may have complex dependencies tp be pre-installed/comfigured (SDR# comes to mind.)  For this post I am going to focus on decoding the more popular digital modes you will find on HF by piping audio-out from from the SDR application to audio-in on a decoder application.


Let’s start with the software applications we will be using and then with how piping audio from one to the other is done. We will stick with using cross-platform applications for Linux, Mac OSX, and Windows.


CubicSDR will be our SDR application of choice. A previous post of mine goes into how to install it across platforms. It doesn’t matter whether you follow the client/server use model I run with or connecting a RTL-SDR dongle directly to your machine with the SoapySDR drivers, decoding digital modes is the same since we are working with the audio out of the SDR application.


The digital modes you most readily find and able to decode on HF are used in Amateur Radio. Fldigi is comprehensive in the range of digital modes it is capable of decoding and is available on Windows, Linux, and OSX. In essence, Fldigi allows your soundcard to be used as a modem for receiving an sending a range of digital modes. Since RTL-SDRs are not transmitters, we will be receiving only.

You can download the Windows or Mac OSX versions and run to install. For Linux releases, search and install Fldigi from your distribution repository.

First time you run Fldigi you will be walked through the installation wizard. If you have an Amateur Radio license, answer the relevant files in the questions presented. Otherwise leave callsign blank and click next through the wizard screens insuring at the Audio Device screen PortAudio is checked and the relevant sound card is selected.

Piping Audio

To pipe audio-out from one application to audio-in of another application we need to setup an intermediate sound interface. In Windows you will find a hidden recording device called “Stereo Mix” that can be used. The RTL-SDR site provides easy instructions on how to enable the hidden device under Windows 7. For Linux there is a hidden device called “Built-in Audio Analog Stereo.”

Setup and Use

In the following example, we run CubicSDR and use FLdigi to decode CW tapping the audio out from CubicSDR via the “Built-in Audio Analog Stereo” interface.

  • Start Cubic SDR, set mode for LSB, and tune in a CW signal. Good places to find these are in the Amateur Radio Bands around 3500-3550 KHz and 7000-7050 KHz.

CubicSDR tuned to CW on 80 meters

  • Start Fldigi, select CW under Op_Mode, and select a CW signal from the waterfall

FLdigi tuned to CW Signal

  • Start PulseAudio Volume Controller by running pavu from a terminal session (if necessary.)
  • Check Playback is set for “Built-in Audio Analog Stereo”

  • Check recording tab and insure Fldigi connecting with “Monitor of Built-in Audio Analog Stereo”

  • You should hear audio out of CubicSDR as well as see Fldigi decoding CW stream.

CubicSDR and FLdigi

Other Digital modes

CW is arguably the original digital mode. Other popular modes found on HF that Fldigi can decode include RTTY and PSK31. You should be able to find these signal on 3545-3590 KHz and 7045-7090 KHz as well as elsewhere on HF. Here is one site that provides samples of various digital modes and where they can be found. Note you may have to find other digital mode decoding software for modes Fldigi does not support.

For what it’s worth

– Joe, NE2Z





This entry was posted in Amateur Radio. Bookmark the permalink.

2 Responses to Decoding Digital Modes with Software Defined Radio

  1. Eric Schaefer says:

    can you describe a simple mod to the RTL2832 that will allow it to tune below 24 MHZ? I read there is a hardware mode using a jumper from the sma connector to pin 1 and also a software mod. I have never actually seen anything published that was successful. Also do you have any info on installing Cubic SDR on Mac PC or Linux Mint? I was unable to find a good download that worked on any platform. My aim is to decode DRM.

  2. joe says:

    Hi Eric,

    I saw the hardware mods too. Given the newer dongles can do it with software and their cheap I opted to save myself the aggravation. See my earlier post on the kit I chose as well as my other post on CubcSDR.

Leave a Reply

Your email address will not be published. Required fields are marked *