How to use it
A shortwave receiver is full of buzzes, warbles and chirps, and every decoder expects you to know which one you have found. This page answers that question first. Tune a receiver to the unknown sound and bring its audio in as described under “Getting the audio in” below; the demo signals are generated inside the page.
Set the receiver to single sideband (USB) with its normal voice filter and leave the signal alone for a while. The page keeps the last 24 seconds and repeats the analysis every two seconds, so the answer improves as the buffer fills. The analysis keeps running while this tab is in the background; only the drawing pauses.
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 to the unknown sound (the table below lists where to try each signal) 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.
Where to listen for each signal
| Signal | Where to try | Receiver setting | Decoder |
|---|---|---|---|
| Morse | 14.100 MHz beacons; amateur CW 14.000–14.070 and 7.000–7.040 MHz | CW or USB, 300–500 Hz | Morse Decoder |
| RTTY | German weather stations 7.646 and 10.1008 MHz (50 baud, 450 Hz); amateur 14.070–14.099 MHz (45.45 baud, 170 Hz) | USB, 500 Hz–2.4 kHz | RTTY Decoder |
| PSK31 | 14.070 MHz; also 3.580, 7.040, 21.070 and 28.120 MHz | USB, 2.4–3 kHz | PSK31 Decoder |
| SSTV | 14.230, 21.340 and 28.680 MHz; space station 145.800 MHz during events | USB (FM for the space station), 2.7 kHz or wider | SSTV Decoder |
| Weather fax | German weather service 7880 and 13882.5 kHz; set the dial 1.9 kHz lower | USB, 2.4–3 kHz | Weather Fax Decoder |
| DCF77 | Time signal on 77.5 kHz (long wave, needs a receiver that reaches it) | CW, or USB with the dial about 0.7 kHz below 77.5 kHz, 50–300 Hz filter | DCF77 Decoder |
Segments and schedules change from time to time. Each decoder page lists more frequencies and exact settings.
Controls
- Spectrum and waterfall: 0 to 4000 Hz. Yellow markers show the spectral lines the analysis found, the shaded strip the band it examined.
- Analyse now: runs the analysis at once on what is in the buffer, also after Stop.
- Hold result: freezes the answer so that you can read it while the sound goes on.
- Small graphs: loudness over the last seconds with the keying threshold, and how often each frequency is used.
- Result: up to four candidates with a confidence value, the reason, and a button to the matching decoder with suggested settings.
- Measured values: every number as a table. “Copy as text” puts it on the clipboard.
How it works
The audio is reduced to a sample rate near 8 kHz and examined in six steps. Step 1 measures the level and decides whether anything is there at all. When a channel is empty, the automatic gain control of a receiver turns the noise up until it is as loud as a signal. So the page looks at the statistics instead. Averaged spectra show whether a narrow line rises above its surroundings, and the kurtosis of the samples tells noise (about 3) from a constant-amplitude signal (1.5).
Step 2 finds the occupied band and the lines in it. Step 3 filters that band and follows its amplitude: is it switched on and off, how long are the pulses and gaps, does a pattern repeat? Morse code shows two groups of pulse lengths in the ratio 1:3, and its speed follows from the dot length:
Step 4 uses the second formula. The filtered signal is turned into a rotating pointer; how fast its angle φ changes is the instantaneous frequency. A histogram of that frequency has two humps for two-tone keying (FSK), several evenly spaced humps for multi-tone modes and a wide smear for pictures, which sweep between 1500 Hz (black) and 2300 Hz (white). The moments at which the frequency jumps give the symbol rate. With the rate known, the page tries to read the bits: teleprinter frames with a start bit, five data bits and a stop bit, or the 7-bit words with exactly four marks used by maritime broadcasts. If the stop bits fit and letters come out, it is readable RTTY. If nothing fits and the bits look random, the stream is synchronous and probably encrypted.
Other tests look for the 1200 Hz sync pulses of slow-scan television and their line time, the two-lines-per-second rhythm of weather fax, amplitude dips 31.25 times per second (PSK31), tone pairs of a telephone keypad, pulses exactly one second apart, and the syllable rhythm and harmonics of a voice. Step 5 turns the evidence into candidates; step 6 names the decoder.
Things to try
- Play the Morse demo and watch the steps fill in. Then add heavy noise.
- Compare “RTTY with text” and “FSK, random bits”. Both are two tones; only the framing test tells them apart.
- Play “Noise only”. It is loud, and yet step 1 says that no signal is there.
- Start the SSTV demo and wait for the line time to be measured: the mode is named from 446 ms per line.
- Play the DTMF demo and read the keys in the result.
Frequently asked questions
How sure is the answer?
It is an estimate. The confidence value says how well the measurements fit the textbook picture of a mode, not how often the page is right. Several candidates are shown when the evidence is thin.
Why does it say “noise only” when I hear a loud hiss?
Loudness proves nothing. A receiver raises its gain on an empty channel, so the hiss is as loud as a station would be. The page reports a signal only when it finds structure: a line, keying or a rhythm.
Which signals can it not name?
Anything it has no test for gets a general label such as “unknown narrow-band digital signal” with its measured width and rate. Modems that fill the whole pass band look like noise. Speech and music are told apart only roughly.
Why is there no decoder for some modes?
This site has decoders for Morse, RTTY, PSK31, SSTV, weather fax and DCF77. For packet radio, NAVTEX and the weak-signal modes the page only tells you what you are hearing.
Is my audio uploaded?
No. Everything is computed in this page, which also works offline.