Software defined radio

DAB, drm and other software

dabradio dabradio dab

Home   Intro to Digital Radio   My devices   Qt-DAB and friends   DRM decoder   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 are 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 - simple with analog output that was fed into the soundcard of the computer - with a range to 30 MHz was the start of a large number of programs. A decoder for AM and some amateur modes was quickly built and gave many hours of pleasure. The swreceiver, discussed in the section DRM decoder is essentially a descendant.


The next device was a pmSDR, a device with a range of up to 55 MHz, and 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, the first receiver an FM decoder was developed. As with the Elektor card, the analog output was to be fed in the audio card of the computer.

The fun really started with the acquisition of a DAB stick, now a much larger range of frequencies could be received and both the control and the data was through USB. 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.


Of course, the bandwidth of the SDRplay was such that a spectrumviewer was almost mandatory, and it was developed.


Some time later, some more SDR devices had entered the house, the Raspberry RPI 2 arrived. There is an obvious difference in cpu power between a PC and an RPI 2, so restructuring was done to allow the 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 was made 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, another digital radio approach was also noted, DRM, Digital Radio Mondiale. While DAB is transmitted in the 170 .. 230 MHz band, DRM is transmitted in Medium and Shortwave.

DRM differs substantially from DAB, but the underlying technology, i.e. how do I get bits encoded in an analog radio signal and how do we get bits back from an analog signal, is comparable. So 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 only a couple DRM transmissions during an hour of so, and since DRM is transmitted on shortwave, it was made part of my shortwave radio system.

Over this site

This site is on DAB, DRM (Digital Radio Mondiale) 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 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 decoder discusses (mainly) the DRM decoder, which is part of my swradio-8 software.

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 the 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 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, Juli 2021
Jan van Katwijk
Lazy Chair Computing


© 2021; Jan van Katwijk