Tagged: PLB

dec406: Decoding Second-Generation COSPAS-SARSAT 406 MHz Distress Beacons with an RTL-SDR

Thank you to Fabrice Morel (F4MLV) for writing in and sharing his project 'dec406', an open-source Linux decoder for COSPAS-SARSAT 406 MHz distress beacons. These are the EPIRBs carried on ships, ELTs on aircraft, and personal locator beacons (PLBs) carried by hikers. When activated, they transmit a digital message with a unique ID and often a GPS position, which satellites relay to rescue coordination centers.

What makes dec406 interesting is that it decodes the newer second-generation beacons. Unlike the narrowband first-generation signal, these use a ~50 kHz wide DSSS/OQPSK spread-spectrum signal that must be despread and BCH error-corrected before it can be read. Fabrice tested it with an RTL-SDR, and Bernard (F6BVP) at the F4KLO La Villette radio telescope used an Airspy on the MEOSAR satellite downlink near 1544 MHz, decoding system and calibration beacons in the USA, Cyprus, Brazil and Togo.

Fabrice has published real IQ recordings, and running 'make demo-real-sgb' downloads one and checks the decode. The live scanner supports RTL-SDR, Airspy, PlutoSDR, and HackRF, and the code is MIT licensed. More details are in the F4KLO field report. As Fabrice notes, never radiate test transmissions on 406 MHz. Fabrice has also sent us a PDF article of his results, which you can download here.

A Wide SGB Burst Near 406.05 MHz Received with an RTL-SDR in SDRangel (Top), dec406 Decoding a French Second-Generation System Beacon in Self-Test Mode (Bottom)
A Wide SGB Burst Near 406.05 MHz Received with an RTL-SDR in SDRangel (Top), dec406 Decoding a French Second-Generation System Beacon in Self-Test Mode (Bottom)

AI Disclaimer: While Fabrice does not mention it, the dec406 README and .gitignore reference a "Claude assistant memory" CLAUDE.md file, which suggests that Claude was used to help develop the software.