Tagged: GOES

Building A Low Cost GOES Weather Satellite Receiver with an RTL-SDR

Over on Twitter and his github.io page, Pieter Noordhuis (@pnoordhuis) has shared details about his low cost RTL-SDR based GOES satellite receiving setup. GOES 15/16/17 are geosynchronous weather satellites that beam back high resolution weather images and data. In particular they send beautiful high resolution 'full disk' images which show one side of the entire earth. As the satellites are in geosynchronous orbit, they are quite a bit further away from the earth. So compared to the more easily receivable low earth orbit satellites such as the NOAA APT and Meteor M2 LRPT satellites, a dish antenna, good LNA and possibly a filter is required to receive them. However fortunately, as they are in a geosynchronous orbit, the satellite is in the same position in the sky all the time, so no tracking hardware is required.

In the past we've seen people receive these images with higher end SDRs like the Airspy and SDRplay. However, Pieter has shown that it is possible to receive these images on a budget. He uses an RTL-SDR, a 1.9 GHz grid dish antenna from L-Com, a Raspberry Pi 2, the NooElec 'SAWBird' LNA, and an additional SPF5189Z based LNA. The SAWBird is a yet to be released product from NooElec. It is similar to their 1.5 GHz Inmarsat LNA, but with a different SAW filter designed for 1.7 GHz GOES satellites. The total cost of all required parts should be less than US $200 (excluding any shipping costs).

Pieter also notes that he uses the stock 1.9 GHz feed on the L-com antenna, and that it appears to work fine for the 1.7 GHz GOES satellite frequency. With this dish he is able to receive all three GOES satellites at his location with the lowest being at 25 degrees elevation. If the elevation is lower at your location he mentions that a larger dish may be required. It may be possible to extend the 1.9 GHz L-Band dish for better reception with panels from a second cheaper 2.4 GHz grid dish, and this is what @scott23192 did in his setup.

For software Pieter uses the open source goestools software that Pieter himself developed. The software is capable of running on the Raspberry Pi 2 and demodulating and decoding the signal, and then fully assembling the decoded signal into files and images.

Pieters GOES RTL-SDR Receiving Setup
Pieters Low Cost GOES RTL-SDR Receiving Setup

XRIT Decoder for GOES Satellites: Supports Airspy R2/Mini and SDRplay RSP2

Over on his blog USA-Satcom has released his XRIT (LRIT/HRIT) decoder for GOES satellites. The software requires a licence and costs $100 USD. GOES-13 (East), GOES-15 (West) and the new GOES-16 are geosynchronous orbiting satellites that broadcast very nice high resolution weather images of the entire visible disk of the earth. The transmit their LRIT/HRIT signals at about 1.7 GHz at fairly weak power, which means that a good LNA and dish set up is critical to be able to receive them. A dish size of about 1 meter, or an equivalent grid or Yagi is recommended as the lowest starting point.

GOES Full Disk Image of the Earth
GOES Full Disk Image of the Earth

USA-Satcom’s decoder is Windows based and comes with a nice GUI. Some portions of the code are based on the Open Satellite Project created by Lucas Teske. It currently supports the Airspy R2/Mini and the SDRplay RSP2 software defined radios.

The software is not free, it costs $100 USD for the licence. To help curb illegal distribution of his software which has been rampant in the past, USA-Satcom also requests that you show some proof of a working setup which is capable of receiving the GOES signal before inquiring about the software.

If you are also interested, USA-Satcom did an interesting talk at Cyberspectrum a few months ago, and he has also recently uploaded his slides.

Screenshot of USA-Satcoms GOES XRIT decoder.
Screenshot of USA-Satcoms GOES XRIT decoder.

Comparing Two LNA’s for HRIT/LRIT (GOES) Reception

Over on his blog Lucas Teske has been comparing the LNA4ALL and an SPF5189 LNA from eBay on HRIT/LRIT reception from GOES satellites. SPF5189 LNA’s can be found on eBay for less than $8 USD, with free shipping from China, whereas the LNA4ALL costs 27 Euros shipped from Croatia. GOES is a geosynchronous orbit weather satellite which requires a satellite dish or other high gain antenna to receive. It downlinks at about 1.7 GHz, which means that a high quality LNA with low noise figure and good PCB design is needed for reception.

In his post Lucas mentions how he saw a review on eBay stating that the SPF5189 did not work at L-band. However, he found that odd as all of his SPF5189 LNA’s seemed to work just fine with L-band reception. So he did a benchmark comparing the SPF5189 to the PSA5043+ based LNA4ALL which is known to work well on L-band.

From his comparisons he found that the SPF5189 does indeed work well on L-band, and is comparable to the LNA4ALL. He concludes that the reviewer must have received a bad unit, or didn’t know what he was doing.

Lucas also makes an important note regarding the PCB design of these LNA’s. Even though the SPF5189 and PSA5043 chips have similar specs, with LNA’s the design of the PCB is crucial, as a poor design can significantly degrade performance. With the LNA4ALL you can be sure that the design is good, although the SPF5189 LNA’s currently on eBay look to be designed okay as well. Though with some eBay sellers there is no guarantee that you will receive a good board. We note that we have seen some really poor designs for PSA5043 LNA’s out there as well.

The eBay SPF5189 LNA vs the LNA4ALL from 9A4QV
The eBay SPF5189 LNA vs the LNA4ALL from 9A4QV

Receiving GOES 16 Weather Satellite Images with the Open Satellite Project

Back in October/November of last year Lucas Teske showed us how to receive weather satellite images from the GOES line of geostationary satellites with an Airspy SDR (and possibly an RTL-SDR too), dish antenna and the decoding software that he created. 

On November 19, 2016 the next generation GOES 16 (aka GOES-R) satellite was launched by NASA. GOES 16 is a little different to the older GOES satellites as it has better sensors and is capable of capturing and transmitting a new image every 15 minutes which is quite fast. Thus a different and higher bandwidth RF transmission protocol called HRIT (High Rate Information Transfer) is used, compared to the LRIT (Low Rate Information Transfer) signal used on the older satellites.

Once the satellite started transmitting in January 2017, Lucas got to work on trying to create a decoder for the new satellite. After noticing some discrepancies between the published HRIT specs and the actual signal, Lucas sent off an email to NOAA and actually received an email back with the full specifications. With this information he was able to update his Open Satellite Project code and start decoding images from GOES 16.

The images being sent right now seem to just be relays of other similar satellites like Himawari-8 and Meteosat, as it seems that they are still testing the satellite. The relayed images received via GOES 16 received by Lucas can be seen on the Open Satellite Project twitter feed and on Lucas’ personal twitter feed.

Full disk image received via GOES 16, relayed from the Himawari-8 satellite.
Full disk image received via GOES 16, relayed from the Himawari-8 satellite.
Weather data received via GOES 16.
Weather data received via GOES 16.

Receiving GOES Weather Satellite Images with a Small Grid Antenna and an Airspy Mini

GOES is an L-band geosynchronous weather satellite service that can be received typically with a satellite dish. It produces very nice full disk images of the earth. In the past we’ve posted about Lucas Teske’s work in building a GOES receiving system from scratch (including the software decoder for Airspy and RTL-SDR receivers), devnullings post about receiving GOES and also this talk by @usa_satcom on decoding GOES and similar satellites.

Over on Twitter @usa_satcom has been tweeting about his experiments where he has been successfully receiving GOES L-Band weather satellite images with a small grid antenna and an Airspy Mini. In a Tweet he writes that the antenna is an $85 USD Hyperlink 1.9 GHz 22 dBi Grid Antenna made by L-com. A grid antenna may be more suitable for outdoor mounting for many people as they are typically lighter, smaller and more suitable for windy and snowy conditions. As the GOES satellite is in geosynchronous orbit, no tracking motor or tracking mount is required.


Demuxing Frames and Generating Images from the GOES Weather Satellite

In his latest two posts Lucas Teske continues with his series about receiving and downloading weather satellite images from the GOES satellites. In past posts he’s show us how to receive the signal with a satellite dish and Airspy or RTL-SDR (part 1), how to demodulate the signal (part 2), and how to extract frames from the demodulated signal (part 3). Lucas has recently completed his series with parts 4 and 5 having just been uploaded.

In part 4 Lucas shows how to parse the frames and get the packets which will ultimately be used to generate the weather image files. His post explains how to de-randomize the frame data which is initially randomized to improve performance, how to add Reed Solomon error correction, how to demux the virtual channels and the packets and finally how to save the raw packet.

The packet structure
The packet structure

In part 5 Lucas shows us how to finally generate weather satellite images from the GOES satellites. He notes that there is a problem with the LritRice compression method used by NOAA, because the library is currently broken on Linux. So he made a workaround which involved making a Windows application that runs through Wine for decompressing the data. Once the files are decompressed he uses the xrit2pic program which can open the generated .lrit files and convert them into images.

In the future Lucas mentions that he will write a user guide to his LRIT decoder, and make the whole decoding process more user friendly for people who do not care so much about the actual decoding process. Below are some images that Lucas was able to receive with his system.

GOES Full Disk Image of the Earth
GOES Full Disk Image of the Earth
Weatherfax (WEFAX) Image
Weatherfax (WEFAX) Image

Building a Frame Decoder for the GOES Weather Satellite

Yesterday we posted about Lucas Teskes (@lucasteske) success in building a demodulator for the GOES weather satellite. Before that he also showed us how to build an antenna system to receive GOES with an Airspy or RTL-SDR dongle.

Today Lucas continues with part three of his series on GOES decoding. This time he shows how he has built a frame decoder to process the output of the demodulator, and also gives us a link to his code. The decoder is written in C code. Lucas’ post explains how to sync the frame by detecting the preamble, perform convolution encoding to generate a parity and help correct any errors, and decode the frame data.

In part four Lucas will show us how to parse the frame data and extract the packets which will eventually form an image file of the earth.

A decode frame viewed as an image. This shows the syncword pattern and frame counter.
A decode frame viewed as an image. This shows the syncword pattern and frame counter.

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.

GOES LRIT Decoder
GOES LRIT Decoder