How to use it
Radiofax, also called weather fax or WEFAX, is the way weather services send charts to ships over shortwave radio. On the air it sounds like a rhythmic warble. This page listens to that sound and draws the chart. If you have no radio, press Play demo signal: the page generates a complete transmission (start tone, phasing lines, a made-up pressure chart, stop tone) and decodes it live.
Receiver settings and example stations are in the next section. To bring the radio’s audio in, see “Getting the audio in” below.
Decoding keeps running when this tab is hidden behind your radio program. Only the drawing pauses, and the chart catches up when you come back.
Where to find it and how to tune
Getting the audio in
There are four ways to get the signal in. Nothing is uploaded: all decoding happens in this tab.
- No radio needed — a web receiver in another tab. Open a public web-based SDR receiver in a second tab (universities and radio clubs run many of them), tune it as described below and start its audio. Here, press Use computer audio, choose that tab in the sharing dialog and switch on sharing of the tab’s audio. Keep the receiver tab playing; this page can stay in the background.
- Your own receiver or SDR program on this computer. Press Use computer audio and share the program’s window or the entire screen together with system audio, or send the program’s output to a virtual audio cable and pick that cable after pressing Use microphone.
- A radio with a speaker. Hold it near the microphone and press Use microphone. It works, but room noise hurts weak signals; a cable from the headphone socket to the line or microphone input is better.
- A recording. Load a WAV or MP3 file with Open audio file.
Receiver setup
| Setting | Value |
|---|---|
| Mode | USB. |
| Filter width | About 2.4–3 kHz, so that the band from roughly 1.2 to 2.6 kHz passes. |
| Tuning | Schedules list the assigned frequency. In USB set the dial 1.9 kHz lower: for 7880 kHz, dial 7878.1 kHz. Black then arrives as 1475 Hz, white as 2325 Hz. |
| AGC / note | Medium AGC, noise reduction off. Almost all charts use 120 lines per minute and IOC 576. |
Example frequencies
| Frequency | What | Receiver setting | When / note |
|---|---|---|---|
| 7880 kHz | German weather service (DWD), Pinneberg, call sign DDK3. Charts for the North Atlantic and Europe. | USB, dial 7878.1 kHz | Charts all day, for example a surface analysis around 04:30 and 12:56 UTC. DWD also uses 3855 kHz (DDH3) and 13882.5 kHz (DDK6). |
| 13882.5 kHz | DWD, call sign DDK6. | USB, dial 13880.6 kHz | Same programme as DDK3. |
| 3855 kHz | DWD, call sign DDH3. | USB, dial 3853.1 kHz | Same programme as DDK3. |
| 4610 kHz | Northwood, United Kingdom, call sign GYA. | USB, dial 4608.1 kHz | Listed round the clock; 8040 and 11086.5 kHz (06:00–20:00 UTC) are the alternatives. |
| 6340.5 kHz | US Coast Guard, Boston, call sign NMF. | USB, dial 6338.6 kHz | All broadcast times; also 9110 kHz. |
| 11030 kHz | Australian Bureau of Meteorology, Charleville, call sign VMC. | USB, dial 11028.1 kHz | All broadcast times; charts for the Australian region. |
Segments and schedules change from time to time. The Worldwide Marine Radiofacsimile Broadcast Schedules of the US National Weather Service and the German weather service list the current frequencies and times.
Controls
- Source buttons: computer audio, microphone, audio file, demo signal and Stop source. Stopping stores the chart received so far.
- Start picture / End picture: manual control for a transmission you joined in the middle, when the start tone has already passed.
- Lines per minute and index of cooperation: almost all weather charts use 120 and 576. Changing either starts a new chart.
- Centre frequency: move the slider or drag on the waterfall until the orange and green markers sit on the signal. “Use detected centre” does it for you. With “Set the centre automatically” ticked, the page tunes itself while it waits and hears only the steady white tone that stations send between charts, and again on the start tone. During a picture it leaves the centre alone.
- Black point, white point, Invert: contrast of the picture.
- Phase: drag the chart sideways, use the slider, or focus the chart and press the left and right arrow keys. The picture wraps around.
- Follow the slant automatically: on by default. The page measures the speed of the incoming sound from the exact pitch of the white level and bends the chart accordingly. It is meant for web receivers, whose players keep changing the playback speed slightly. With a receiver of your own it changes almost nothing and can be unticked. It needs white areas, so it does nothing on dark satellite pictures. You can tick and untick it at any time, also for a chart that has already arrived.
- Straighten by the chart’s frame: on by default. When the chart has a frame, its upright left line is found in the part received so far and every row is shifted so that the line is straight. Charts without a frame are left as they are.
- Slant: one value for the whole chart; “Use estimate” takes it from the phasing lines.
- Save PNG, Charts received, Clear: every finished chart is kept in a list for this session and can be saved at full resolution.
How it works
Radiofax is frequency modulation of an audio tone. Each brightness g between 0 (black) and 1 (white) is sent as the frequency
To measure it, the decoder multiplies the audio by a cosine and a sine at the centre frequency fc = 1900 Hz and low-pass filters both products. Together they form a complex signal z whose angle turns faster or slower as the tone moves. The frequency is the angle step between neighbouring samples taken at the rate fs:
At 120 lines per minute one line lasts exactly half a second. The index of cooperation (IOC) fixes the shape of the picture: a line is π × IOC pixels long, which is 1810 pixels for IOC 576 and 905 for IOC 288.
A transmission announces itself. First comes the start tone, black and white alternating 300 times per second (675 for IOC 288). Then follow phasing lines, white with a narrow black bar where the picture edge is. The decoder finds the bar and puts the left edge there. Because the bar should arrive exactly every half second, its slow drift from line to line also reveals the clock error, the starting value for the slant. After the chart a 450 Hz stop tone and a few seconds of black end the picture, and the chart is stored.
The page stores the measured frequency of every pixel, not grey values. That is why phase, slant, contrast and centre can be changed afterwards without receiving the chart again.
Things to try
- Run the demo at 1× with sound and watch the waterfall: two bright stripes during the start tone, mostly the white line during the chart.
- Move the slant slider on a finished chart. A clock error of only 500 parts per million shifts each line by almost one pixel.
- Drag the centre 100 Hz off and see the whole picture turn darker or lighter.
- Press Start picture in the middle of the demo, then fix the split picture by dragging it sideways.
- Switch the demo to 16× and watch a four-minute chart arrive in a quarter of a minute.
Frequently asked questions
Why does my chart lean to one side?
The clock that plays or records the sound runs slightly fast or slow, so each line comes out a little too long or too short. With a receiver and sound card of your own the error is constant: one slant value, taken from the phasing lines or set with the slider, straightens the whole chart. Web receivers also change their audio speed while you listen, so no single value fits a whole chart. “Follow the slant automatically” handles most of that: it reads the speed from the pitch of the white level, line by line. Players of web receivers also drop tiny silences of a few milliseconds into the sound. The decoder finds them and cuts them out; otherwise each one would push the rest of the chart sideways.
Why is the chart full of short horizontal dashes?
The shortwave signal is weak or fading, and the FM detector loses it for a moment at a time. The decoder skips the worst of it but cannot repair it. Try another frequency of the same station, another time of day, or a receiver further from or nearer to the transmitter. On a web receiver make the filter wide enough to pass 1.0 to 3.0 kHz.
Why is the picture cut in two?
The decoder missed the phasing lines, so it does not know where a line begins. Drag the chart sideways until the edge is in the right place.
Is my audio sent anywhere?
No. Everything is computed in your browser, and the page works offline.