Category: Broadcast Radio

QIRX SDR Updated: Legacy DAB, DAB Transmitter Identifications and more

Back in May of this year we posted about QIRX SDR, which back then was a brand new multimode SDR program compatible with the RTL-SDR. One of its defining features is that it has a built in DAB+ decoder. Recently QIRX SDR has been updated to version 0.9.1, the new features are quoted below:


  • Updated Documentation
  • Device Frontend: Manual Center Freq. Correction in kHz
  • Waterfall Spectrum
  • Raw Recording: Playback Control, for a timed positioning (“seek”) in “arbitrary” large (GBytes) recorded raw files.


  • Legacy DAB, intended for users where DAB+ is not generally available, like in the UK or Spain. As this could only be superficially tested here in Germany (no standard DAB any more, I used some raw samples recorded in Madrid), I would be very interested in feedback of users about it.
  • Synchronization of raw files recorded with central frequency offset
  • Enhanced manual synchronization control, mainly for tests in mobile environments
  • Detection of the Transmitter Identifications (TII). However, as this is a feature only useful for specialized applications, it is not included in the distribution. To my knowledge, qirx is the only DAB SDR having this feature.

Some Bug fixing.

The QIRX team have also added a new Quickstart Guide to help users get set up with their software quickly. In addition QIRX author Clem also writes that the QIRX software will be demonstrated during this weekends Ham-Radio fair in Friedrichshafen, Germany.

QIRX SDR Updated
QIRX SDR Updated

Android App Aerial TV Banned from Google Play – Now Available on Amazon

Aerial TV is an Android app that allows you to watch DVB-T TV with an RTL-SDR on a mobile device. We posted about Aerial TV back in April and it was available on the Google Play store back then. Unfortunately Aerial TV has recently been banned from the Google Play store as apparently the app can be used to display copyrighted material from TV. The author writes the following on a Facebook post:

Google Play has suspended Aerial TV due to “[Aerial TV] claims to provide copyrighted contents from TV channels”. According to Google apps that display live TV are of “questionable nature”. I am trying to clarify what they mean. I would like to apologize to all affected users. If you have any concerns, feel free to get in touch with Google directly.

This is quite odd and probably a mistake. But if you are looking for Aerial TV it is now available on the Amazon app store with a current 35% discount. If you bought the app on the Google Play store then to get new updates you will need to uninstall it, contact the developer for a refund, and then purchase it again on the Amazon store. More info about that is available on the Facebook page. Updates about it’s availability will always be provided on the official website at

Decoding and Listening to HD Radio (NRSC-5) with an RTL-SDR

HD Radio is a high definition terrestrial digital broadcast signal that is only used in North America. It is easily recognized by the two rectangular blocks on either side of a broadcast FM station signal on a spectrum analyzer/waterfall display. Since HD Radio uses a proprietary protocol, finding a way to decode it has been difficult and so this signal has been inaccessible to SDR users for a long time. Back in February of this year we posted about Phil Burrs attempt, where he was able to create a partial implementation (up to layer 2) of the HD Radio standard, but didn’t get far enough to decode any audio in layer 3.

However, now cyber security researcher ‘Theori’ has created a full RTL-SDR based decoder for the HD Radio protocol. In his post Theori explains that the HD Radio system is split into three layers. Layer 1 finds the signals and does decoding and error correction. Layer 2 is a multiplexing layer, which allows various layer 3 applications to share the bandwidth. Layer 3 is the audio data layer. In his post he explains how these layers work in detail. 

One of the main findings was the discovery of the audio compression codec. Theori found that the codec was essentially HE-AAC with some minor modifications. The modifications were minor enough that he was able to adapt the open source FAAD2 library for HD Radio audio decoding.

Theori’s code is open source and available on GitHub. The code includes the patch to modify FAAD2 for HD Radio and it is automatically applied during the build. A sample file for testing the decoder is also provided and we tested the decoder with the sample and it worked well. The decoding can also be performed in real time and examples of that are also on the git readme.

HD Radio Spectrum
HD Radio Spectrum

DAB/DAB+ Decoder Software “” Now Available on Android

Back in March of this year we posted about “”, a DAB/DAB+ decoder that supports the RTL-SDR and other SDRs like the Airspy. It was available for Windows, Linux and Raspberry Pi 2/3.

Albrecht Lohöfener, the author of has recently written in to announce that is now available for Android as well. The app appears to be free, but is currently marked as beta, so there may still be a few bugs.

The only other app that we’ve seen which is capable of decoding DAB/DAB+ on Android is Wavesink. Wavesink costs $14.90 USD on the Google Play store, but there is a free trial version available with runtime limitations and no DAB+ support.

Albrecht notes that the app is fairly computationally intensive and will require an Android device with at least 4 cores and a clock speed of 1.3 GHz to run the app. He also mentions that they are also looking for any interested developers and translators to help with development of the app. on Android on Android A New RTL-SDR & Airspy DAB/DAB+ Decoder Available for Windows/Linux

Thanks to Albrecht Lohofener for submitting to us his new software package called ‘’ which is a free DAB and DAB+ decoder and player that supports the RTL-SDR (directly or also via rtl_tcp) and Airspy software defined radios. The software can be run on both Windows and Linux, and also supports Raspberry Pi 2/3 and cheap Chinese Windows 10 tablets.

Albrecht writes that his software is a fork of the qt-dab codebase, with the development goal being to create an easy to use DAB/DAB+ software receiver. The software is still under heavy development, and Albrecht mentions that he is looking for fellow developers and testers to help improve the software and report any bugs. Albrecht writes:

I’m proud to introduce a new open source DAB/DAB+ reception application is a fork of qt-dab (old dab-rpi and sdr-j-dab) with the goal to develop an easy to use DAB/DAB+ reception application. It supports high DPI and touch displays and it runs even on cheap computers like Raspberry Pi 2/3 and 100€ China Windows 10 tablets. As input devices supports rtlsdr and airspy.

Currently daily Windows binary builds are available over on the projects GitHub. For Linux and Raspberry Pi users you’ll need to compile the code from source, but in the future he plans to provide Ubuntu snaps.

We gave the software a brief test and it ran as expected. There is an automatic channel scan feature which scans through all the possible DAB channels and an advanced mode for seeing technical information such as the frequency, SNR and error rates. The software also has a nice touchscreen friendly GUI which automatically downloads and displays the DAB/DAB+ program guide information. DAB/DAB+ decoder for the RTL-SDR and Airspy. DAB/DAB+ decoder for the RTL-SDR and Airspy.

First Steps Towards Decoding HD Radio

Programmer Phil Burr wrote in and wanted to share his newest code which is a partial implementation (no audio) of the iBiquity IBOC HD Radio standard. HD Radio is a proprietary broadcast radio protocol and is used only in North America. You may have noticed it before as the rectangular sidebands on the spectrum which surround standard analogue broadcast FM signals.

The audio codec specifications are not public and is thus not implemented here, so this code has very little use outside of being a good learning tool. But Phil does write that if anyone if able to figure out how to decode the codec, then this code may be a good starting point.

Phil writes:

I wrote this because I wanted to learn about digital broadcasts. Despite the fact that the audio codec used is iBiquity’s proprietary HDC codec, I decided that writing a receiver that could decode the air interface would be a great learning experience.

iBiquity’s HDC codec is supposedly based upon some of the same technologies as HE-AAC codec so it may be possible for some audio codec gurus, given access to the raw HDC audio packets, to write a decoder for the codec.

The receiver is somewhat limited. It only decodes FM MP1 profile transmissions (which happens to includes every IBOC FM transmitter in my area). It is also somewhat limited in the Layer2 packet demultiplexing. It likely needs a strong signal in order to decode signals reasonably well. However it is just enough to get access to the main program stream.

HD Radio Sidebands Visible on the Spectrum
HD Radio Sidebands Visible on the Spectrum

A Tutorial on Using RTL-SDR with LabView: Creating a Simple FM Demodulator

LabView is a popular visual programming environment often used in industry and by engineers for test, automation and control applications. It is somewhat similar to GNU Radio in that programming is done by connecting a series of various blocks together, each of which performs some function. The RTL-SDR is compatible with LabView via a simple RTL-SDR interface.

Recently Albert Lederer wrote in to us and wanted to share his beginners guide to creating an broadcast FM demodulator with an RTL-SDR in LabView. The tutorial focuses only on demodulating the mono part of the broadcast FM signal structure and provides a fully functional LabeView project file. Albert describes the signal chain implemented below:

1. The signal is received from the rtl-sdr device as IQ data. This is converted to a complex signal and the phase is extraced.

2. The phase correction removes phase discontinuities.

3. The key demodulation component in the chain is the phase derivative. The phase derivative takes the phase of the signal and creates a second signal that is composed only of the changes in frequency. This is then the demodulated signal.

4. The low pass filter is used to filter out frequencies above 15kHz, which do not contain the desired information.

5. The rational resample takes the signal, which is still at the sampled rate (in the examples case 286650Hz) and resamples it to something the sound card can handle. In this case, we are using a decimation factor of 13, which results in a 22050Hz audio stream. Actually, I worked this out the other way around. I wanted a 22050Hz audio stream and checked which sample rate would give me an integer decimation while keeping the RF sampling rate as low as possible.

The LabView Broadcast FM Demodulator
The LabView Broadcast FM Demodulator

Decoding DAB with an RTL-SDR and SDR-J On an Odroid C2

The Odroid C2 is a $40 USD single board computer with a 1.5 GHz ARM-A53 quad core CPU and 2 GB of RAM. Compared to a Raspberry Pi 3 it is more powerful and costs almost the same. YouTube uploader radio innovation recently wrote into us and wanted to share his video showing SDR-J decoding DAB+ smoothly on his Odroid C2. It seems that SDR-J works perfectly and only uses a small amount of CPU.

DAB stands for Digital Audio Broadcast and is a replacement/alternative to standard broadcast FM stations. SDR-J is a software suite that includes a DAB decoder for the RTL-SDR. It is compatible with Windows, Linux and the Raspberry Pi (and evidently also the Odroid C2). Over on their website they also provide a ready to go Raspberry Pi 2 image, and they write that it should perform well on the Rpi2 platform as well.

We’ve also seen that there is a new variant of SDR-J for the Raspberry Pi (and potentially other similar devices) available on GitHub. This one has a nice touch screen friendly GUI, which should be useful for creating a cheap portable DAB device.

Alternative SDR-J Raspberry Pi GUI
New SDR-J Variant for the Raspberry Pi with nice GUI