TETRA-Kit: A New Open Source TETRA Decoder

Thank you to Larry for submitting information about his latest project called TETRA-Kit. TETRA-Kit is an extensible open source TETRA downlink decoder for Linux that makes use of GNU Radio as the first stage, so it should be compatible with any SDR supported by GNU Radio, including the RTL-SDR. Larry writes:

[TETRA-Kit] is inspired by a lot of existing stuff (see 'Previous work' in the project page) but started from scratch with those following ideas:

  • Stays as close as possible to TETRA specification layers defined in ETSI EN 300 392-2 v3.4.1 (2010-08)
  • Transmit downlink informations (including speech frames) in Json plain text format to be recorded or analyzed by an external program
  • Reassociate speech frames with a simple method based on associated caller id and usage marker (save messages transmitted simultaneously in separated files)
  • KISS

The decoder implements a soft synchronizer allowing missing frames (50 bursts) before loosing synchronization.

It consists in 3 parts:

  • A physical layer transforming PI/4 DQPSK rf signal to bits (RF frontend is NESDR at 2MBPS)
  • A decoder, which is the actual TETRA stack reading bits and transforming it to Json text
  • A recorder, which read Json stack output and reorder speech frames into separate files

The ETSI codec is also provided so unencrypted speech can be played.

Software is written in C++ and licensed under GPLv3 and use few external softwares with compatible licensing.

TETRA is a type of digital voice and trunked radio communications system that stands for “Terrestrial Trunked Radio”. It is used in many parts of the world, but not in the USA.

TETRA-Kit Screenshot
TETRA-Kit Screenshot

OpenEar Updated to Version 1.6

The RTL-SDR compatible multi-mode digital decoder OpenEar has recently been updated to version 1.6. The latest version currently supports the decoding of FM/AM, TETRA, DMR, Pocsag and ADS-B. New features include a zoomable waterfall and other GUI and functionality improvements. The changelog reads:

6/4/2020
version 1.6.0
- saving last settings
- waterfall
- zoom on spectrum and waterfall with mouse wheel
- better list placement (pocsag & ads-b)
- wav(I/Q) loading (only 1024000 Sample/sec)
- voice volume & mute button
- spectrum range and offset
- rtl gain and correction (ppm)
- top menu
- frequency list
- some DMR improvement on SYNC detection
- solved center frequency issue (DC problem)
- and other few UI improvements

OpenEar Version 1.6
OpenEar Version 1.6

Shiva DX Cluster For SWL/BCL with SDR-Console V3

Thank you to Walter Panella (IU2MEH) for submitting information about his Shiva DX Cluster software which is designed to be used with SDR-Console V3. A DX Cluster is a type of distributed network of software that is used to to advertise that long-distance amateur radio DX stations are transmitting. Walter writes:

Shiva DX Cluster connects to a ham radio dx cluster and repeat the dx spot to shiva clients while adding spots based on list files.

It doesn't send to ham radio dx cluster any spot nor it can receive any spot.

It is intended to use with SDR Console for SWL/BCL ( see screenshots folder ) so they are able to see broadcasting stations, for example, based on scheduling day and time.

Ham radio dx cluster spots are repeated to shiva clients immediately, broadcasting stations and other lists are sent to shiva clients every 10 minutes (default,configurable).

The software is available on Walter's GitHub.

Shiva DX Cluster running on SDR-Console V3
Shiva DX Cluster running on SDR-Console V3

Virtual Plane Spotting Livestream by Piping ADS-B Data into Flight Simulator

Over on YouTube we've recently discovered a live stream by channel Information Zulu that has created a virtual live 24hr view of LAX airport air traffic by piping ADS-B data into a flight simulator game. The stream also combines this with live air traffic audio and arrivals and departures information. Other videos on his channel show highlights like go arounds.

We're not sure what he's using to pipe ADS-B data into the simulator or exactly what simulator this is, but in the video description he notes that he uses a Pi 4, RTL-SDR blog V3 with ADS-B LNA, and an AirNav antenna to receive the ADS-B data. 

This reminds us of the Android ADSB Flight Tracker app which also has a 3D view, and the post about using ADS-B data to simulate what aircraft instruments would show on the real aircraft.

A 3D Printed Dual Screen Cyberdeck with Built in RTL-SDR

A Cyberdeck is a portable retro styled computer on the outside, but on the inside they typically consist of modern components like a Raspberry Pi. Having been inspired by the aesthetic of the Reviiser cyberdeck project, Reddit user u/dapperrogue set out to build his own version with a built in RTL-SDR.

In his Imgur post, dapperrogue documents the build process. The build consists of multiple 3D printed parts for the enclosure, as well as a really cool home made mechanical keyboard and dual LCD screens. Inside is a Raspberry Pi 4, with RTL-SDR Blog V3, as well as supporting components like a 12v to 5v step down converter, USB hub and four cooling fans. The RTL-SDR connects to a BNC port which is accessible from the outside.

CyberDeck with built in RTL-SDR
CyberDeck with built in RTL-SDR

Decoding Radio Telemetry Heard on News Helicopter Video Footage with GNU Radio

Twitter user @d0tslash was watching news helicopter footage of the BLM protests on the 28th of May when he heard something that sounded like an RF telemetry feed in the background audio on the helicopter's video feed. Having seen this previous success at decoding similar helicopter telemetry, he contacted his friend proto17 who proceeded to reverse engineer and figure out how to decode the telemetry, in the end discovering that it was providing location data for the helicopter.

Over on GitHub proto17 has documented the complete process that he took in reverse engineering the telemetry. He first explored the audio in Baudline discovering that there was a 1200 Hz wide FSK signal. Next he used GNU Radio to further analyze the signal, discovering it's baud rate, resampling the signal and then using a GFSK block to demodulate the signal into 1's and 0's.

Finally he used some clever terminal tricks and a Python script to discover the bit pattern and convert the bits into ASCII characters which reveals the helicopter coordinates. The coordinates decoded indicate that the helicopter was indeed circling the protest area.

We looked into the news helicopters in use during the protests and found that Denver news stations all share one helicopter with registration N6UX. Plugging that into adsbexchange.com and looking at the helicopter ADS-B history on the 28th gives a good match to proto17's decoded data. 

News helicopter telemetry audio vs ADS-B history
News helicopter telemetry audio vs ADS-B history

YouTube Tutorial: Installing and Using CubicSDR on a Mac

Over on YouTube user RickMakes has uploaded a video showing how to install and use CubicSDR on a Mac computer. CubicSDR is a general purpose program compatible with multiple SDRs including the RTL-SDR and is one of the few SDR programs available for use on MacOS.

The installation is as simple as downloading the .dmg file from the CubicSDR GitHub page and running the automatic installer. Afterwards you can move the program to your Applications folder. Once opened CubicSDR should then automatically detect any RTL-SDR that is plugged in.

In the rest of the video RickMakes demonstrates CubicSDR and the RTL-SDR in action, receiving various broadcast FM and ISM band signals.

CubicSDR Basic Setup on Mac with RTL-SDR Blog V3

Using ADS-B Exchange to Track Police and Military Aircraft Monitoring the George Floyd Protests

During the recent George Floyd BLM protests police and military aircraft have been playing a large part in the surveillance of protestors. All these aircraft are required to transmit ADS-B which of course can be monitored with an RTL-SDR or other SDR. Many volunteers around the world use RTL-SDRs to upload ADS-B data to an online aggregation service, so flight data from all over the world can be accessed in one place. However, most ADS-B aggregation services like FlightAware and FlightRadar24 censor police and military aircraft from the raw ADS-B data received from the RTL-SDRs. ADS-B Exchange is the only service that has a policy to not censor any aircraft.

Buzzfeed recently ran an interesting article that used ADS-B Exchange to highlight the flight paths of various surveillance aircraft used during the protests, as well as the aircraft types used and who they are registered to. Most interestingly they saw that two military Black Hawk helicopters and a CBP Predator drone was used in Minnesota, and two military Lakota helicopters were using in Washington, DC.

As mentioned in a previous post, ADS-B Exchange recently updated their interface and backend, and they now run tar1090, which is a fully featured ADS-B mapping platform that can display the historical tracks of any tracked aircraft.

We also note that on Twitter John Wiseman @lemonodor also runs several "advisory circular bots" that make use of ADS-B Exchange data to automatically tweet a notification when aircraft are detected as having a circular flight path.

Police helicopter historical tracks over Minneapolis via adsb-exchange.com
Police helicopter historical tracks over Minneapolis via adsbexchange.com