HF radiofacsimile

Weather Fax

Marine radiofax sends a monochrome chart as a continuous scan. It shares the voice-band audio path with SSTV, but does not use a VIS-coded Martin or PD frame. Line speed, scan geometry and tuning determine how the chart is assembled.

Signal and decoder settings

Parameter2.0 settingMeaning
Line speed60, 90, 100, 120, 180 or 240 LPMLines per minute; the selected value fixes the line duration.
IOC288 or 576Index of cooperation, the historical scan geometry parameter; not a pixel count.
Output width128-2048 pixels; 576 defaultAn independently selected raster width. IOC 576 does not require a 576-pixel output.
Default profile120 LPM, IOC 576, width 576A common marine starting point; use the transmitting station's stated profile.
Black / white tones1500 / 2300 Hz800 Hz grayscale span around a 1900 Hz centre; polarity can be inverted.
Receive sidebandUSB or LSBThe radio frontend must place the resulting audio in the expected tone range.
Slant correction-2 to +2 output pixels per rowA manual row-dependent horizontal correction in the app preferences.

Line timing

Line duration is 60/LPM seconds. At 48 kHz, the decoder consumes round(48000 × 60/LPM) samples per line and maps each line to the selected output width. This is independent of the chart's eventual height, which grows as more lines arrive.

LPMLine durationSamples per line at 48 kHz32-line sample duration
601.000000 s48,00032.000 s
900.666667 s32,00021.333 s
1000.600000 s28,80019.200 s
1200.500000 s24,00016.000 s
1800.333333 s16,00010.667 s
2400.250000 s12,0008.000 s

IOC and image proportions

IOC comes from mechanical fax geometry: it relates the scanning drum diameter to the distance between successive scan lines. Changing the digital output width changes pixel sampling, not the transmitted IOC. Use the station's LPM/IOC pair and adjust display proportions separately if a chart appears stretched.

Tuning the chart into audio

NOAA's marine FAQ describes the common USB convention of tuning 1.9 kHz below the published fax carrier. For a listed carrier of 9108.1 kHz, that convention gives 9106.2 kHz on the USB dial. A radio or SDR that labels the signal differently may already apply the offset, so check its convention rather than subtracting twice.

NOAA marine radiofax FAQ and the worldwide radiofax schedule are the primary references for station tuning and published LPM/IOC combinations. Consult the live schedule for current transmissions.

Recovery algorithm and limits

The 2.0 decoder divides audio into configured-length lines, estimates tone frequency over each output pixel window, and maps frequency to gray = clamp((f - 1500)/800, 0, 1) × 255. Inversion reverses that grayscale mapping; slant correction shifts each successive output row by the configured amount.

LPM and IOC are selected by the operator. This receiver does not automatically determine them from a marine start/phasing sequence. Starting replay in the middle of a chart can shift its horizontal origin. A wrong LPM creates large geometric errors; a small clock mismatch produces gradual slant.

Lossless calibration strips

These generated 32-line strips exercise all six supported line speeds with grayscale ramps and broad black/white bars. They begin directly with image rows, without start, phasing or stop signals. They are calibration material, not weather forecasts or recordings of a transmitting station.

Weather Fax 60 LPM

Synthetic grayscale calibration strip. Image rows only; no start, phasing or stop sequence. Not a weather forecast.

48,000 samples/s · 1 channel · 32.00 s

Lossless FLACPCM16 WAV

Generated at 1500 Hz black and 2300 Hz white with a continuous phase and exact configured line length.

Synthetic grayscale Weather Fax calibration strip
Expected grayscale strip.

Weather Fax 90 LPM

Synthetic grayscale calibration strip. Image rows only; no start, phasing or stop sequence. Not a weather forecast.

48,000 samples/s · 1 channel · 21.33 s

Lossless FLACPCM16 WAV

Generated at 1500 Hz black and 2300 Hz white with a continuous phase and exact configured line length.

Synthetic grayscale Weather Fax calibration strip
Expected grayscale strip.

Weather Fax 100 LPM

Synthetic grayscale calibration strip. Image rows only; no start, phasing or stop sequence. Not a weather forecast.

48,000 samples/s · 1 channel · 19.20 s

Lossless FLACPCM16 WAV

Generated at 1500 Hz black and 2300 Hz white with a continuous phase and exact configured line length.

Synthetic grayscale Weather Fax calibration strip
Expected grayscale strip.

Weather Fax 120 LPM

Synthetic grayscale calibration strip. Image rows only; no start, phasing or stop sequence. Not a weather forecast.

48,000 samples/s · 1 channel · 16.00 s

Lossless FLACPCM16 WAV

Generated at 1500 Hz black and 2300 Hz white with a continuous phase and exact configured line length.

Synthetic grayscale Weather Fax calibration strip
Expected grayscale strip.

Weather Fax 180 LPM

Synthetic grayscale calibration strip. Image rows only; no start, phasing or stop sequence. Not a weather forecast.

48,000 samples/s · 1 channel · 10.67 s

Lossless FLACPCM16 WAV

Generated at 1500 Hz black and 2300 Hz white with a continuous phase and exact configured line length.

Synthetic grayscale Weather Fax calibration strip
Expected grayscale strip.

Weather Fax 240 LPM

Synthetic grayscale calibration strip. Image rows only; no start, phasing or stop sequence. Not a weather forecast.

48,000 samples/s · 1 channel · 8.00 s

Lossless FLACPCM16 WAV

Generated at 1500 Hz black and 2300 Hz white with a continuous phase and exact configured line length.

Synthetic grayscale Weather Fax calibration strip
Expected grayscale strip.

All protocol samples · Audio and SDR input reference