Decoder for the Automatic Picture Transmission protocol used by some weather satellites in Julia
Author Alexander-Barth
5 Stars
Updated Last
7 Months Ago
Started In
August 2019

Decoder for the Automatic Picture Transmission protocol

Build Status Build Status Windows codecov.io documentation latest

All you need is a (relatively inexpensive) software-defined radio and antenna for 137 MHz (following for example these instructions) to receive data from the NOAA weather satellites NOAA 15, NOAA 18 and NOAA 19. The data is first recorded using a software like GQRX (https://noaa-apt.mbernardi.com.ar/guide.html).

Installation of APDDecoder.jl

  • Install julia
  • Launch julia and run to following commands to install APTDecoder:
import Pkg
  • Make plots of a decoded and georefenced data stream with the following Julia command:
import APTDecoder
APTDecoder.makeplots("gqrx_20190825_182745_137620000.wav","NOAA 15")

The first argument of APTDecoder.makeplots is the wav file which should include the date and time in UTC (which is the default for GQRX) and the name of the satellite, e.g. "NOAA 15", "NOAA 18" or "NOAA 19".

This produces the following images:


This is the raw data. Channel a is on the right and channel b on the left. Note that channel b is just switching the wave-length during the capture. In part of Europe the sun went already down.

channel A

channel B



Many thanks to the authors of the SatelliteToolbox.jl and the DSP.jl. These packages are used to predict the satellite orbit and to extract the APT signal.