Linux Command Line based Doppler Correction and Demodulation Tools
Programmer Andres has recently been working on creating a toolset for receiving AX.25 packets (FSK 9600) from satellites with an RTL-SDR or other software defined radio. The AX.25 protocol is commonly used for APRS packet radio or telemetry in amateur radio satellites. Andres’ programs focus on using a true UNIX philosophy of piping data between different programs. The toolset consists of doppler correction and demodulation tools and the piping philosophy is demonstrated in the following example:
rtl_sdr | doppler | demod | multimon-ng
Andres writes…
rtl_sdr receives raw IQ data from satellites which is then piped to “doppler” which corrects doppler offset. Zero centered baseband signal is piped to “demod” which outputs demodulated audio suitable for multimon-ng to do actual AX.25 packet decoding.
Such pipeline is intended for resource constrained embedded platforms like RaspberryPi or BeagleBoneBlack where running full blown SDR software would be too much.
The doppler corrector tool works by using the same libraries for calculating satellite positions as those used in Gpredict and the demod tool uses the liquid-dsp library to demodulate the IQ stream.
More information about Andres’ project can be found in these three blog posts that he has written.
- Pipe SDR IQ data through FM demodulator for FSK9600 AX25 reception
- Liquid-dsp based command line FM demodulator
- Doppler correction tool for SDR
Andres also writes that he would be interested in hearing any feedback or pull requests on GitHub for these tools.