Inspiration

Every spacecraft depends on a ground station that can pull a faint, drifting signal out of noise, and that often means people tuning settings by hand. We wanted a receiver that does it all by itself: find the signal, identify it, clean it and decode it, with no human tuning.

What it does

Rover Rangers is an autonomous receiver for weak satellite signals, built in four parts:

  • Recognizing signals and fixing Doppler: 88% modulation accuracy, blind Doppler correction from 33% to 96.7%, and 84% on 24 classes in RadioML 2018.
  • Blind deep-space receiver: within 0.3–0.6 dB of the theoretical limit, with 0 errors in 18,000 bits using the Voyager code.
  • Real telemetry, hostile channel: 99.2% of 861 real SatNOGS frames recovered byte-for-byte through drift, dropouts and hops.
  • Real satellite pass: 71 CRC-verified packets decoded from OrigamiSat-2.

How we built it

Python and PyTorch with 1D CNNs trained on RadioML, using Northeastern's HPC (V100 GPU). Signal processing for detection, timing, M-th power Doppler estimation and sync-word framing, plus CRC checks, AX.25 decoding and the Voyager convolutional code with Viterbi decoding. We tested on simulated impairments with known values, then on real SatNOGS data.

Challenges we ran into

Removing Doppler needs the modulation, but Doppler hides the modulation; trying every hypothesis and keeping the consistent one solved it. We also handled dataset limits (QAM16 vs QAM64), simulation-to-real differences, and HPC issues like GPU driver mismatches, memory crashes and a 21 GB download.

Accomplishments that we're proud of

Covering find, identify, clean and decode end to end, from simulated benchmarks to a real satellite pass, with every result checked against known truth or a checksum.

What we learned

Noise can only be reduced, while Doppler can be removed almost exactly. Autonomy comes from checking answers, not guessing settings. And real data never behaves quite like simulation.

What's next for Rover Rangers

Run the full receiver on real IQ recordings, compare our Doppler tracks with orbit predictions, add more modulations (8PSK, GMSK), and train on the full RadioML 2018 dataset.

Built With

Share this project:

Updates

Submission history