Category: Satellite

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

Setting up a GOES Weather Satellite Antenna System

Many people with an RTL-SDR have had fun receiving NOAA and METEOR low earth orbit (LEO) weather satellite images. However, a step up in difficulty is to try and receive the geostationary orbit (GEO) weather satellites like GOES. These satellites are locked to a fixed position in the sky meaning there is no need to do tracking, however since they are much further away than LEO satellites, they require a 1m+ satellite dish or high gain directional antenna to have a chance at receiving the weak signal. The GOES satellites transmit very nice high resolution full disk images of the earth, as well as lots of other weather data. For more information see this previous post where we showed devnulling’s GOES reception results, and this post where we showed @usa_satcom’s presentation on GOES and other satellites.

Over on his blog and Twitter account (@lucasteske) Lucas Teske has been documenting his work in building a GOES receive system. The SDR he uses mostly is an Airspy, but recently he showed that our RTL-SDR Blog V3 dongle is also capable at receiving the GOES signal.

The nice thing about Lucas’ post is that he documents his entire journey, including the failures. For example after discovering that he couldn’t find a 1.2m offset satellite dish which was recommended by the experts on #hearsat (starchat), he went with an alternative 1.5m prime focus dish. Then after several failed attempts at using a helix antenna feed, he discovered that his problem was related to poor illumination of the dish, which meant that in effect only a small portion of the dish was actually being utilized by the helix. He then tried a “cantenna”, with a linear feed inside and that worked much better. Lucas also discovered that he was seeing huge amounts of noise from the GSM band at 1800 MHz. Adding a filter solved this problem. For the LNA he uses an LNA4ALL.

To position the antenna Lucas used the Satellite AR app on his phone. This app overlays the position of the satellite on the phone camera making it easy to point the satellite dish correctly. He also notes that to improve performance you should experiment with the linear feeds rotation, and the distance from the dish. His post of full of tips like this which is very useful for those trying to receive GOES for the first time.

In future posts Lucas hopes to show the demodulation and decoding process.

GOES received with the dish, LNA4ALL, filter and an Airspy.
GOES signals received with the dish, LNA4ALL, filter and an Airspy.

Reverse Engineering the Outernet Signal

Outernet is a satellite based file delivery service. Currently they’re beta testing their service and they are using RTL-SDR’s as the receiver. In previous posts we’ve seen that they’re now regularly transmitting weather updates, wikipedia files and more files like images and books. Over time the service is becoming more and more useful. If you’re interested in receiving their service we have a tutorial available here.

While most of the Outernet software is open sourced, the signal protocol itself is closed source, which ties you into needing to use the official Outernet software. Over on his blog, Daniel Estévez has been working on reverse engineering the Outernet signal with the goal of publishing the results and building a fully open source receiver.

So far he’s managed to fully reverse engineer the modulation, coding and framing. He’s also been able to build a GNU Radio program that receives the Outernet frames and a Python program called free-outernet which does the decoding. His post goes into greater details on how he reverse engineered the signal and what his finding are.

The Outernet Concept
The Outernet Concept

Outernet Weather Updates Now Coming Down

A few days ago we reported that the Outernet L-band satellite service had just upgraded their software to make it available for receiving APRS and weather updates. Back then it wasn’t clear what the weather updates would entail. Today weather updates starting being transmitted. They are using NOAA data and displaying it on a live weather app (which can also be viewed online here).

The app can be used to view weather data such as wind vectors, temperatures, relative humidity, total precipitable water, total cloud water, mean sea level pressure and ocean currents. Outernet writes that the global weather data will be updated via their satellite system once per day, and that each update also provides 24h, 48h and 72h predictions. 

We also see that grib files for mariners are now coming in as well as several Wikipedia articles and regular APRS broadcasts from the ISS.

It looks like the Outernet service is becoming more and more useful over time. If you are interested in receiving Outernet with an RTL-SDR see our tutorial post here.

L-Band Setup with Mini LNA4ALL and Mini Patch Antenna

Over on his YouTube channel Adam 9A4QV has uploaded a new video showing reception of L-band signals with a bias tee powered LNA4ALL and a small patch antenna. The video seems to show a new miniature bias tee powered LNA4ALL device that Adam might be working on. The LNA4ALL is a low noise amplifier that works well with our bias tee capable RTL-SDR dongles.

The patch antenna is made out of a single piece of PCB board which was made by etching out the patch pattern with masking tape. While the patch antenna is not optimal, and tested indoors, Adam is still able to receive some AERO signals.

Later in the video he compares the PCB patch against a GPS patch antenna which gets no reception. He also compares the results when two LNA4ALL’s are used in series. Using two LNA’s improves reception slightly.

Outernet rxOS Version 3 Released: Automatic Decompression, APRS, NOAA Weather Data, News Updates

Outernet is a new L-band satellite services which aims to be a “library in the sky”. Their satellite signal can be received from almost anywhere in the world, and they aim to constantly transmit data like news, weather updates, books, images/videos and other data files. The service is free and can be received with an RTL-SDR, LNA and patch antenna. We have a full tutorial on receiving their service available here.

The “rxOS” decoder, file management system and web interface GUI has recently been updated to version 3.0. This new version has several new features:

  1. Downloaded files are automatically decompressed after downloading, so they can be viewed directly in the Outernet web interface.
  2. An hourly transmission of APRS data which comes from the repeater on board the international space station. APRS messages can now be relayed across the world via the ISS and Outernet.
  3. This Monday they will begin transmitting NOAA weather data (we are unsure if this entails images or text data yet)
  4. Soon they should begin transmitting news data too.

More details on the update can be found on their forum post. To update the service on a CHIP or Pi 3, download the .pkg file from the links on the forum and choose this file in the Update Firmware section of the Outernet settings menu. 

An example of some received APRS messages from the Outernet.
An example of some received APRS messages from the Outernet.
outernet_aprs
APRS messages