Decoding HF WEFAX transmissions

There are a number of HF radio stations which transmit weather data by fax. Decoding these is straightforward with

The HF receiver

Most WEFAX stations transmit between 4MHz and 15MHz, so the receiver must cover these frequencies. It will need to be able to convert the RF signal to the audio tones required by the sound card. If it can handle SSB or CW it can do this.

Selectivity. WEFAX signals use a shift of 800Hz, so an IF bandwidth of 1600Hz is ideal. The common SSB filter bandwidth of 2200Hz or so is fine; beyond this, the wider the bandwidth, the more susceptible the signal will be to interference from stations on nearby frequencies. A "narrow" CW filter such as 500Hz will distort the signal.

Sensitivity. The more, the better, subject to not overloading the front-end with strong signals.

Stability. The more stable the receiver, the better. If the receiver drifts more than the soundcard and software can track, data will be lost. Some software, including WxSat, does not track the signal at all.

Tuning the receiver

Tuning digital radio signals can be something of a black art. The published frequencies of FAX (and RTTY) stations is generally not, as is often stated, that of the higher of the two tones, but a frequency midway between the two tones.

The WxSat software by default expects the fax tones to be 1500Hz (black) and 2300Hz (white). To produce these tones the receiver should be set so that it injects its carrier below the received signal (the USB mode will do this), offset by the required frequency of the lower audio tone plus half the frequency shift. In this case, the total offset is 1900Hz, so to tune a fax station on 4610kHz, tune to 4608.1kHz USB.

If your receiver has CW or FSK modes you can use these instead of USB, but you will need to find out which sense these modes operate in, and reverse them if necessary (so, for example, with a Kenwood TS450S you would use CW or FSK-R). You will also need to find out what AF tone the receiver uses for CW, and what shift it assumes for the FSK modes. (Using USB is much more straightforward!)

The computer and soundcard

The computer does not need to be particularly high-powered: any PC capable of running Windows 95 can run the WxSat software. I prefer to use genuine Soundblaster cards to minimise compatibility problems, but a wide range of soundcards have been reported as working satisfactorily.

Connecting the receiver and soundcard

By far the best way to connect the receiver to the soundcard is, if your receiver has a "line output", to connect this to the soundcard's "line input". Otherwise, you must connect the headphone output of the receiver to the soundcard's microphone input using a voltage divider and carefully adjust the receiver's volume level to suit.

In either case, you will be able to monitor the signal through one of the soundcard's audio outputs. Some decoding software has a built-in input level checker.

Decoding software

A number of programs which decode HF FAX are available, most of which are commercial or shareware. Here we will discuss the use of WxSat, a free program by Christian Bock which, while not as "idiot-proof" as its payware equivalents, has acquired the respect of many remote imaging enthusiasts because it can also decode weather satellite images, it is very configurable, and it produces excellent results.

Using WxSat

To install WxSat, run the installer.

After starting WxSat, select FM 120 mode (parameters... FM 120). WxSat has a soundcard input level meter under Recording... Test. To return to the main menu from here or the tuning meter, or to abort inout processing, go to Recording... Stop.

Screenshot of level meter.

You can use the built-in tuning meter to ensure the signal is properly tuned (Recording... FM tuning). For most faxes there should be a large "white" spike and a much smaller "black" spike.

Screenshot of tuning meter.

Calibrating the clock

Although fax signals contain start and stop tones, these mark the beginning and end of the whole fax, and there are no synchronisation markers for lines. This means that the software is dependent on the soundcard clock to decode the fax correctly, and if the clock is not calibrated faxes will almost certainly be displayed skewed.

The best way to calibrate the clock is to record a fax, preferably one of at least 1000 lines. To do this, with a fax station correctly tuned, set Recording... Start at Start Tone... Save Bitmap & Wave. After the start tones, WxSat will start displaying the incoming picture in the BMP folder, and saving the audio signal as a WAV file in the WAV folder.

When the fax has finished, click Recording... Stop and examine the received picture. If the picture is perfectly aligned vertically (this is unlikely!) the clock does not need calibration. Otherwise, go to Paramaters... Common. If the picture slants from top left to bottom right, you need to enter in fs Correction Current Value a number greater than one; if the picture slants from top right to bottom left you need a number less than 1.

Screenshot of skewed fax.

While some wefax decoding software includes a more straightforward calibration method, with WxSat calculating and exact figure for the fs correction is a matter of trial and error. Some wefax stations transmit test charts or calibration bars which can make either process easier. To test the fs correction, go to File... Wave Input File and enter tha name of the WAV file you saved earlier. Go to File... Start processing, and WxSat will reprocess the audio file. (This will be a great deal faster than was processing the signal as it was received.)

For my soundcard a slant of 38% from left to right was corrected by an fs correction of 1.000183.

Screenshot of straight fax.

When you have a fs correction which produces a satisfactorily aligned picture, go to Parameters... Common... Save. (This calibration should also work with any of the other signal types which WxSat can decode.)

The easy part

Using WxSat is now easy.

Recording... Start at Start Tone... No Output File decodes the fax onscreen only. It can then be saved using Bitmap... Save as.

Recording... Start at Start Tone... Save Bitmap decodes the fax onscreen and saves it as a bitmap with the filename MMddhhmm.bmp.

Recording... Start at Start Tone... Save Wave File decodes the fax onscreen and saves it as a WAV file with the filename MMddhhmm.wav.

Recording... Start at Start Tone... Save Bitmap & Wave decodes the fax onscreen and saves it as both a bitmap with the filename MMddhhmm.bmp and a WAV file with the filename MMddhhmm.wav.

Recording... Stop stops all signal processing.

Recording... Manual Sync forces WxSat to start signal processing (this is useful if the start tones are lost).

For more information on further program options, see the WxSat help file.

Part of a weather forecast fax

WEFAX sample

Some frequencies and schedules for wefax transmissions can be found here, with links to sources of more information.

Les Hamilton has written a guide to decoding APT weather satellite images using a soundcard and WxSat software.

This page was updated 2003-12-17.