Creating a GOES Weather Satellite Demodulator

Last week we posted about Lucas Teske’s (@lucasteske) experience with setting up an antenna system that can receive the geostationary GOES weather satellites. He set up a dish antenna, feed, LNA and filter and was able to successfully receive the GOES signal with an RTL-SDR and Airspy.

Now Lucas has uploaded his second post where he discusses how to demodulate the GOES signal. The GOES satellites transmit a Low-Rate Information Transmission (LRIT) signal which contains full disk images of the earth as well as other weather data from the secondary Emergency Managers Weather Information Network (EMWIN) signal.

In order to demodulate the signal Lucas wrote a BPSK demodulator in GNU Radio. His post goes into good technical detail and shows exactly how the demodulator is constructed. Basically the the BPSK signal is first decimated down to 2.5e6, normalized with an AGC, then cleaned up with a Root Raised Cosine Filter. From there the signal goes through a Costas Loop PLL to receover the carrier wave, then a Clock Recovery MM block to recover the symbol clock. The data is then output to a TCP pipe for the decoder.

In the upcoming third part of his article Lucas will show us how to actually turn the demodulated data into an image of the earth.

Notify of

Inline Feedbacks
View all comments

Part 3 is up (am I hitting “refresh” on Lucas’s blog over and over again? maybe).

Note that part 3 covers frame decoding, but we will need to wait until part 4 until we actually extract files from these frames.

(I think Lucas might be the George R.R. Martin of weather satellite software documentation LOL). =D

Lucas Teske

LOL XD – Not like G.R.R.M. xD – I just want to write it good, so I must take some of my time to do it. It will be five parts (here are the list: ) but I plan to do Part 4 tomorrow, and Part 5 Sunday (or maybe both tomorrow. Let’s see)


Nice job you did
It’s fascinating you’re dedication

Lucas Teske

Thanks! It took me some time to get the basics of SDR, and some stuff is not very well documented over the internet. So I got some help in hearsat and tried to do the stuff by myself, so when I get everything work I could teach everyone else, so they don’t need to start from “scratch”.


Lucas congratulations, good job. I hope it works well for Meteosat.

Lucas Teske

Thanks Juanro! It should work for Meteosat LRIT, trango in hearsat is doing some work with Tom351 about MSG-3 LRIT. It looks like they have some differences from the GOES LRIT. Meteosats are also reachable where I live, so I plan to get another dish and point to Meteosat (probably MSG-3)