Software defined radio

DAB, DRM and other software

J van Katwijk

dabradio dabradio drm FT8

Home   Broadcast Radio   Qt-DAB   DRM receiver   Plugins for SDRuno   My devices   Contact


Long time ago, in the 50-ies and early 60-ies of the previous century, 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. The glowing of the tubes, the soft noise and static when starting up the new design was a real pleasure. Happily enough there is still a lot of interest in historical radios.


Radio technique has gone a long way since! National broadcasts on medium waves are gone, apart from local, usually LPAM, transmissions MW is basically empty. Even FM is considered old-fashioned and the (near) future is digital, digital TV, digital radio, digital telephones, etc etc. From time to time there are ads on radio and TV, telling you that it is time to switch from FM to DAB and A country like Norway shut down the FM stations in favour of DAB.

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, coils 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.

After getting retired, I picked up my soldering iron again, but soon decided that electronics now is not the electronics from 60 years ago. Since I have a background in software development, I read some articles on SDR and was immediately triggered 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. While control was over a USB connection, output was analog and 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 control using an USB connection and analog output to the soundcard. 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. Nowadays, working with the elektor card or the pmSDR would be slightly more complex since later generations of 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 (picture left), which evolved to the current version (picture right). SDRplay donated kindly an SDRplay device, an excellent device with a range from a few KHz to 2 GHz and 12 bits samples, and having two devices made me redesign the software to allow easy interfacing to other devices.

dabradio dabradio

Later on, some more SDR devices already had entered the house, and 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 DAB software was required to have the DAB software run smoothly on the RPI 2. The cpu of the RPI has 4 cores and the load should be reasonably balanced over these 4 cores.

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 as well.

Meanwhile, 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 and DAB, while both using the same type of digital transmission based on OFDM, differ considerably. While DAB is transmitted in the olf VHF Band III, and uses a bandwidth of app 1.5 MHz, DRM is meant to be used on short and mediumwaves, with a bandwidth of 10 Khz. (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 but - using an in-house loop antenna - only a couple DRM transmissions during an hour of so. Since DRM is transmitted on shortwave, it is part of my shortwave radio system. A separate "DRM only" version exists, mainly used for experimenting, the results are ported back to the decoder in the sw radio system.

About this site

This site is mainly on my software for Digital Radio, in particular DAB and DRM.

First, a section gives a short glimpse over Broadcasting in general, from AM to DAB and DRM. The next section discusses Qt-DAB, the extended DAB decoder, and a section discusses the DRM receiver and shortly the swreceiver. Since I have written a number of plugins for the SDRuno environment, a section gives an overview on these plugins.

All (well, most) of my software is on github, if you are interested have a look at my repositories at github: "". 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.

The projects here benefitted from the devices I got. 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, March 2024
Jan van Katwijk
Lazy Chair Computing