How to decode shortwave data streams

Turn strange bleeps on the airwaves into text and pictures

TODO alt text

Have you ever tuned into shortwave radio bands? If so, you might have come across some strange-sounding periodic signals, from rhythmic bleeps and gurgles to scratching sounds.

If you guessed that they were some sort of data transmission, you're right. But who transmits them, and why? In this guide, we'll show you how to use your PC to decode these mysterious signals and enter the world of data on the airwaves.

You'll soon be able to decode radio teletype signals, interpret Morse code, unscramble radiofax transmissions of weather charts and watch colour slow-scan television (SSTV) images form.

Recognising the modes

We're going to use MultiPSK to decode data signals from a radio. This package supports various types of data transmission, but if you don't select the correct ones it won't be able to interpret them, so you need to be able to recognise some of the key modes by ear

To help out here, we've prepared samples of several data modes including: Morse 25 WPM, RTTY 50 baud, Fax 120 LPM 288 IOC and SSTV Robot 2. By listening to these samples, you'll find out what Morse code, radio teletype, radiofax and SSTV transmissions sound like when you tune them in on a radio.

You can download the samples here:

Morse 25 WPM
RTTY 50 baud
Fax 120 LPM 288 IOC
SSTV Robot 2

Although there are lots more data modes, these four are the ones that we'll be concentrating on in this guide. If you want to get a feel for how some of the others sound, MultiPSK can also encode data (for example, typed text) into audio files. Do this and have a listen to the resulting files if you're curious about other modes.

Introducing MultiPSK

First, you need to learn how to use MultiPSK. You can use your sample data files to get to grips with it. This is easier than decoding live radio signals, as you won't have to cope with the interference and varying signal strengths that you'll encounter on the airwaves. To use MultiPSK on live data, you would need to connect the audio output of your radio to the line or microphone input of the soundcard in your PC.

To provide a close approximation of this, use a patch cable to loop the soundcard's line output to its input. After doing this, if you play back a sample file using a media package, that signal will be recognised by MultiPSK. Start up MultiPSK and you'll find that it opens with the Configuration screen displayed.

We can accept the default settings for now, so click on the 'RX/TX Screen' button towards the bottom left. This will take you to the screen we'll be using for decoding data.

In the block of controls in the upper-right corner, click on the 'CW' button (CW stands for Continuous Wave and is a term that radio amateurs use somewhat inaccurately to refer to Morse code). Now try playing back the Morse code sample file.

You'll notice that the 'waterfall' display in the centre of the screen, which was previously showing very little, suddenly bursts into life. This display shows a graph of audio frequency against time, and is used for selecting a signal to decode.

Before you can do this, however, you'll need to adjust the Windows audio level ('Start | All Programs | Accessories | Entertainment | Volume control') until the Level display in the centre top of the MultiPSK screen shows a value just short of 100 per cent and the adjacent Over (overload) display doesn't show green.

Once the audio level is correct, play back the Morse code file again. When you see a red line appear in the waterfall display, click on it to select that signal for decoding. The text represented by the Morse code will appear in the large text area at the bottom of the screen. Having mastered Morse code, you can now do the same with the other three sample files.

There are a few differences, though. With Morse code, MultiPSK can figure out how fast the data's being sent and adjust accordingly. With many of the other modes, you have to specify certain parameters. With RTTY, for example, you have to select the correct transmission speed – the sample provided is 50 baud. And with HF Fax, you have to select values for LPM (lines per minute) and IOC (index of cooperation).

For the above sample file, use 120 and 288 respectively. The other difference concerns what you see in the waterfall display. Morse code uses a simple on/off modulated signal, which means that it appears as a single frequency in the waterfall display. RTTY, on the other hand, uses two frequencies to represent binary ones and zeros, while Fax uses a pair of frequencies to represent black and white components.

The upshot of all this is that many signals appear on the display as two lines, even though only one is being transmitted at once. It makes a difference which of the lines you click on, so if nothing sensible seems to happen, try clicking on the other one.