Tagged: weather satellite

Using 50 Lines of Python Code to Decode NOAA APT Weather Satellite Images

There are already many image decoders for the NOAA APT weather satellites available, with the most common and feature rich program being the abandoned freeware "WXtoIMG".

However many people may not know how simple the APT digital signal processing code is. Over on his blog post Dmitrii Eliuseev explains how only 50 lines of Python code are required to decode an image from received APT audio. Dmitrii's post shows how a Hilbert transform is used on the APT audio which is essentially the entire decoding step. This is then followed by a for loop that calculates the pixel luminosity from the decoded data, and plots it onto an image file. 

Of course the image is only grayscale (or in Dmitrii's case he decided to use greenscale), but adding false color and various other image enhancements found in advanced software like WXtoIMG are just standard image processing techniques.

Dmitrii concludes with the following:

Interesting to mention, that there are not so many operational radio communication systems in the world, the signal of which can be decoded using 20 lines of code. The NOAA satellites are about 20 years old, and when they finally will retire, the new ones will most likely be digital and format will be much more complex (the new Russian Meteor-M2 satellite is already transmitting digital data at 137 MHz). So those who want to try something simple to decode can be advised to hurry up.

[Also mentioned on Hackaday]

Simple decoding of NOAA APT satellites in Python

FAASGS: A Setup to Build a Fully Automatic Amateur and APT Weather Satellite Ground Station

Over on GitHub stdevPavelmc has released his software called FAASGS (Fully Automatic Amateur Satellite Ground Station). FAASGS is an open source program that allows RTL-SDR users to set up a satellite ground station that tunes, record and generate images for NOAA APT weather satellites, as well as records FM amateur radio satellites. The software runs on a single board computer such as a Raspberry Pi, however in the authors own setup he uses an Orange Pi Prime board. The features include:

  • Web interface to see the next passes, the recorded ones, and details for it.
  • Receive any satellite in FM mode (SSB is possible but no there is doppler control yet, so no SSB by now)
  • Record the satellite pass and keep the audio for later.
    • APT WX audio is preserved in wav format and 22050 hz of sampling (the format wximage needs to work with)
    • FM audio satellites is preserved in .mp3 mode but with high quality settings, and other tricks.
      • The spectrogram of the audio is embedded as album art (see below).
      • The pass data and receiving station are stored in the mp3 tags.
  • Automatic decode APT images from WX sats (NOAA 15, 18 and 19)
  • For the voice FM sats we craft a spectrogram and embedd the metadata of the pass on the image
FAASGS main screen showing recordings
FAASGS screen showing an FM amateur radio satellite pass

FengYun-2G Confirmed to be Receivable with a WiFi Grid Dish

Back in November 2020 we posted about the release of a decoder for the FengYun line of geostationary weather satellites which provide full disk images of the Earth and are positioned to cover parts of Europe, Africa, the Middle East, Asia, Russia, and Australia. Back then only a few people had attempted decoding this, and it was believed that a 120cm satellite dish or larger would be required.

However, today on Reddit user u/Harrison_Clark55 has shown that it is possible to receive FengYun-2G with a typical 90-100cm WiFi grid dish. These WiFi grid dish's have proven to work well for other geostationary weather satellites such as GOES and GK-2A.

We do note that u/Harrison_Clark55's image appears to be missing a few lines of data, and they are based in Australia where the elevation of FY-2G could be quite high depending on what side of the continent they are on. So it's possible that receivers in lower elevations may still require a larger dish size to work.

Full Disk FY-2G image received by u/Harrison_Clark55 (see the Reddit post for full resolution image)

Explaining the 9A4QV V-Dipole Design for Receiving 137 MHz Weather Satellites

Back in 2017 we posted about Adam 9A4QV's simple V-Dipole antenna design which works very well for receiving NOAA and Meteor weather satellites at 137 MHz. This type of antenna is a lot easier to build compared to a QFH or turnstile, and it results in good performance if built and set up correctly. Over the years he notes that he's received a number of questions asking to clarify the design and so he's uploaded a YouTube video which explains the built and dimensions of the antenna clearly.

137 MHz WX-SAT original 9A4QV V-dipole antenna

FengYun-2H/G Geostationary Weather Satellite Now Decodable with 120cm Dish (Europe to Australia Coverage)

Hot on the heels of the GOES-13 weather satellite decoder that we posted about a few days ago, @aang254 has just released a new RTL-SDR compatible decoder for the FengYun-2H, 2G and possibly 2E geostationary weather satellites.

The FengYun-2 line of weather satellites are the Chinese equivalents to GOES, and they are positioned to cover parts of Europe, Africa, the Middle East, Asia, Russia, and Australia. So this is another geostationary weather satellite now available to Europeans which broadcasts in the L-Band at 1687.5 MHz. And unlike the weaker GOES-13 L-Band downlink, the FengYun-2 downlink is much stronger which means that reception with a 120cm satellite dish should be possible. We note that it has not yet been confirmed if the typical 90-100 cm WiFi dishes used with GOES-16 and 17 will be big enough to work. @aang254 writes:

Yesterday I successfully decoded the S-VISSR downlink from FengYun-2H thanks to a recording by @MartanBlaho. It is stronger than PDR on EWS-G1 (see Zbychu's signal twitter.com/ZSztanga/statu) meaning it should (untested) be doable with a 120cm (or smaller but no confirmation again) dish instead of 180cm.

It covers parts of Europe, Russia and down to Australia. FY-2G and FY-2E (no confirmation for this one yet) are also decodable in the same way. I released an early decoder, that currently is not suitable for automated setups but allows getting images already. A later version (that should come soon-ish) will allow live decoding / autonomous setups in a similar fashion to other satellites.

Also, the res is 2km/px on VIS and 8km/px on IR, so half that of GOES-13 with similar-ish coverage (Europe is less visible though).

(also forgot to say but the bandwidth is under 2Mhz, allowing a rtlsdr to be used)

https://github.com/altillimity/S-VISSR-Ingestor

FengYun 2H (Left) / 2G (Right) Coverage
FengYun-2H Image Courtesy of @ZSztanga and inverted by @petermeteor

Information about Receiving the GOES-13 Weather Satellite (Europe Coverage with 1.8m Dish)

For some time now many weather satellite enthusiasts have enjoyed the ability to relatively easily receive live high resolution images directly from the GOES-16, GOES-17 and GK-2A geostationary satellites (tutorial here). However, while much of the world can see at least one of these satellites, European's have been left out.

What may be of some interest to Europeans is that the older GOES-13 (aka EWS-G1) satellite was repositioned in February 2020, and it can now be received in Europe (as well as Africa, the Middle East, Asia, Russia and West Australia) until at least 2024 when it will be replaced.

The important catch however is that GOES-13 is not broadcasting the same easy to receive LRIT/HRIT signals that the other satellites use. The signal is still in the L-Band at 1685.7 MHz, however it is called "GVAR" and it is much weaker and uses 5 MHz of bandwidth. For GOES 16/17 and GK-2A a 1m WiFi grid dish, LNA and RTL-SDR was sufficient, but for GOES-13 you'll need a much larger 1.8m dish, and a wider band SDR like an Airspy. The big dish requirement significantly increases the reception challenge.

We also note that the decoder is being developed by @aang254 and u/Xerbot and it is not yet publicly released. However, they do intend to release it soon. Update:

Over on his blog Carl Reinemann has been collecting some useful information about GOES-13 reception. Over on Reddit u/derekcz has also created a post with some useful information. We've also been talking to @ZSztanga in Poland who has been testing this satellite out, he wrote:

My hardware is: 180cm prime focus dish, with a custom cantenna (120mm diameter). I'm using the SAWBIRD GOES LNA. I will be switching to the + version, because the setup is still lacking a few db SNR. The SDR is the one I use for HRPT: the airspy mini

I found that the USB connection on the airspy generates a lot of noise, so I removed the USB cable, by moving the airspy to the laptop. I use 2m of CNT-400 coax and it works much better now. I get about 2 db SNR more. Thought you might find it interesting.

@ZSztanga's GOES-13 Reception Setup, with 1.8m dish.

We note that there is some interesting differences with GOES-13 images. Since the image is less processed, it is higher resolution (a full resolution image can be found on this Reddit post), as well as not cropped, meaning that the Earth's atmosphere is visible. Please also follow @ZSztang on Twitter for more images.

NOAA-APT Decoder Updates: False Color, Pass Prediction and more

In the past we've posted a couple of times about the NOAA-APT decoder software as it is a worthy alternative to the now abandonware software WXtoIMG. However, it lacks certain features which makes WXtoIMG still the go to program for NOAA weather satellite decoding.

As NOAA-APT is open source it has recently seen a few new updates from another contributor, as well as the original author. These changes make it quite a bit more useful, although admittedly not perfect. Hopefully we'll see continued refinement over time. Regardless, this is still a great piece of software which is open source and multi-platform. Martin Bernardi, the original contributor writes:

Although I wasn't planning to continue working in my program, the quarantine happened so I worked on the program a little. Later, a person (Arcadie Z) added more features too, so I created a new version in case you want to add a blog post about it.

Added features since the last blog post:

- Redesigned GUI.
- Satellite prediction and map overlay (but has offsets I can't fix yet).
- False color images
- Histogram equalization (improves the contrast and brightness of images)
- Automatic image rotation depending on pass direction

In the end, the map overlay and false color does not work very well, but it is better than nothing I guess.

The NOAA-APT Decoder GUI

John’s Windows 10 NOAA Weather Satellite Software Guide for RTL-SDR

Thank you to John First for submitting his guide all about the setup and use of the software required to receive NOAA weather satellite images on Windows 10 (pdf file) with an RTL-SDR dongle. John's guide covers the use of SDR# for receiving the signal, WXtoIMG for decoding the signal, and Orbitron for tracking the satellite and automatically tuning SDR# when a satellite is in range.

He also explains the use of the VB-Audio Virtual Cable for piping audio between SDR# and WXtoIMG, as well as the DDE Tracking and Scheduling Plugin for interfacing SDR# with Orbitron, and finally how to do NTP clock synchronization to ensure the local time is accurate.

An Excerpt from John's Guide
An Excerpt from John's Guide