APT – Automatic Picture Transmission for NOAA Satellites – Scicos/Gnurc Simulation


In the previous post I examined the reception of NOAA15/18/19 Low Earth Orbiting satellites for weather information (Ref.1). These satellites use the APT Automatic Picture Transmission format to send signals (Ref.2&3). APT is a mixture of analog and digital transmission, and it reminds me of my early career working on FM microwave links carrying analog NTSC video. I simulated the signal in Scicos and GNU Radio. These are my results.

APT Automatic Picture Transmission Signal Format

Fig.1 APT Frame Format (Ref.2)
Fig.2 APT Line Format (Ref.3)

Figure 1 shows the APT Frame format as described in Ref.2. Figure 2 shows the Line Format taken from Ref.3. Data is sent at one line every 500msec, with each line containing 2080 words (8bits/word). Each line contains Synchronization, Space & Marking, and Video information. There are two video channels A & B per line. Each APT Frame has 128 lines, which takes 64secs or approx. a minute to transmit.

Scicos Simulation

Fig.3 Scicos Simulation Random Data R=4060/4 Baud
Fig.5 Scicos Simulation APT Line Data 4060Bd
Fig.6 ScicosLab Editor APT Line Data Construction
Fig.7 Scicos APT 256 Level AM 2080 Words = 500msec

In order to study the APT signal, I first constructed a Scicos model with just random data (no sync or timing) to setup the AM & FM modulators as shown in Figure 3. A random number generator produces a stream of random levels from 0 to 255. In order to achieve the modulation index of 87.5%, an offset of 17 is added.
mod_am = [(Vmax-Vmin)/2]/[(Vmax+Vmin)/2] = [(273-17)/2]/{(273+17)/2] = 0.875

Once this AM modulation index is achieved, the signal is normalized to +/-1V. The 256 level (2^8) AM modulated 2400Hz tone FM modulates the 137MHz carrier, which for convenience is set at 100KHz. FM modulation is via a VCO superblock with a deviation of +/- 17KHz. The AM modulation waveforms and FM spectra are shown in Figure 4.

The next step is to build a more representative signal including synchronization which is key to the signal. I did this by creating the data stream in ScicosLab and reading this into Scicos replacing the random data source with a data structure as shown in Figure 5. The sync pulses varied according to the spec from level 11 to 244. I chose random levels for the Video A and Video B. The construction was done in the ScicosLab Editor as shown in Figure 6. Figure 7 shows the APT 256 Level Modulation for one line of 2080 words at 500msec.

APT Signal Analysis

Fig.8 SDR# Demodulate APT Signal Save as 16bit Audio WAV File
Fig.9 GNU Radio Schematic to View WAV File
Fig.10 APT Audio WAV File Viewed in GNU Radio 1000msec = 2 Lines
Fig.11 APT Audio WAV Fine Structure Showing Sync Pulses

In order to analyze a real APT signal, I setup for reception in SDR# with settings of WBFM with BW = 50KHz as in Figure 8. Then I recorded the demodulated audio as a 16bit audio WAV file. I then studied the signal in GNU Radio as shown in the schematic in Figure 9. Figure 10 shows 1000msec or 2 lines of capture, clearly showing the synchronization and video information. The narrow sync bursts are separated by 250msecs. Figure 11 shows a close-up of the sync burst.

Fig.12 YouTube Video APT – Automatic Picture Transmission for NOAA Satellites – Scicos/Gnurc Simulation

GNURadio Companion Basics Course:

Please send your comments, questions and suggestions to:

YouTube Channel
YouTube Channel


#1. – “RTL-SDR for NOAA15/18/19 Satellite Weather on SDRangel”

#2. – “Automatic Picture Transmission”

#3. – “NOAA KLM User’s Guide”

#4. – “GNU Radio”

#5. – “Scicos”

By Jeremy Clark

Jeremy Clark is a Senior Telecommunications Engineer and Advanced Amateur Radio Operator VE3PKC. He is the author of E-Books on Telecommunications, Navigation & Electronics.