RTL-SDR Tutorial: Decoding DRM Radio

April 20, 2013 admin

Digital Radio Monodial (DRM) radio is a type of digital shortwave radio signal that is used by international shortwave radio broadcasters. It provides superior audio quality compared to AM signals by using digital audio encoding. With an upconverter, good antenna, and decoding software the RTL-SDR software defined radio can receive and decode DRM signals.

This tutorial is also applicable to other software defined radios that can receive HF with or without an upconverter, such as the HackRF, Airspy, Softrock and Funcube dongle.

Examples of DRM Decoding

YouTube user Superphish shows DRM reception with his Ham-it-up upconverter, and rtl-sdr.

YouTube Video

YouTube user vu2ufg shows another example of DRM reception with the RTL-SDR.

YouTube Video

Tutorial: How to Receive and Decode DRM Signals

To receive DRM with RTL-SDR, you will need the following:

  1. An RTL-SDR dongle working with SDRSharp.
  2. An HF upconverter such as the Ham-it-up, or a dongle modded for direct sampling, or SDR# modded to use the experimental Oliver Jowett HF driver.
  3. The DREAM DRM decoding software with AAC decoder.
  4. Virtual Audio Cable or VB-Cable.

We will assume you have a rtl-sdr dongle with HF upconverter, and have set it up with SDRSharp and an audio piping utility such as Virtual Audio Cable or VB-Cable which allows the audio to be passed from SDRSharp to the decoding software. If you have not set these up, check out the Buy RTL-SDR and Quickstart pages, and head to the virtual audio cable download page (trial), or the VB-Cable download page (free).

The sampling rate of your audio piping method must be set to 48000 samples/sec. To set this in Windows, right click your device in the Windows sound recording tab, go to properties and under the advanced tab, set the sample rate to 48000 Hz. Do the same to the same device under the Playback tab as well.

Sound Properties

Now, head to the DREAM download page, download DREAM and extract the zip file into a folder. DREAM is a free opensource DRM decoder.

Due to software licence reasons the required audio decoder can not be shipped with the DREAM binary file. You can follow the instructions on the download page to compile your own faad2_drm.dll decoder, but as not everyone has compilation experience, a precompiled faad2_drm.dll download for windows can be found at this megaupload link. Note that using this file in some countries may not be legal due to patent laws. Place the faad2_drm.dll file into your DREAM folder.

Now you can open SDRSharp, set virtual audio cable as the output audio device, and then tune to a DRM signal. DRM signals use upper side band (USB), and have a bandwidth of 10 kHz, so apply these settings to SDRSharp as well. Carefully align the left red line with the start of the signal. AGC can be left on, but it may need to be experimented with in order to get the best decoding performance. You should also experiment with the filter order. I have usually found a large filter order of 100+ to work well as this helps to remove noise from nearby interfering signals.

A DRM signal looks like this (left) on the waterfall, placed next to a normal shortwave AM signal (right).

DRM Signal Example

Now, open DREAM and then go to Settings -> Sound Card -> Signal Input -> Device and set Virtual Audio Cable or VB-Cable as the input device. Also, ensure that Settings -> Sound Card -> Signal Input -> Sample Rate is set to 48000 Hz.

DREAM Audio Settings

Try to get the green “Level [dB]” bar in DREAM to be near the center by adjusting the volume settings in SDRSharp. If everything is set up correctly, you should see three green bars underneath the volume meter and start seeing information about the DRM radio station you are tuned to in the window, and also begin to hear some audio.


Some Tips:

  • To receive DRM signals you will need a good HF antenna, placed up high. A simple long wire strung across your attic may work well. Look up “random wire antenna”. Also a magnetic loop antenna may be a good choice.
  • RTL-SDR tends to place imaged broadcast AM signals into some DRM signals. This can cause decoding to completely fail. We suggest trying a HF filter that blocks the AM broadcast band.
  • If you hear no audio when decoding, check that you have placed faad2_drm.dll into the DREAM folder correctly.
  • DRM is a digital signal, so it will either work and play audio or it will not work at all. Poor reception may cause the audio to constantly drop out.

If you enjoyed this tutorial you may like our ebook available on Amazon.

The Hobbyist’s Guide to the RTL-SDR: Really Cheap Software Defined radio.

The post RTL-SDR Tutorial: Decoding DRM Radio appeared first on