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)
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.