- Table of Content
- Pictures from V5.7.0
- Main window
- Ensemble List window (device mode)
- Ensemble List window (file mode)
- Configuration window
- Scope Spectrum Correlation Statistic window
- FIB content window
- Journaline window
- TII-list window which shows received transmitter details
- Map view of received transmitters
- Application update dialog
- Version and Copyright Information window
- Audio Service Details window of the selected service
- The PRS correlation window of a whole DAB frame (CIR)
- Some of the device windows
- Releases
- Introduction and history
- Ensemble List
- Service List
- Configuration and Data Files
- Installing on Linux from current mainline
- Licences
(move over the status elements like EEP 3-A, PS or SBR to get tooltip information)
The status bar below the MOT picture shows:
| Indicator | Meaning |
|---|---|
| EEP 3-A | The current (Viterbi) protection mode |
| HE-AAC | The used audio decoder (DAB+: HE-AAC, DAB: MP2) |
| 72 kbps | AAC decoder input bit rate (including MOT data) |
| 48 kSps | The sample rate to the audio signal |
| Stereo | Whether stereo mode is active |
| PS | Whether Parametric Stereo mode is active |
| SBR | Whether Spectral Band Replication mode is active |
| MOT | A Media Object Transfer is currently happening |
| EPG | Whether Electronic Program Guide data are available (needs further implementation) |
| ANN | Whether an announcement is currently being broadcast |
The traffic light indicators provide real-time diagnostic information on signal quality, synchronization, error correction, and audio decoding:
| Indicator | Meaning | Details / Thresholds |
|---|---|---|
| FIC | FIC/FIB (Fast Information Channel/Block) quality indicator | Green: ≥ 95% FIB CRC success Yellow-Green: ≥ 85% FIB CRC success Yellow: ≥ 65% FIB CRC success Red-Yellow: ≥ 45% FIB CRC success Red: < 45% FIB CRC success (if not green, reception is very unlikely) |
| FRM | Frame / superframe synchronization and Fire Code header quality indicator | Green: 0 frame / superframe errors Yellow-Green: 1 error Yellow: 2–3 errors Red-Yellow: 4–5 errors Red: > 5 errors |
| AAC | AAC core decoding syntax / bitstream quality indicator (DAB+ only) | Green: 0 AAC decoding errors Yellow-Green: 1 error Yellow: 2–3 errors Red-Yellow: 4–5 errors Red: > 5 errors |
| RSE | Reed-Solomon uncorrectable error indicator (DAB+ only) | Green: 0 uncorrectable RS errors Yellow-Green: 1 error Yellow: 2–3 errors Red-Yellow: 4–5 errors Red: > 5 errors |
| RSC | Reed-Solomon / CRC error indicator (DAB+ only) | Green: Error-free reception (no RS or CRC errors) Yellow: Errors detected but successfully repaired by Reed-Solomon Red: Uncorrectable errors (audible audio drops will occur) |
| ABS | Audio buffer state indicator (Audio Bit Stream) | Green: Buffer fill level normal Red: Buffer fill level critical (too low or too high) Yellow-Green / Red-Yellow: Audio rate adaptation active (~1% audio speed adjustment) |
With the toggle button A/Q you can switch between audio level and SNR/MER bar graph.
The Ensemble List in device/channel scan mode. The table shows all known DAB channels with their scan status, ensemble name, ensemble ID, ITU country code, signal quality (SNR/MER) and more. Color coding gives a quick overview: not-yet-scanned channels appear greenish, successfully scanned ones in a neutral gray, and channels with no detectable signal are highlighted in red.
The Ensemble List in file playback mode. Here you can add recorded DAB IQ sample files, have them scanned automatically and keep track of which files contain usable DAB signals. The "Remove 'No signal' files" button helps clean up the list of invalid recordings.
(Use tooltips for detailed explanations)
For the latest AppImage versions see the Linux Release Page.
old-dab also provides Windows versions, see the Windows Release Page. The feature-set could be a bit different between Linux and Windows, even with same version number.
The predecessor of DABstar was originally forked in June 2023 from Jan van Katwijk's great work of Qt-DAB from commit (tree) from 2023-05-30. Some fixes and adaptations from Qt-DAB made afterwards are included.
With what now amounts to (not just perceived) hundreds to thousands of hours of work, there are huge changes and additions (but also reductions) made and there will be bigger changes in the future, I decided to give it the new name DABstar.
I noticed that since Qt-DAB 6.x, Qt-DAB also uses new code parts and ideas from here. I very much appreciate this 😃. It is very gratifying that my work can give something back.
I will try to maintain always a working state on the head of the main branch, so use this for building the software for yourself.
Please do not try any other branch besides main branch.
They are intended for development, backups and tests and will not always work in their current state.
Recommended is to checkout a Tag of a released version, these are better tested.
The Ensemble List is a dedicated window for cataloging and scanning DAB ensembles (groups of radio stations) either from a live SDR device or from pre-recorded IQ sample files.
How to open it: Click the blue "EL" (Ensemble List) button in the main window toolbar.
(Select them on the main window, left from the "EL" button)
| Mode | Description |
|---|---|
| Device / Channel scan | Scans all standard DAB channels via the connected SDR device and stores the result for each channel. |
| File scan | Scans a folder (or several folders) of recorded DAB IQ files and catalogs which ones contain valid signal data. |
| Control | Mode | Description |
|---|---|---|
| Reset database | both | Clears the entire database for the current mode. Use this to force a complete rescan. Note: rescanning a large set of files takes time. |
| Show current ensemble in service list only | both | Filters the Service List in the main window to show the current selected ensemble only. |
| Auto Scan | both | Scans all entries currently visible in the list. Individual rows can also be scanned by clicking them directly. |
| Remove 'No signal' files | file only | Removes entries identified as containing no valid DAB signal. The "No signal" filter checkbox must be active to enable this button. |
| Folder with files to add | file only | Specifies the folder path whose files will be added to the database. |
| Add files in folder to list | file only | Adds all files from the selected folder to the database. Non-sample files are accepted and will be flagged as invalid during scanning. Minimum 4 MB per file; maximum 10 000 files to avoid system slowdown. |
| Minimum file size (MB) | file only | Files smaller than this threshold are skipped when adding files to the database. |
| Add a single file and play | file only | Adds one recording to the database and starts playback immediately. Replaces the former "Eject" button. If the file is already in the database it is selected and played. The minimum size threshold does not apply (only the hard 4 MB minimum). |
The table uses background colors to give a quick status overview:
| Color | Meaning |
|---|---|
| Greenish | Channel / file not yet scanned |
| Grayish | Successfully scanned entry |
| Reddish | No signal detected (failed) |
Three filter checkboxes control which entries are visible in the table. Their state may be changed automatically when a certain scan situation arises.
| Checkbox | Shows |
|---|---|
| Not scanned | Entries that have not been scanned yet |
| Scanned | Entries that already have scan data |
| No signal | Entries where no valid DAB signal was found |
The SQLite database stores the following information for each entry (exact fields differ between device and file mode):
| Field | Description |
|---|---|
| Channel / file path | DAB channel name (device mode) or full file path (file mode) |
| FId | Unique file identifier — hash of part of the file content (file mode only) |
| Ensemble name & EId | Human-readable ensemble name and its numeric ensemble ID |
| ITU country code | Country of origin encoded per ITU standard |
| Frequency | Nominal frequency (if known) |
| Offset | The measured baseband offset |
| Error protection | Error protection level and scheme parameters |
| DSCTy / AppType | Service type information, e.g., Journaline, EPG |
| SNR / MER | Signal-to-Noise Ratio and Modulation Error Ratio |
| Last SId | Last played Service ID — used to resume the same service after switching ensembles |
| Date | The date (UTC) which is coded within the DAB signal |
| Scan level | Highest scan level reached (not shown as a column in the list) |
The service selector on the left side of the main window is stored as a SQLite database in the
folder ~/.config/dabstar.
The current selected service is shown with a light blue background and bold yellow text. With the dark blue colored entries, you will find other services from the same channel (here 12D). When you click on such services the switching time is quite short.
The services with a gray background are from another channel. Selecting this will take a bit longer time (about 3 seconds) till audio comes up.
You can select a current running service as a favorite by clicking
.
Click the same button again to deselect the favorite state.
On the left side of the service list you will see an active favorite state.
The favorites are stored separately with the service list, so a re-scan would not delete them.
When you click on a column header you can change the sorting. Selecting the "Fav" column behaves such that the favorites are always placed at the top while the service column is sorted (ascending or descending).
With the up/down-buttons
you can step one service up or down in the list (with wrap-around).
Change the sorting of the list if you only want mainly to step within the favorites or within the same channel.
If you "lose" the current service selection you can click this button
.
The current service will be shown in the list center (if possible).
This is only active in file mode. If active and the file runs to its end, the next service will be played automatically before the file loops again. This way you can listen to each service in a continuous stream. Additionally, all slideshow pictures of the services within the files can be captured.
For a successful reception a good leveling of the device is necessary.
Click
to open the device widget (it differs for the different devices).
The best feedback regarding signal quality can be seen on the Spectrum Scope with
.
There, many explanations would be necessary for the details. Look at the tooltips for further help there.
Also, the clock on the top of the service list can be used as indicator. Its time is only shown (and the background lights up) if the DAB time information can be received.
DABstar stores its configuration and databases in the ~/.config/dabstar directory:
settings03.ini: Application configuration, window layouts, SDR settings, coordinates, and color schemes.servicelist04.db: SQLite database containing scanned services, multiplex info, and favorites.ensemblelist04.db: SQLite database containing channel and file scan records for the Ensemble List.
This is what is needed to install DABstar on Ubuntu (tested on Ubuntu 24.04):
sudo apt-get update
sudo apt-get install -y \
git cmake build-essential g++ \
libsndfile1-dev libfftw3-dev zlib1g-dev libusb-1.0-0-dev \
qt6-base-dev qt6-multimedia-dev qt6-charts-devSeveral parts (including the OFDM decoder and frequency correction) use the VOLK (Vector-Optimized Library of Kernels) library for SIMD vectorized signal-processing operations. This noticeably reduces CPU load, especially on machines with SSE/AVX capable processors. VOLK version 3.3.0 or newer is recommended.
Ubuntu 24.04 ships VOLK 3.1; install the packaged version or build from source for ≥ 3.3.0:
sudo apt-get install libvolk-devor build from source:
git clone --recursive https://github.com/gnuradio/volk.git
cd volk
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j4
sudo make install
sudo ldconfigEnable VOLK in the DABstar build by adding -DSSE_OR_AVX=ON to the cmake command (see below).
As libfaad had issues with low-rate services, DABstar uses Fraunhofer FDK-AAC. FDK-AAC also supports a good working audio drop-out concealing. Because the repository version in some Linux distributions has flaws with PS (Parametric Stereo) services, building from source is recommended. I used the latest tagged version which is v2.0.3 (contains AAC decoder library v3.2.0):
git clone https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
git checkout v2.0.3
mkdir build && cd build
cmake ..
make -j4
sudo make install
sudo ldconfiggit clone https://github.com/tomneda/DABstar.git
cd DABstar
mkdir build && cd build
cmake .. -DAIRSPY=ON -DSPYSERVER=ON -DSDRPLAY=ON -DHACKRF=ON -DLIMESDR=ON -DRTL_TCP=ON -DPLUTO=ON -DUHD=ON -DRTLSDR=ON -DSOAPY=ON -DVITERBI_AVX2=ON -DFDK_AAC=ON -DSSE_OR_AVX=ON
make -j4You can customize the build using CMake flags to enable only the SDR hardware and optimizations you need:
| CMake Option | Default | Description |
|---|---|---|
-DRTLSDR=ON |
ON | RTL-SDR USB dongles |
-DRTL_TCP=ON |
OFF | RTL-TCP networked SDR client |
-DAIRSPY=ON |
OFF | AirSpy SDR |
-DSPYSERVER=ON |
OFF | SpyServer network SDR client |
-DHACKRF=ON |
OFF | Great Scott Gadgets HackRF One |
-DSDRPLAY=ON |
OFF | SDRplay RSP devices (RSP1, RSP1A, RSP2, RSPduo, RSPdx) |
-DPLUTO=ON |
OFF | Analog Devices ADALM-PLUTO SDR |
-DLIMESDR=ON |
OFF | Lime Microsystems LimeSDR |
-DUHD=ON |
OFF | Ettus Research USRP UHD |
-DSOAPY=ON |
OFF | SoapySDR generic device wrapper |
| CMake Option | Default | Description |
|---|---|---|
-DVITERBI_AVX2=ON |
OFF | 16-way AVX2 SIMD Viterbi decoder (fastest for modern x86_64 CPUs) |
-DVITERBI_SSE2=ON |
OFF | SSE2 SIMD Viterbi decoder (for older x86_64 CPUs) |
-DVITERBI_NEON=ON |
OFF | ARM NEON SIMD Viterbi decoder (for ARM / Raspberry Pi) |
-DSSE_OR_AVX=ON |
OFF | Vectorized OFDM decoding and frequency correction (requires VOLK) |
-DFDK_AAC=ON |
ON | High-quality Fraunhofer FDK-AAC audio decoder |
-DUSE_LIQUID=ON |
OFF | Liquid DSP for half-band filter and resampler (requires liquid-dsp) |
-DDATA_STREAMER=ON |
OFF | Raw data streamer over TCP |
cmake .. -DRTLSDR=ON -DVITERBI_AVX2=ON -DSSE_OR_AVX=ON(Use -DVITERBI_SSE2=ON instead of -DVITERBI_AVX2=ON if your processor does not support AVX2).
To speed up compilation you can provide -j<n> as argument with <n> number of threads after the make command. E.G. make -j4.
Do not choose a too high number, as the system can run out of memory!
Finally, in the build folder you can find the program file which you can start with
./dabstarYou could try to install the software within your system with
sudo make install
sudo ldconfigTo uninstall DABstar again, do this:
sudo make uninstallIt is recommended to build the RTL-SDR library from source from the repository of old-dab. See https://github.com/old-dab/rtlsdr.
It is also recommended then to remove the default driver, if installed.
If you are using the default driver while running DABStar you will get a message box hinting on that but DABstar will somehow work with that also.
The driver from old-dab should still be compatible with other applications using this driver.
Remove the default driver with:
sudo apt remove rtl-sdr librtlsdr-dev
sudo ldconfigIf you nevertheless want to use the default version from Ubuntu (but this is not recommended as the driver from old-dab has some improvements):
sudo apt install rtl-sdr librtlsdr-dev
sudo ldconfigBest worked for me was building UHD from the repository of Ettus Research.
sudo add-apt-repository ppa:ettusresearch/uhd
sudo apt-get update
sudo apt-get install libuhd-dev uhd-hostDetails see https://github.com/airspy/airspyone_host
git clone https://github.com/airspy/airspyone_host.git
cd airspyone_host
mkdir build && cd build
cmake ../ -DINSTALL_UDEV_RULES=ON
make -j4
sudo make install
sudo ldconfigRights of Qt-DAB, AbracaDABra, Qt, FFTW, VOLK, FDK-AAC, libfaad, and libsndfile gratefully acknowledged.
Rights of developers of RTLSDR library, SDRplay libraries, AIRspy library and others gratefully acknowledged.
Rights of other contributors gratefully acknowledged.
As I use some icons, I get them from FlatIcon. The work of the icon authors is gratefully acknowledged:
| Icon set | Author |
|---|---|
| Electromagnetic icons | muh zakaria |
| Radio tower icons | sonnycandra |
| Frequency icons | DinosoftLabs |
| Spectrum icons | JunGSa |
| Spectrum icons | Eucalyp |
| Target icons | Pixel perfect |
| Folder icons | gariebaldy |
Features NewsService Journaline(R) decoder technology by Fraunhofer IIS, Erlangen, Germany. For more information visit http://www.iis.fhg.de/dab


















