JG25 · The FM design story · Overview
Four tones.
Many lessons from the radio.
JG25 is OpenJSQ’s experimental native four-tone FM packet modem: the part that turns data into radio audio and back again. Its design grew from a simple goal—carry useful messages faster through ordinary voice radios.
The answer was a coordinated waveform and receiver: carefully placed tones, a reliable packet introduction, selectable error protection, and a receiver that could undo much of the radio’s audio distortion.
01 · August 2026 · Set the goal
More information in each tone.
Traditional 1,200-bit/s amateur packet uses two tones and X.25-derived AX.25 framing. JG25 took a fresh approach to both the sound and the packet envelope, while keeping the checks that tell a receiver whether the data arrived intact.
Four choices carry two bits
With four tones, each tone can stand for a pair of bits. That offers more raw data at the same symbol rate, or longer, easier-to-distinguish symbols at the same bit rate. A “symbol” is one timed choice of tone.
The radio sets the limits
Going faster made errors rise. Packing the tones closer together also hurt. The search therefore varied speed, spacing, and tone placement together, rather than simply choosing the biggest rate number.
- 00Lowest tone
- 01Next tone
- 11Next tone
- 10Highest tone
Schematic bit mapping; actual tone frequencies depend on the mode.
Why not still more tones? The owner recalls higher-tone designs losing. The recovered record has no numerical four-versus-eight- or sixteen-tone result. The detailed story separates that recollection from the comparisons we can inspect.
02 · August 2026 · Make complete packets survive
A clear introduction before the fast message.
Help the receiver find the start
A known opening pattern, called a preamble, lets the receiver find a transmission and line up its timing. A slower, protected header then tells it how to read the rest. Slowing this short introduction worked better than slowing the whole message.
Offer protection when it helps
Optional error-correcting information can repair damaged bits. Interleaving spreads neighboring bits apart so a brief disturbance does less concentrated damage. Both were tested against useful packet delivery, with their extra airtime counted.
A simulated header contest and early error-correction tests guided these choices. Their success rates describe those tests; they are not reception guarantees for every radio.
03 · August–September 2026 · Listen to actual radio audio
The receiver changed the result.
Saved recordings exposed two problems: the radio weakened some tones more than others, and its filters spread tone changes out in time. Correcting loudness alone was not enough.
A decisive replay kept the filter’s loudness correction almost identical but changed how it handled timing. The same transmitted packets suddenly became much easier to recover.
The same 36 recorded frames, two filter designs
More decoded frames is better
Saved-radio replay. Both filters used +6 dB/octave conditioning with nearly identical magnitude responses; their phase behavior differed.
A later detector also recovered 18 previously failed JG2400 message bodies while retaining 21 successful controls. These results recovered information already in recordings; they were not new over-air trials.
04 · September 2026 · Challenge the choices again
Repair the receiver. Then compare the tones.
Most retunes lost their advantage
Some new tone plans looked better while the receiver still struggled with distortion. After receiver repairs, the selected JG1800 and JG2400 tones beat both tested alternatives on all three fitted-channel comparisons.
One useful exception remained
A JG2000 alternative still performed better in the modeled comparison. It was deferred pending radio validation. Keeping a usable, deployed format was a practical decision; it was not proof that every retained tone was numerically optimal.
05 · Separate the experiments from the implementation
Good research does not all become a feature.
The campaign also explored automatic speed selection and compact multi-frame bursts. The implemented format retained full acquisition and a protected header for each frame. Operators choose the transmit mode and error protection; JSQ services handle file acknowledgements and retries above the modem.
06 · September–October 2026 · The resulting compromise
Speed when the path allows it.
Protection when it needs it.
The fast default
JG2400/F0 became a speed-first default. In the reference calculation, a 256-byte message carries about twice AX1200’s useful payload rate over the complete waveform. That excludes channel turnarounds, acknowledgements, and retries; it is not a file-transfer timing result.
A family, not one universal winner
Stronger F3 protection and slower modes offer other tradeoffs. On fitted voice-radio paths, fast JG2400/F0 needed more signal than AX1200 for the same modeled delivery target. Four tones won a practical place in the design; no single profile won every contest.
This account covers FM development. The separate HF format needs its own evidence.
Go one level deeper
Follow the experiments, not just the conclusion.
See the competing ideas, what each test established, and why the design changed.
Read the development story →Full illustrated report · PDF