Decoding Voyager 1 Telemetry with GNU Radio

Daniel Estévez often posts on his blog about advanced SDR and radio experiments he's worked on. In a recent post he describes how he decoded telemetry from the Voyager 1 spacecraft using GNU Radio. As Voyager 1 is so far away, and the signal so weak, a rather large scale 100 meter dish is required to receive Voyager 1. So he uses publicly available recorded data received by the Green Bank Telescope in 2015.

Using GNU Radio he first converts the telescope's data file discarding most of the 187.5 MHz recorded bandwidth, then decimates the signal allowing the very weak carrier and data subcarriers to be seen in the resulting high resolution FFT plot. Daniel notes how most of the power is spent in the carrier, allowing ground stations to more easily detect the signal and at least measure doppler to determine the spacecrafts trajectory. The rest of the post explains how the carrier is tracked, how to correct for doppler and phase shifts, how to demodulate the data, apply error correction, and finally decode the data packet.

While not something we can easily listen to directly, it is amazing that we can all be NASA engineers right at home with GNU Radio and tutorials like this.

Voyager 1's Spectrum. Strong carrier in the middle, and two data subcarriers.

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>