Weather satellites pass you by in the sky many times each day unseen to the naked eye. They continuously transmit radio data containing the satellites’ recently captured image data. Anyone is free to retrieve the data themselves. The data is not encrypted, all that’s required is to make the effort to capture and decode it.
Article summary: I received live weather satellite images broadcasted by polar orbiting weather satellites using cheap basic equipment. Retrieving the satellite images is done by receiving the satellites’ radio broadcasts using a simple antenna and decoding the transmitted data into an image.
NOAA-satellites orbit the earth around 14 times each day (the closer an orbit is to earth the faster the object needs to move to maintain a stable orbit). Since there exist many weather satellites in orbit around the earth there are many opportunities to receive data from them. I’ve worked as a forecasting meteorologist and live satellite images are invaluable for forecasting work. As a forecaster I closely monitor the weather in Sweden from satellite images and get updated views of Sweden multiple times each hour. I thought it would be a fun project to retrieve such satellite images myself in a non-professional capacity.
The polar orbiting NOAA-satellite trio NOAA-15, NOAA-18 and NOAA-19 are perfect satellites to retrieve images from as a hobbyist. These NOAA-satellites are a bit older which mean they transmit data using frequency-modulation (FM) in a relatively uncomplicated format called APT (Automatic Picture Transmission) which there exist open source decoding tools for. Because of their age their transmission-frequency is not that high which means that the antenna requirements are not particularly high either. More modern satellites require more effort to interface with.
NOAA-15. NOAA-18 and NOAA-19 transmit at around 137 MHz which means a dipole-antenna would be around 1 m long, a feasible antenna size to work with.
Satellite Reception Equipment
To receive and record the raw satellite data as I did only two things are required except for a computer. That is an antenna and a software-defined radio receiver. Both can be bought cheaply and I spent around $50 on the equipment.
Let’s begin with the antenna as it’s the simpler of the necessary equipment. The NOAA-satellites transmit using circular polarization, this means a circularly polarized antenna will have the best performance. Such antennas are typically quite complicated but luckily linearly polarized antennas can receive the transmission the same but with less gain.
An antenna design that has been proven to work quite well for receiving older NOAA weather satellite images is the V-dipole antenna. It’s an incredibly simple linearly polarized antenna design. It’s a regular dipole antenna with an angle between the antenna legs. For this use case each leg of the antenna should be around 53.4 cm and with a 120° angle between them.
The benefit of this antenna in addition to it being simple and cheap is that it also will filter terrestrial transmissions at similar frequencies to the satellite transmission frequency. Terrestrial transmissions (such as ordinary radio station transmissions) are typically vertically polarized and by having the V-dipole antenna aligned horizontally noisy terrestrial signals will be attenuated and interfere less with the satellite reception.
Software Defined Radio Receiver
I’ll shortly introduce what software defined radio is before moving on the the actual equipment.
When receiving for example an ordinary FM radio broadcast in the car the car radio demodulates the radio signal to produce the actual audio that plays on the speakers. The raw radio signal would sound like unintelligible noise without demodulating it first. What’s playing from the speakers, the actual information in the broadcast, is originally contained in the fast changes in frequency of the received radio signal. A software defined radio is one way of extracting the demodulated signal from modulated data such as FM data. The “software” in its name comes from the fact that this is done using software and not using analogue electrical circuits.
SDR is usually based on quadrature data (that is I/Q-signals). If you twicely sample a signal where the second samples have a 90° phase shift from the first samples you get quadrature data, that is two different wave forms with a quadrature relationship. I won’t be going into the complicated details, the quick summary is that such data can be used to extract any information contained in the original signal, i.e. FM data can be demodulated as can any other type of modulation. SDR uses this quadrature sampled data to process the signals we receive to produce the desired result.
For this project I bought a cheap USB SDR-dongle called RTL-SDR. You simply connect the antenna to the USB-dongle and then use computer software to process the data. There exists many different kinds of SDR receivers and there also exist many computer programs that interface with the SDR receivers.
Receiving the Satellite Images
With the equipment portion done all that’s left is to receive the actual satellite data. To do this one needs to know something about the satellite orbits unless one wants to sit around all day waiting for a signal to appear.
Any satellite tracker tool can be used to predict when a satellite will pass by. I used such a tool to predict when any of the NOAA-15, NOAA-18 and NOAA-19 satellites would pass over my location. I chose satellite passages where the satellite elevation is as close to 90° as possible. A 90° elevation means that the satellite passes directly overhead and this would give the cleanest signal. A few moments before the chosen passage was due I went outside ready to receive the satellite transmission. I started recording using FM-demodulation for the duration of the passage and saved the waveform data for later processing.
Here’s a short video from the reception. The beeping sound is the APT-format sync-frames from the live FM-demodulated signal from the NOAA-18 satellite which passed almost directly overhead Norrköping, Sweden the 11th of November 2020.
Decoding the Satellite Image
To decode the recorded waveform data I used an open software tool called noaa-apt. I originally planned to write a program to decode the APT-data myself since the most popular software for this task was old, unmaintained and difficult to use. It turned out someone had recently spent quite a lot of effort making a more modern alternative and I decided to use that instead. The image below is the result of using noaa-apt with my recorded data.
The received data actually contains two separate images, each from different remote sensing scanners on the weather satellite. The left image is in the visible spectrum of light and will be mostly unusable without the presence of sunlight. The north-western parts of the left image is quite dark because of the lack of direct sunlight at that location. The right image is based on the infrared part of the spectrum which can be used even during nighttime and darkness. Clouds and topography have different signatures in the different parts of the light spectrum and the images look a bit different compared to each other as a consequence.
Some noise can be seen in the image, especially in the top and bottom parts of the images as those parts of the image correspond to when the satellite is close to or below the horizon and the signal is the weakest or even non-existent. I got a mostly clean reception except for some noisy section covering for example parts of Spain. The vertical striped bands at the edges of the images are sync-frames part of the APT-format to indicate when a new line in the image should begin. They made the beeping noise heard if you had a look at the short video I posted above.