Software defined radio

DAB, drm and other software

dabradio dab FT8

Home   Intro to Digital Radio   My devices   Qt-DAB and friends   DRM receiver   Other Software   Contact


Long time ago, building your own radio was fun. One started with a crystal receiver, experimenting with the simplest one, one with a razorblade and a a piece of a pencilpoint. With a long wire connected as antenna, headphones coupled to the "detector", receiving something was a wonderful experience.

Then, adding a first tube, a second tube and in the end a full superhet for long waves,medium waves and a lot of shortwave bands was ready. And, of course as soon as a new issue of the favorite hobby magazine was out, the design changed, and most of the radio was rebuild.


Radio technique has gone a long way since! Medium waves is basically empty, FM is considered old-fashioned and the (near) future is digital, digital TV, digital radio, digital telephones, etc etc.

While the techniques for digital radio are interesting, there is no way that - using basic components as transistors or tubes and a handful of resistors and capacitors - you can build your own radio. What you can do however, is now program your radio. After all, digital techniques ask for programming.

So, after getting retired, I read some articles on SDR and decided to do some programming myself. Acquiring a so-called "Elektor" SDR device with analog output, and with a frequency range from (almost) 0 to 30 Mhz was a start. The analog output was fed into the soundcard of the computer; it was the start of a large number of programs. Decoders for AM and some amateur modes were quickly built and gave many hours of pleasure. The swreceiver, discussed in the section DRM receiver is essentially a descendant.


The next device was a pmSDR, a device with a range of up to 55 MHz, again with analog output. Using the 3-d overtone of the oscillator, receiving radio in the the FM band, and even amateurs on the 2 Meter amateur band was possible, So next a first receiver with an FM decoder was developed. As with the Elektor card, the analog output was fed into the audio card of the computer. Nowadays that would be slightly more complex, since most laptops do not provide an input capable of handling 192000 audio samples per second.

The fun really started with the acquisition of a DAB stick, now a much larger range of frequencies and a much larger bandwidth could be received and both the control and the data was through USB.

Of course, one of the first projects to use the bandwidth was a spectrumviewer (a predecessor of the one shown below)


Next a very first version of a DAB decoder was built. SDRplay donated kindly an SDRplay device, an excellent device with a range from a few KHz to 2 GHz and 12 bits samples, and all software was redesigned to allow easy interfacing to other devices.


Later on, some more SDR devices already had entered the house, the Raspberry RPI 2 arrived. There is an obvious difference in computing power between an x64 PC and an RPI 2, so restructuring of the software was required to allow the DAB decoder to run smoothly on the RPI 2 with the load reasonably balanced over the 4 cores of the CPU.

Further developments lead to Qt-DAB as it is now, and quite a number of derived programs. Basically from the start, questions came for making a command line version. This eventually lead to the dab-cmdline set of programs.

From DX-ers a request came for a version that could scan the band and report on the contents of the channels. Different scanners were developed, one with GUI, the other command line driven. The current version of Qt-DAB has itself an extensive scanning facility.

In the mean time attention was paid to DRM (Digital Radio Mondiale). While DAB is transmitted in the 170 .. 230 MHz band, DRM is transmitted in Medium and Shortwave (DRM+ is transmitted in the FM band).

DRM differs substantially from DAB - after all the bandwidth for a DAB transmission is 1.5 MHz, for most DRM transmissions 10 KHz - but the underlying technology, i.e. how do I get the bits back that are encoded in an analog radio signal looks superficially similar to that of DAB (For a variety of reasons, DRM decoding is significantly more complex than DAB decoding). Just to get an understanding of the system, a DRM decoder - and later a DRM+ decoder - was developed as well.

Where I live I receive - on a simple whip - 4 or 5 DAB ensembles 24 hours a day and - using an in-house loop antenna - only a couple DRM transmissions during an hour of so. Since DRM is transmitted on shortwave, it was oeriginally made part of my shortwave radio system. Being unsatisfied with the (DRM) result, a redesign and reimplementation was made and lead to the drm-receiver (the drm decoder is ported back to the swradio).

About this site

This site is on Digital Radio, in particular DAB and DRM, and some of my other software.

First, in the section Intro to Digital Radio, a brief introduction is given on the nature of digital radio transmissions, feel free to skip.

In the section My devices, a brief overview is given on the devices I possess.

In the section Qt-DAB and friends, DAB and DAB software is discussed. Qt-DAB is a pretty complete DAB decoder for use with some of the popular SDR devices is discussed, and some of the other DAB related software is mentioned.

The section on DRM receiver discusses (mainly) DRM and the DRM receiver, and its big sister, the sw-radio which actually contains a DRM decoder that mirrors the one of the DRM receiver.

The section Other Software contains a description of some other SDR software as well as one of my favorites, an ALGOL 60 to C translator.

Feel free to contact me, the section Contact contains a form for that.

In the end

In most of my software existing dynamic libraries (Linux) and dll's (windows) are used, e.g. libraries for audio output, fft, handling "wav" files, Reed-Solomon correction, decoding AAC and xHE-AAC, converting samplerates, etc etc, all available under a GPL-V2 or V3. All rights are gratefully acknowledged, and my software is itself also made available under a GPL-V2 licence.

It is - obviously - nice if (some of) the software is useful, there are no guarantees, however. If the software does not fit your purpose, it might just not be the software you are looking for, read the license, that states (a.o):
the SDR-J software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

If, however, the software seems useful and you have suggestions for improving and/or extending it, feel free to contact me, suggestions are always welcome (although no garantees are given that they will be applied.)

The development of this - and other - SDR-J software is a hobby (see the "" repositories), a "spare time" project (being retired makes that there is some spare time). As with all hobby projects, support (such as suggestions for improvements, and additions, suggestions for modifications etc) and contributions (such as code improvements or extensions, providing me with a yet unsupported device, etc) are welcome.

I am grateful to SDRplay ltd for providing me the possibility to use different versions of the SDRplay RSP devices such that DAB and DRM software could be developed.

Further, to Robin Getz (Analog Devices) for making an Adalm Pluto available, a wonderful device to experiment with. Thanks to Benjamin Vernoux for making an AIRSPY device available, to Great Scott Gadgets for making an HACKRF device available, and to Jan Willem Michels for making an LimeSDR device available.

Have Fun!!!

Pijnacker, August 2022
Jan van Katwijk
Lazy Chair Computing