LilacSat-2 GNUradio receiver

I have made my own LilacSat-2 telemetry GNUradio receiver using the flowgraphs included in gr-lilacsat. The new features of this receiver are the following:

  • All the decoders and the frontend are run on the same flowgraph. I find this more practical than having to run all the flowgraphs separately. Also, some blocks can be reused in this way.
  • It uses gr-gpredict-doppler to compensate for Doppler. As I mentioned in a previous post, I prefer this to the Doppler correcting system included in gr-lilacsat.
  • It plots and outputs to a file the signal strength on 437.200MHz and 437.225MHz. This can be used for later analysis.
  • It supports recording file input, or live SDR using an ALSA source (for the FUNCube Dongle Pro+, for instance). Another SDR supported by GNUradio can be easily used.
  • It supports recording both the raw IQ data and the Doppler corrected IQ data. The raw IQ file can be then played back by simultaneously running Gpredict with the correct settings for the recorded pass. The Doppler corrected IQ file can be played back without running Gpredict.

This receiver can be downloaded from GitHub. The flowgraph is a bit crammed, but that's what you get for having all the decoders in the same flowgraph. Several of the input/output blocks are disabled, so that you can choose which ones to use.

Decoding LilacSat-2 telemetry

After having my first QSO through the Harbin Institute of Technology amateur radio satellite LilacSat-2, I decided to give a serious try to the telemetry decoding software. This is available as a GNURadio module. A Linux distribution with all the proper software installed and configured is provided, for an easy use. However, I have used GNURadio in the past, so I wanted to try to setup the GNURadio module directly on my machine.

The web page for LilacSat-2 gives also a description of the different telemetry formats. The satellite has an SDR radio transmitting on 437.200MHz. This radio is used for the FM amateur radio transponder and also to transmit several different telemetry formats. The satellite also transmits telemetry on 437.225MHz, presumably using a different (non-SDR) radio and a different antenna, so that the satellite can keep transmitting telemetry even if the SDR system fails. Typically, when the FM transponder is disabled, the satellite will transmit 9k6 BPSK telemetry on 437.200MHz and 4k8 GFSK telemetry on 437.225MHz. These can be seen in the picture above, which was made using my RF recording and baudline. The packet on the upper right is 4k8 GFSK and the packet on the lower left is 9k6 BPSK. Notice the slight slant due to Doppler.

Continue reading "Decoding LilacSat-2 telemetry"