DAB: Unique Software Qirx for SDR – smart, Feature-rich and free (1/2)
Digital Audio Broadcast, or: DAB, now is common with most household and car radios – after a more than bumpy start. Pressed into market with voluptuous grants from the tax payer and unabashed blackmailing of ceasing all FM broadcast and, hence, making all analogue FM radios obsolete without any financial compensation.
After fierce protests, there is some coexistence between both ways to the listener – mostly thanks of the pressure of commercial broadcasters which often belong to media giants.
Software defined radios, or: SDRs, make an excellent start to discover both worlds. Here, I will focus on DAB with free software QIRX by Clem Schmidt, DF9GI, from Frankfurt. It directly works with RTL-SDR, Airspy and RSP2 SDRs. I tried this very smart software from my location near Hannover/North Germany, mostly with my RSP2.
This blog has two parts: in this first part (1/2), I want to get some ground under my feet – regarding DAB as well as QIRX. The second part (2/2) deals with some results of QIRX’ logs.
QIRX excels in a number of analytic tools, and an OSM-based map showing your location as well as the locations of the transmitters, all metadata transmitted plus other features like connection to GPS receiver’s NMEA output for mobile use. It can be also used very basically: just to listen.
DAB – an efficient concept
In the first step, you have to find out which transmitters you receive at your location. Each transmitter beams a so-called “ensemble” (also dubbed “bouquet”) into the country, or a bundle of programms. Many of these programms or services can be packed into just one physical DAB-VHF-channel (“block”, e.g. 5D) of 1,536MHz width, via a robust and spectrum-efficient mode, called OFDM. This is a special combination of phase-modulated carriers, commerically pioneered for DAB by Munich-based Institut für Rundfunktechnik from 1981. Each ensemble carries an Ensemble ID (EId), like 11F7 for “Antenne DE”. Thanks to the “Extended Country Code”, this EId is worldwide unique. In turn, each station/programme/service within an ensemble carries an unique Service ID (SId), like 121A for “Absolut OLDIE”.
Some identical ensembles may be aired from different locations/ transmitters within a service region. In this case, they work together as a presumably GPS-synchronized Single Frequency Network – to which we’ll come later.
QIRX – the easy start
QIRX offers a scanner, catching all these ensembles from all the transmitters within the reach of your antenna:
At my location, QIRX scanner offers nine to ten such ensembles. For this example, I choosed the ensemble “Mitteldeutscher Rundfunk – Sachsen-Anhalt” (MDR-S-Anhalt), and clicked on the list of eleven services to “MDR Klassik” which shows up with some data on service quality plus multimedia:
It offers perfect reception, despite of delivering a signal-to-noise ration of just 10.9dB from a transmitter at a distance of 80+ kilometers.
Scanning is done in the background, and it may loop through (click: “Scan forever”) for hours or even days. It continually writes the results in the TII Logfile for future inspection – a great tool which will reveal even short openings over a specific time – scatter by tropo, aircraft or meteors among these.
How is the signal?
As an SDR aficionado, you will be pleased to see the spectrum and the spectrogram (“waterfall”) of the signal, the receiver is tuned to. The first screenshot below shows a near-perfect case from my local transmitter in 15.8km distance, delivering an SNR of up to more then 33dB, whereas the second screenshot of the ensemble “11D/Radio fuer NRW” at a distance of 115 kilometers shows a bumpy road ahead with SNRs well under 10dB. The “radio horizon” of this specific transmitter’s site already ends at about 85km, thus the margin is not too high.
One of the most exciting features of QIRX are its analytic tools. To make full use of them, a basic understandig of the concept of DAB is inevitable. ETSI, the European Telecommunications Standards Institute, is the umbrella organisation for maintaining also this concept. They provide a widespread number of different papers with standards and technical reports of which I found EN 300 401 (focusing on receivers) and TR 101 496-3 (focusing on the operation of a DAB network) especially helpful. Clemens, the software author of QIRX, has published some excellent information on these topics on his website, where I especially recommend the two parts dealing with TII, or Transmiter Identification Information. He had put a lot of work into it to present all information to get a clue what happens behind this rather complex and smart DAB system.
The window for the analytic tools comprises up to five sub-windows, with the Audio Spectrum skipped here:
Let’s got through them step by step.
Constellation shows the four phases of the robust DQPSK modulation in a linear manner, representing each of the sub-carrier of the OFDM signal separately. By this, you may see which of the carriers actually is degraded by multipath propagation, caused e.g. by reflection from aircraft.
Above, you see the constellation of a near-perfect reception with an SNR of 33dB. Below, you see two examples at a much lower SNR. At the third example, the robust meta information from the Fast Information Channel (FIC) already is decoded, with however, the signal strength (more exactly, the SNR) just under the threshold to provide audio decoding.
Channel Impulse Repsonse (CIR) shows the time of flight from all transmitters to the receiver – referenced to the strongest signal, showing up as “0”. You may switch the scale from samples to time in microseconds to (relative) kilometers. These data also show up in the TII window at left-hand, and are used to populate the map.
It is the easy-to-read surface of heavy work under the hood to which also some other radio enthusiasts had contributed.
Below you see first the CIR display, where you see signals from three transmitters. The X-scale is in microseconds, time-of-flight, referenced to the strongest signal. On the left you see a list of all three received transmitters, ensemble 5D, with their real distance (km abs.) from the receiver, their distance relative to the strongest signal (km rel.), and their direction as seen from the receiver (AZM) – to turn your antenna into the right direction …
TII Carriers is a unique and exciting tool of QIRX software to look a bit deeper into the structure of the Single Frequency Network to which DAB is organized. Let’s take the map above with three transmitter on the same DAB-Block, or: VHF channel. TII or Transmitter Identification Information tells us just what transmitter(s) we do receive. Clem, the author of QIRX, put a lot of work not only to get this tool running, but also in describing the background and how to use this feature – you must not miss this (there are two parts …)! I can give only a weak echo of his very well placed explanations there.
Basically, it decodes the “Null symbol” of the TII which is transmitted with low power within what seems a “pause” of only 1.3ms of duration between each frame of DAB stream, being itself 96ms long.
The most easy situation is to receive and decode only one transmitter. The following screenshot shows this situation with DAB-VHF-Block 9B, transmitter Visselhövede. In the TII window you see 4 x 4 carriers, separated within four compartments by a dashed vertical yellow line. Each of the four groups of carriers contain the same information, but each taken from a different part of the spectrum to enhance overall sensitivity for weak(er) stations. The position of the TII subcarrier defines the sub-ID, and, hence, the individual transmitter. In this case, the sub-ID is “1”, denoting Visselhövede as transmitter location.
The mapping of DAB-VHF-Block, Main/Sub-ID and transmitter site has been mainly done by UKW/TV-Arbeitskreis e.V., a smart group of enthusiasts dealing with reception above 30 MHz.
If you play around with the “Threshold” detecting TII carriers this may reveal also other transmitter locations, transported via the same DAB-VHF-Block. So, I lowered the threshold to 0.010 (x10). As a result, much more TII carriers become visible in the four compartments. They belong to other sites, hence, bearing other sub-IDs. To decode them, they must show up almost similar within all four compartments of the carrier spectrum window (right). Only then they are duly listed under the TII tab on the left side, and show also up in the map at the top.
You see 4 x five carriers, jumping over the gray threshold. On the left, they all are listed with their metadata including their sub-IDs of:
- 1 Visselhövede – 65,8km/10kW,
- 2 Dannenberg/Zernien – 91.2km/10kW,
- 5 Bispingen – 74.2km/2kW,
- 6 Lüneburg/Neu-Wendhausen – 96.1km/4kW and
- 4 Rosengarten/Langenrehm – 106,8km/10kW
The additional four sites duly show up in the map, in red with the fifth, Visselhövede, marked green as carrying the best signal.
I/Q Data: The diagram always shows the time sequence of IQ data, in units of samples. Here, one sample corresponds to the system clock time of 1/2048000 sec, i.e. about 1/2 microsecond. The Y-axis can be switched between “Magnitude” (roughly the absolute amplitudes of I/Q), or just the amplitudes of the I-data (“I-Data” ticked). The first is the tool of choice to reveal the above mentioned “Null symbol” of 1.3 milliseconds, see screenshot below. For a detailed explanation, which is out of scope of this blog entry, please refer to QIRX’ website.
One additonal feature of DAB, much worthwhile to be mentioned, is the so-called “Guard Interval“. It guarantees that all transmitters involved in an Singe-Frequency Network, with their individual stations distinguishable only by their TII codes, can all transmit on exactly the same frequency – whereby the relative distances can be up to approx. 75km apart without interfering with each other. This has the consequence that e.g. the Bundesmux (5C – DR Deutschland) needs only one frequency nation-wide, which is e.g. selected once in the car and then works in the whole republic, not requiring any re-tuning by the driver. By the way, all locations of a block stored in the database can be displayed in QIRX with one mouse click.
Caveat: “Threshold” is as sensitive, as it is sensible. Too low a threshold may result in errors, too high a threshold may miss some transmitters. It is a good idea to start at a threshold allowing only one or two transmitters coming through, and then reduce this threshold by carefully checking the results for probability (etc. by their distance).
At some locations, there may occure a collision of the same sub-ID from different transmitters. This can be de-fuddled by QIRX’s function “Show Collisions for Sub ID”, but this is beyond this mere introduction. I have also to skip many more interesting applications of this software, e.g. using it for multipath detection by carefully observing the spectrum and measuring its deviations from a near-perfect brick-like shape – so that you can even calculate the delay caused by this effect.
We all have to be indebted to Clemens not only for his smart achievement in writing QIRX software, but also for his explanations and examples on his website!
He also helped in explaining some details for this text.
P.S.: Don’t miss the second part of this blog, showing some examples of analyzing QIRX’ logged data!
P.P.S: The best: the QIRX story isn’t over with just DAB. It features also a ADS-B decoder for those flight messages on 1.090MHz, drawing them on a map, and filing them. I will come back to this also stunning feature soon – stay tuned!