Category: Applications

A new TETRA voice and multiframe SDS decoder

Recently Marek Sebera of ITDS Consulting wrote in to let us know about two new TETRA decoders that they have released. TETRA is a trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used heavily in many parts of the world, except for the USA.

The first piece of software released is called TETRA Listener and is from the Brmlab hackerspace in Prague. They write that Tetra-Listener is a new program (based on osmo-tetra) that can decode unencrypted voice and data traffic. They also write that it is very easy to set up and install since it uses Vagrant, which is a system that can be used to automatically set up a VMWare or VirtualBox Virtual Machine that has everything set up and ready to go. The instructions for using the software can then be found in the readme of the main tetra-listener page on GitHub.

The second software they have written is what they believe is the world’s first open source TETRA Multiframe SDS decoder. SDS stands for short data service and is the TETRA equivalent to SMS text messages used on a GSM network. They write that their solution can assemble long multiframe SDS messages.

Previously we showed how unencrypted TETRA messages could be listened to using telive in our tutorial. It is good to see alternative solutions now coming out, and in the future we hope to test this new software out.


Recent Updates to the JAERO L-Band and C-Band AERO Decoder

JAERO is a program by Jonti that was released late last year which allows us to use a SDR such as an RTL-SDR to receive L-band and C-Band AERO messages. AERO is essentially the satellite based version of ACARS, and the L-band signals contains short ground to air messages with things like weather reports and flight plans intended to be transmitted to aircraft. The C-band signals are the air to ground portion of AERO and more difficult to receive as they require an LNB and large dish. However they are much more interesting as they contain flight position data, like ADS-B.

Over March JAERO has had some minor updates. It is now possible to display planes on a map by using it’s SBS1 protocol output and outputting the data to Virtual Radar Server. The second more recent update now allows JAERO to simultaneously monitor up to two C-band AERO channels. To do this you will need to use the AUX VFO plugin for SDR#.

If you enjoy JAERO, please remember consider donating to Jonti.

Plotting flights positions out of regular ADS-B range which were demodulated from C-Band AERO signals by JAERO.
Plotting flight positions that are out of regular ADS-B range. Demodulated from C-Band AERO signals with JAERO.
Monitoring two C-Band channels in SDR# with the AUX VFO plugin.
Monitoring two C-Band channels in SDR# with the AUX VFO plugin.

Radio Astronomy Tool rtl_power_fftw Updated

The rtl_power program allows you to use the RTL-SDR to perform a power scan over an arbitrarily large portion of the frequency spectrum (within the RTL-SDR’s supported frequency range) by hopping over ~2 MHz swaths of bandwidth. The updated rtl_power_fftw software was originally written by Klemen Blokar and Andrej Lajovic and is an update over the regular rtl_power program. It uses a faster FFT processing algorithm and has several other enhancements that make it more useful for radio astronomy purposes.

Recently Mario Cannistrà has released a new version of rtl_power_fftw which has several additional improvements applied. He intends to use it in his RTL-SDR based radio astronomy IoT project which is presented on his blog. He writes:

I added the following command line parameters:

  • -e param for session duration
    this allows to specify the recording duration in sec, mins… etc just like it was possible with rtl-power
  • -q flag to limit verbosity
    this will allow the various printouts to happen only the first time and not on every scan
  • -m param to produce binary matrix output and separate metadata file
    this will get a file name (no extension) and use it to store the power values in binary format within a .bin file + a metadata text file with .met extension

Summary of my requirements:

  • I wanted to leverage the ability of rtl-power-fftw to specify N average values to integrate for less than 1 second when needed. Plus running multi-MHz scans and storing for several minutes.
  • I wanted to use a binary format instead of the .csv one in order to obtain the smallest possible size since I’m logging all the night long (CSV’s blank delimiters and decimal dots were wasting my precious microSD space)
  • keep high the precision on decimal digits saving float values (could be important for other usages)
  • obtain a complete stream of binary values representing all the bins for each scan, one scan after the other, in a matrix like organization
  • …that would allow me to plot the waterfall extremely fast with gnuplot
  • …and then add specific annotations and file properties/metadata in a more convenient way using python
Example rtl_power_fftw output: A scan of Jupiter's radio emissions.
Example rtl_power_fftw output: A scan of Jupiter’s radio emissions.

FlightAware ProStick: A new ADS-B optimized RTL-SDR with built in LNA

The FlightAware team have today announced the release of the “ProStick”, an RTL-SDR dongle that they write has been modified for improved ADS-B reception. The new FlightAware RTL-SDR’s main defining feature is that it comes with a built in low noise amplifier (LNA) on the front end. The built in LNA is optimized for the ADS-B frequency of 1090 MHz and has 19 dB of gain with a 0.4 dB noise figure and an OIP3 of +39dB. They claim that the new unit will give a 20-100% performance boost in terms of range for Mode S reception when compared to a standard RTL-SDR.

As the increased gain and amplifier non-linearities can cause overload and intermodulation to more easily occur, the FlightAware team stresses that you must use the new device with a 1090 MHz filter, such as their FlightAware filter. In a previous post we reviewed the FlightAware filter and antenna and found that they performed very well and are great value for money.

The new unit is priced cheaply at $16.95 + shipping on Amazon for US buyers, and $24.95 + shipping on eBay for international buyers.

So far we haven’t seen any circuit photos or news about which LNA chip has been used, but we intend buy a unit and do a review when it arrives.

One criticism about this unit that we can already see is that it should be understood that good RF design teaches us to always place the LNA as close to the antenna as possible to overcome cable loss and keep the noise figure low. Placing the LNA at the antenna vs at the receiver makes a huge difference in performance, depending on how long and lossy your coax cable run is. Furthermore, integrating an LNA into the receiver ruins the system for optimal performance with an LNA placed by the antenna due to the reduced linearity caused by the additional internal LNA. The post at explains optimal LNA placement very well. We think that perhaps selling an external LNA and bias tee module would have been a significantly better idea to optimize ADS-B reception. However, the additional LNA should help to reduce the noise figure of the dongle by a few dBs which will result in improved ADS-B reception as long as signal saturation does not occur. 

The new FlightAware ADS-B optimized RTL-SDR.
The new FlightAware ADS-B optimized RTL-SDR.
The new FlightAware dongle running on a PiAware Raspberry Pi system.
The new FlightAware dongle running on a PiAware Raspberry Pi system (actual unit uses SMA).

A GNU Radio Based ISDB-T and RTL-SDR Compatible 1Seg Decoder

In most parts of the world the DVB-T standard is used to air digital HDTV. In the USA the ATSC standard is used, and in China DTMB is used instead. In other countries such as Brazil, Peru, Argentina, Chile, Honduras, Venezuela, Ecuador, Costa Rica, Paraguay, Philippines, Bolivia, Nicaragua and Uruguay a third standard called “ISDB-T International” is used which is based on the Japanese ISDB-T standard. 

Digital broadcast standards used in each country.
Digital broadcast standards used in each country.

Recently a team from Uruguay has been working on creating a ISDB-T receiver in GNU Radio. With this decoder ISDB-T signals can be received with a wide bandwidth SDR (needs to be 6MHz or larger) and then decoded into a video file. Because ISDB-T is so similar to DVB-T they have based much of their code on gr-dvbt which is a GNU Radio based DVB-T decoder.

In addition to the ISDB-T decoder, they have also implemented a 1-seg decoder. 1-seg is a mobile HDTV service that exists in Japan, Argentina, Brazil, Chile, Uruguay and Peru. It runs on the ISDB-T system, and is called “1-seg” because it’s data occupies 1-segment of the 13-segment based ISDB-T bandwidth. It is used in small mobile TV receivers, many of which are now built directly into mobile phones sold in countries that use ISDB-T. Due to it’s much lower bandwidth requirement the 1-seg decoder can be used with an RTL-SDR dongle, and has already been tested to work.

A typical 1-seg capable Japanese mobile phone receiving digital mobile TV.
A typical 1-seg capable Japanese mobile phone receiving digital mobile TV. With the GNU Radio 1-seg decoder these transmissions can be received with an RTL-SDR.

Inspectrum: A New Tool for Analysing Captured Signals

Inspectrum is a Linux and OSX based tool that can be used for analysing captured signals. It is compatible with the IQ files generated from SDRs, such as the RTL-SDR or HackRF.

Over on YouTube user Mike has uploaded a video that demo’s the latest version of Inspectrum. He shows how the tool can be used to quickly browse the waveforms in a captured signal and how it can be used to determine various digital binary signal properties through an overlay that can be dragged to match the bit frequency of the captured signal.

This program looks like it is shaping up to be a very useful tool for those interested in reverse engineering digital signals. The Inspectrum code and installation procedure can be found at

Spectrum Spy: New Spectrum Analyzer Software for the Airspy

Software defined radio’s can easily be used a very wideband spectrum analyzers by quickly stepping through the spectrum at the largest stable bandwidth supported. The RTL-SDR has had this functionality for some time now through software such as rtl_power and RTL Scanner.

Now Youssef, co-creator of the Airspy and programmer of SDR# has released a similar program for the Airspy called Spectrum Spy. The software comes bundled with the latest SDR# download which can be obtained from

The Airspy is a $199 USD software defined radio with a similar tuning range to the RTL-SDR, but it is significantly better with its 12-bit ADC and up to 10 MHz of instantaneous bandwidth. We review the Airspy, SDRplay RSP and HackRF in this post. With its large instantaneous bandwidth and fast retuning speed the Airspy makes an excellent spectrum analyzer that refreshes very quickly.

Youssef stresses that the software is still in proof of concept stages, and various features are still to be added in the future. He writes:

A new utility app is available for download with the standard SDR# package. It allows the visualization of larger frequency spans by exploiting Airspy’s fast frequency tuning capability. The scanning speed is comparable to real spectrum analyzers (may be faster even!) The project is still in a PoC state, but the basic functionality provided is fully operational.

It all started when some customer wanted an example code to implement their own SA using Airspy, so I did more than a code snippet. I hope you enjoy!

We tested the Spectrum Spy software on several bands, and recorded short videos shown below to show how fast it is. 

20 MHz Bandwidth Mobile Phone Band

50 MHz BCFM Band

100 MHz Bandwidth Mobile Phone Band

Includes the uplink and downlink portions. We used our mobile phone to make a call and you can see the uplink at 895 MHz.

1 GHz Full Spectrum

Tweeted Photos

Over on Twitter @uhf_satcom has also been testing out Spectrum Spy and has got some good shots of Ku and L-band satellite bands.

Here @supertrack_it has been using Spectrum Spy to help with the tuning of his 1420 MHz filter.

Creating a FSK SSDV data system for High Altitude Balloons

David and Mark are building a 115 kbit/s FSK SSDV (slow scan digital video) data system for high altitude balloons. In their system, on the balloon transmit side they use a Raspberry Pi, Raspberry Pi camera and a RFM22B wireless transceiver modulator board to transmit the SSDV FSK signal. On the receive side they use an RTL-SDR dongle, low noise preamplifier and a GNU Radio program to demodulate the SSDV images. The first video below demonstrates the hardware and GNU Radio program and shows them receiving the SSDV signal. In the second video they demonstrate that the images can be received at low signal levels (-106dBm) as well, by heavily attenuating the signal.

If you are interested, all their code for the SSDV system has been uploaded to

While testing the RTL-SDR for use in this system they also measured the noise figure of an R820T RTL-SDR dongle. The noise figure at maximum gain comes out at around 5.6 dB. By adding a low noise amplifier they reduce the measured noise figure down to 2 dB.

Testing the attenuated SSDV signal reception with an RTL-SDR.
Testing the attenuated SSDV signal reception with an RTL-SDR.