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
Parameter
2.0 setting
Meaning
Line speed
60, 90, 100, 120, 180 or 240 LPM
Lines per minute; the selected value fixes the line duration.
IOC
288 or 576
Index of cooperation, the historical scan geometry parameter; not a pixel count.
Output width
128-2048 pixels; 576 default
An independently selected raster width. IOC 576 does not require a 576-pixel output.
Default profile
120 LPM, IOC 576, width 576
A common marine starting point; use the transmitting station's stated profile.
Black / white tones
1500 / 2300 Hz
800 Hz grayscale span around a 1900 Hz centre; polarity can be inverted.
Receive sideband
USB or LSB
The radio frontend must place the resulting audio in the expected tone range.
Slant correction
-2 to +2 output pixels per row
A 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.
LPM
Line duration
Samples per line at 48 kHz
32-line sample duration
60
1.000000 s
48,000
32.000 s
90
0.666667 s
32,000
21.333 s
100
0.600000 s
28,800
19.200 s
120
0.500000 s
24,000
16.000 s
180
0.333333 s
16,000
10.667 s
240
0.250000 s
12,000
8.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.
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.