Tagged: weather satellite

YouTube Video: A Tutorial on Receiving and Decoding NOAA and METEOR Satellites

Back in March we posted about The Thought Emporium’s YouTube video that explained weather satellites and demonstrated that images could be downloaded from them using an SDR like a HackRF or RTL-SDR. Now The Thought Emporium have uploaded part two of the video series, which is a tutorial that shows exactly how to use the free software to receive, demodulate and decode NOAA and Meteor satellites.

The first part of the video shows how to use SDR#, Audacity and WXtoIMG to receive NOAA APT weather images. The second part of the video shows how to use SDR#, Audacity, LRPTrx, LRPTofflinedecoder, SmoothMeteor and LRPT processor to receive Meteor M2 LRPT images.

A New Meteor M LRPT Image Decoder for Windows, Linux, MacOS and Raspberry Pi

Thanks to twitter user @LinuxSocist for submitting a link to this new Meteor M weather satellite LRPT decoder called ‘meteor_decoder’ which can be run on both Linux and Windows. Pre-built binary of the software for Windows, Linux Raspberry Pi and MacOS are available at orbides.org.

This software decoder appears to be an excellent choice for those people who want to perform their reception and decoding of Meteor M satellites all in Linux. Previously as explained in this previous post, you were able to receive the QPSK data in Linux with an RTL-SDR and a GNU Radio program, but then you’d still need to boot into Windows or run Wine to run LRPTofflinedecoder in order to generate the image. Now it appears that the image generation can be performed natively in Linux too with meteor_decoder. This help with creating portable automated Raspberry Pi based Meteor M decoder servers.

Meteor M is a class of Russian weather satellites that transmit live weather images of the earth as they pass over your location. They are somewhat similar to the NOAA satellites, although the Meteor satellites transmit higher quality images via a digital LRPT signal, rather than the analog APT signals used by NOAA. With an RTL-SDR, an appropriate antenna and decoding software they can easily be received.

An Example LRPT Image Received with an RTL-SDR from the Meteor-2 M2.
An Example LRPT Image Received with an RTL-SDR from the Meteor M-N2 Satellite.

Simple NOAA/Meteor Weather Satellite Antenna: A 137 MHz V-Dipole

Over on his blog Adam 9A4QV (seller of various RTL-SDR related goods including the LNA4ALL) has just made a post detailing a build of a high performance super simple NOAA/Meteor M2 weather satellite antenna. Most antenna designs for polar orbiting weather spacecraft are based on circularly polarized turnstile or QFH designs. However, Adams antenna is based on a very simple linearly polarized dipole, which makes construction almost trivial.

The idea is that by arranging a dipole into a horizontal ‘V’ shape, the radiation pattern will be directed skywards in a figure 0 (zero) pattern. This will be optimal for satellites travelling in front, above and behind the antenna. Since polar orbiting satellites always travel North to South or vice versa, we can take advantage of this fact simply by orienting the antenna North/South. 

There is also another advantage to Adams design. Since the antenna is horizontally polarized, all vertically polarized terrestrial signals will be reduced by 20 dB. Most terrestrial signals are broadcast in vertical polarization, so this can help significantly reduce interference and overloading on your RTL-SDR. Overloading is a big problem for many trying to receive weather satellites as they transmit at 137 MHz, which is close to the very powerful FM broadcast band, air band, pagers and business radio. In contrast a circularly polarized antenna like a QFH or turnstile only reduces vertically polarized terrestrial signals by 3 dB.

As the satellites broadcast in circular polarization there will be a 3 dB loss in Adams design from using a linear polarized antenna. But this can be considered as almost negligible. Adam also argues that the home construction of a QFH can never be perfect, so there will always be at least a ~1dB loss from inaccurate construction of these antennas anyway.

The final advantage to Adams design is that construction is extremely simple. Just connect one element to the center coax conductor, and the other to the shield, and spread apart by 120 degrees.

Adam 9A4QV's V-Dipole for 137 MHz Weather Satellites.
Adam 9A4QV’s V-Dipole for 137 MHz Weather Satellites.

Adam has tested the antenna and has gotten excellent results. If you want more information about the antenna design, Adam has also uploaded a pdf with a more indepth description of the design and his thoughts.

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

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.