on
GOES Satellite Hunt
Build an L-band ground station and follow every transformation from radio-frequency samples to complete LRIT weather products. The guide connects practical RF hardware, GNU Radio, channel coding, CCSDS frames, packet transport, and image files as one system.
- Receive the L-band signal
- Recover BPSK symbols
- Decode CCSDS frames
- Extract virtual channels
- Assemble LRIT products
From a signal to an image
A practical record of the investigation, organized as a reusable technical guide.
This work began as a five-part blog series written while I was reverse engineering the GOES-13 downlink at the end of 2016. I reorganized it here to explain the complete receive chain coherently and to keep the material useful alongside the GOES-16 research that followed.
The investigation led directly to Open Satellite Project. Many of the same ideas also apply to weather satellites with related downlink protocols, including the Meteosat family.
Chapters
Read in order for the complete pipeline, or jump directly to the layer you are implementing.
Motivation
Why receive GOES directly, what the project set out to prove, and how the complete system fits together.
Begin the guideThe hardware setup
Assemble the dish, build a cylindrical waveguide feed, add filtering and amplification, and point the antenna.
Build the receiverThe demodulator
Move the recorded spectrum to baseband, filter and resample it, recover carrier and clock, and output BPSK symbols.
Recover the symbolsFrame decoder
Find the attached sync marker, resolve phase ambiguity, apply Viterbi decoding, and recover fixed-size CCSDS frames.
Decode the framesPacket demultiplexer
De-randomize the stream, correct Reed–Solomon errors, separate virtual channels, and reconstruct space packets.
Extract the packetsFiles and LRIT formats
Process LRIT headers, decompress Rice-coded imagery, name the products, and interpret the complete file catalogue.
Assemble the filesCite this work Plain text · BibTeX
Suggested citation
Lucas Teske. “GOES Satellite Hunt.” Lets Hack It, 2017. https://lucasteske.dev/goes-satellite-hunt/.
BibTeX
@misc{teske2017goessatellitehunt,
author = {Teske, Lucas},
title = {GOES Satellite Hunt},
year = {2017},
publisher = {Lets Hack It},
url = {https://lucasteske.dev/goes-satellite-hunt/}
}