How to use it
Radioteletype (RTTY) is one of the oldest digital modes on shortwave: a transmitter jumps between two frequencies to send text. This page listens to a receiver’s audio and prints that text. Tune a receiver to a signal that sounds like a fast two-tone warble and bring its audio in as described under “Getting the audio in” below. “Play demo signal” generates RTTY inside the page.
Decoding keeps running while this tab is in the background, so you can keep watching the receiver. Only the drawing pauses.
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. On LSB the two tones swap places; the page then switches Reverse by itself. |
| Filter width | 500 Hz is enough for the 170 Hz amateur shift. The normal 2.4 kHz voice filter suits every shift, including the 450 Hz of the weather stations. |
| Tuning | Both tones should show between 300 and 3000 Hz; the exact pitch does not matter, because Auto-tune finds the centre. In USB the pitch is the signal frequency minus the dial frequency, so set the dial 1–2 kHz below a listed frequency. |
| AGC / note | Medium AGC, noise reduction off. If the text is nonsense although the tuning cross is sharp, try another baud rate. |
Example frequencies
| Frequency | What | Receiver setting | When / note |
|---|---|---|---|
| 4.583, 7.646 and 10.1008 MHz | German weather service (DWD), call signs DDK2, DDH7 and DDK9: weather bulletins, storm warnings and coded observations for shipping. | USB with Reverse ticked; 50 baud, shift 450 Hz | Transmitted 24 hours a day. |
| 11.039 and 14.4673 MHz | DWD, call signs DDH9 and DDH8; same content and settings. | USB with Reverse ticked; 50 baud, shift 450 Hz | 05:00–22:00 UTC only. |
| 14.070–14.099 MHz | Amateur narrow-band digital segment, 20 m (IARU Region 1). | USB; 45.45 baud, shift 170 Hz | Stay below 14.099 MHz, where the beacon segment begins. |
| 7.040–7.050 and 3.580–3.600 MHz | Amateur narrow-band digital segments, 40 m and 80 m. | USB, or LSB with Reverse ticked; 45.45 baud, 170 Hz | IARU Region 1 band plan. |
Schedules change from time to time; the German weather service publishes current plans on its website.
Controls
- Spectrum and waterfall: click, tap or drag to place the centre between the two tones (yellow line = mark, blue = space). Keys: arrows (5 Hz, 25 Hz with Shift), A for Auto-tune, R for Reverse.
- Auto-tune: finds the two strongest peaks and sets the centre and, unless the selected shift already fits, the nearest standard shift. It also runs by itself when a live source or file starts, as soon as two tones appear.
- AFC: follows a slowly drifting signal.
- Mode: baud rate (45.45, 50, 75, 100), shift (170, 425, 450, 850 Hz) and two presets. Amateur also sets Reverse off and “Unshift on space” on; weather sets Reverse on and “Unshift on space” off. “Unshift on space” returns to letters after every space.
- Squelch: stops printing random characters when there is only noise.
- Demo: sends the sample text or your own, with optional noise and 1, 1.5 or 2 stop bits.
How it works
RTTY is frequency-shift keying. The carrier rests on the mark frequency and hops to the space frequency, a fixed shift away. In the receiver’s audio they appear as two tones:
At 45.45 baud one bit lasts 22 milliseconds. Each character is one start bit (space), five data bits and a stop bit (mark) that usually lasts 1.5 bit times, so 7.5 bit times in total: about six characters per second. Five bits give only 32 combinations, so the ITA2 code (often called Baudot) uses two of them, LTRS and FIGS, to switch between a letters table and a figures table.
The decoder multiplies the audio by a sine and a cosine at the mark frequency and averages both products over exactly one bit time, then does the same for space. For rectangular bits in white noise this averaging is the matched filter. The two strengths are then compared, but not against a fixed threshold: the decoder tracks the recent peak of each tone and the noise floor and weights the decision by them. On shortwave one tone often fades while the other stays strong (selective fading); this automatic threshold correction copes with it.
The bit clock is not transmitted. Every mark-to-space edge may be a start bit, so the decoder starts a timer there, checks half a bit later that the tone is still space, and then samples the five data bits and the stop bit in the middle of each. If the stop bit is not mark, it counts a framing error, waits for mark and synchronises again on the next edge. AFC measures how fast the phase of each filtered tone rotates and moves the centre to cancel it.
Things to try
- Play the demo, then drag the centre 40 Hz off. Watch the cross turn into a blob, then press Auto-tune.
- Tick Reverse during the demo. The text becomes nonsense, because every bit is inverted.
- Add heavy noise and watch the framing errors climb.
- Start the demo at 50 baud, then switch the decoder to 45.45: timing drifts by ten percent per bit and most characters break.
- Send
RYRYRY. R and Y are bit-for-bit opposites (01010 and 10101), so operators have long used the pair as a test pattern.
Frequently asked questions
Normal or reverse?
“Normal” treats the higher audio tone as mark. Amateur stations put mark on the higher radio frequency, so their signals read normally on USB and need Reverse on LSB. Weather stations such as DWD are the other way round and need Reverse on USB. When the other polarity clearly frames better, the page switches Reverse by itself; a setting made by hand stays until the next Auto-tune, preset or new source.
Why do I get digits instead of letters?
A FIGS or LTRS character was lost in noise. The text recovers at the next shift character, or at the next space when “Unshift on space” is on. If numbers come out as letters instead (QWZ for 12Z), untick “Unshift on space”: weather broadcasts do not use it.
Why does “Use computer audio” hear nothing?
Sharing a single window carries no sound. Share the entire screen with system audio, or a browser tab with its audio, and check that the receiver program is not muted.
Is my audio uploaded?
No. Everything is computed in this page, which also works offline.