JG25 · The FM design story

Two tones prompted
a four-tone question.

Could more tones improve useful throughput beyond 1200-bit/s AX.25 through ordinary FM microphone and speaker audio?

Four tones gave the best balance among the designs tested. Getting there took a waveform search, a better receiver and a revealing encounter with two real radios.

01 · Define the problem

More useful data.
Through the voice path.

Tested

The starting point was Bell-202-style 1200-bit/s packet with two audio tones. Four tones carry two bits per symbol, allowing fewer tone changes per second at the same raw bit rate. The search explored rates and tone placements through modeled filtering, rolloff, clipping, noise and timing errors.

Learned → changed

Complete frames mattered more than the largest raw-rate number. A continuous-phase four-tone family survived the campaign, from JG1200 to JG2400. The design targeted normal FM microphone/speaker routes, without assuming a flat 9600-baud data port.

This is the FM history. The current specification also documents a separate HF format. These FM tests do not qualify the HF modes.

02 · Make the receiver earn the speed

Keep the information.
Protect the packet.

Tested

High-rate symbols smeared into their neighbors. Timing loops chased distortion. And a payload that could survive the channel still failed when its short header could not be read.

Learned → changed

Neighbor-aware detection and block clock estimation improved the fast modes. Selectable error correction and interleaving protected the body; a slower 350-symbol/s four-tone header and searched acquisition sequences helped the receiver find and interpret it.

The figures below describe synthetic or direct waveform-to-decoder campaigns. They are not measured over-the-air application throughput.

Receiver and timing experiments · synthetic results

At the higher rates, one symbol is still ringing through the radio's audio filters when the next symbol arrives. That smearing is called intersymbol interference. The first receiver treated each symbol too independently, which made JG2200 and JG2400 look weaker than they really were.

A receiver that considered the energy pattern around neighboring symbols recovered more of the information already present in the audio. In the synthetic campaign, the improvement at the approximate 1% uncoded bit-error point grew with speed: about 1.17 dB for JG2200 and 1.29 dB for JG2400. JG2200 therefore stayed in the family rather than being discarded.

Timing recovery went through the same process. A conventional per-symbol timing loop tended to chase the distortion and noise at high rates. A block-based clock search was more stable and removed most of the modeled penalty even with intentionally large sample-clock errors.

The lesson was important to the design process: do not slow the waveform just to compensate for a receiver algorithm that is throwing information away.

FEC, interleaving and frame sizes · test results

JG25 added selectable forward error correction (FEC) rather than declaring one “best” speed. F0 adds no payload FEC; F1 and F2 add progressively more protection; F3 sends roughly half payload and half redundancy. Soft decoding lets the receiver use how confident it was in each tone decision instead of reducing every decision immediately to a hard zero or one.

Direct waveform-to-decoder tests showed that this second axis mattered. A weak link could favor a slower mode with stronger protection, while a strong link could use JG2200 or JG2400 with lighter protection. On an exceptionally clean path, an uncoded slightly slower mode could even deliver more useful payload than a faster mode spending one quarter of its bits on protection.

Interleaving was tested because voice-path distortion tends to create clusters of errors instead of perfectly independent ones. Spreading neighboring coded bits across the transmission made those bursts easier for the decoder to repair. Tests of 64-, 128-, 256- and 512-byte bodies also showed that 256-byte frames often gave the best balance between packet overhead and the cost of losing a large frame.

Show examples from the FEC and interleaving tests
  • JG1200-F2 near the modeled weak edge: no interleaving produced roughly 17% frame errors; moderate interleaving reduced failures dramatically.
  • JG2200-F1: interleaving materially improved the strong-link mode around its transition region.
  • JG2400-F1: a 32-row body interleaver performed strongly in the confirmation runs.
  • Across representative adaptive simulations, 256-byte frames were selected for roughly 89–93% of normal bursts.
Acquisition and header contest · numeric results

The first continuous-audio tests exposed a bottleneck: the receiver could often find the preamble, but the universal header that tells it the payload speed and protection level was too fragile. Instead of slowing the entire modem, the tests slowed only the short header.

A contest compared several four-tone header rates, a binary two-tone header and repeating the old fast header twice. A 350-symbol/s four-tone header gave the best airtime-versus-reliability compromise in that campaign. At the modeled −6 dB test point, it decoded about 97% of isolated headers versus about 34% for the original 600-symbol/s version. The 600-symbol/s binary header was also less competitive per unit of airtime.

The preamble and synchronization sequence were then searched rather than guessed. Thousands of balanced four-tone sequences were screened for clean timing and low false-match behavior. A 48-symbol normal preamble, a longer 96-symbol robust version, and a shared 20-symbol synchronization sequence were selected. A small independent no-packet validation set produced zero false acquisitions in 320 recordings.

Show the header contest
Approximate isolated-header success from the synthetic contest.
HeaderAirtime−6 dB−4 dB
4-FSK, 600 symbols/s~63 ms~34%~91%
4-FSK, 425~89 ms~84%~99.8%
4-FSK, 375~101 ms~96%100%
4-FSK, 350~109 ms~97%100%
2-FSK, 600~127 ms~54%~99.6%

03 · The real-radio discovery

The tones arrived.
The levels did not match.

Recordings from an FT-8800-to-FT-817 path through DigiRig packet-audio cabling showed about −4.3 to −4.4 dB per octave of receive tilt in the known acquisition tones.

  1. Microphone audioOpenJSQ + interface
  2. TransmitterPre-emphasis + FM path
  3. Receiver audioFiltering + de-emphasis

General voice-path illustration. The selected recordings used the FT-8800/FT-817 DigiRig packet-audio route described above.

Unequal tone levelsHigher tones weakened
Score receive-compensation branches

Use the known acquisition sequence; retain the best branch for the packet.

Compensated inputSchematic, not measured levels

The same selected frames, replayed

JG2000-F1

0 / 88 / 8

8 selected frames

JG2000-F2

0 / 88 / 8

8 selected frames

JG2400-F1

0 / 1212 / 12

12 selected frames

JG1200 · no payload FEC

0 / 99 / 9

9 selected frames

Valid frames without compensation → with adaptive receive emphasis. Selected recorded-radio samples, not a universal success rate.

Fixing receive tilt recovered information already in the recording. Compensation cannot recover a tone that has fallen beneath the noise, and phase distortion still matters.

Stress the correction · 36-frame synthetic filter tests

A later stress test started with 36 clean JG2400 frames and imposed progressively stronger causal low-pass/de-emphasis responses. The ordinary 75-microsecond FM de-emphasis case decoded 36/36. So did much harsher synthetic paths.

At high signal-to-noise ratio, the production emphasis bank remained 36/36 through roughly 25 dB of deterministic level difference between the 500 Hz and 2600 Hz JG2400 tones in the tested causal-filter family. The failure boundary began only when the synthetic imbalance was pushed into roughly the 26–31 dB region. A normal single 75-microsecond de-emphasis pole produced only about 3.75 dB difference across those tones.

The stress work also found an important limit: matching tone levels is not the entire problem. Two filters with the same frequency response but different phase/impulse behavior could decode very differently. And no equalizer can recover high-frequency information after the radio has pushed it beneath the noise. The receiver can compensate deterministic tilt; it cannot manufacture signal-to-noise ratio.

These were robustness tests, not a claim that every radio path has been qualified. Their value is showing that the receive-emphasis architecture has substantial margin beyond ordinary FM de-emphasis and is not merely a correction calibrated to one FT-817/FT-8800 pair.

Replay archive, added noise and unfinished RF qualification

The later real-radio archive contained 499 measured JG25 bursts. Exact clean crops used for fast-mode impairment testing decoded 30/30 before additional noise: ten JG2000-F2, ten JG2000-F1 and ten JG2400-F1 frames.

Controlled noise was then added to those already radio-distorted recordings. That preserved the real transmitter, FM path, receiver filtering, audio tilt and timing artifacts while allowing repeatable receiver tests. The first provisional full-frame transitions were around 8–9 dB received-audio signal-to-noise ratio for JG2000-F1/F2 and 11–12 dB for JG2400-F1 in that small sample.

Those are useful engineering checkpoints, but they are not calibrated RF-input sensitivity figures. A final qualification still needs controlled RF attenuation or a signal generator, larger packet counts at each point and more radio pairs.

Evidence scope and current decoder notes →

04 · Keep the useful decisions

What changed.
And why.

Some ideas were dropped; others became better receiver algorithms. Burst and automatic rate-selection ideas below belong to the experimental campaign.

Keep a Bell-202-like 2-FSK JG1200 fallback

The broader search showed that four tones could provide the whole 1,200–2,400 bit/s family while using fewer symbols per second for the same raw rate.

Add every plausible intermediate speed

JG1280, JG1500 and JG1920 did not create enough distinct operating value; extra modes complicate operation and testing.

Independent decision for every high-rate symbol

It discarded information contained in neighboring-symbol distortion; context-aware detection improved the fast modes.

Fix poor tone placement mainly with equalization

Simple per-tone equalization could hurt; better tone placement plus a receiver designed for the channel was more dependable.

600-symbol/s universal header

The payload could survive conditions in which the short header failed, so only the header was slowed.

600-symbol/s binary header

It was not competitive with the slower four-tone header for robustness per airtime.

Per-symbol timing loop

It chased distortion and noise at high rates; block clock estimation was more stable.

Very slow inter-frame resync marker

It localized frame boundaries poorly; short markers at the current payload rate worked better.

Instantly jump to whichever mode looks best

It switched too often near crossovers; a filtered ladder kept most of the throughput with fewer changes.

05 · Explore beyond a single frame

Promising experiments.
A separate implementation question.

Tested

Multi-frame bursts, short resynchronization markers, fast reverse acknowledgements and an adaptive rate ladder explored how to recover losses and share channel time.

Learned → retained as research

The simulations favored bounded bursts and deliberate mode changes. Those results do not mean OpenJSQ now selects rates automatically or transmits the proposed compact multi-frame burst format.

Current behavior: operators select mode and FEC. Each implemented frame carries its own full acquisition and protected header; JSQ services provide their own reliability.

Burst recovery and adaptive-controller simulation results

Multi-frame bursts were tested with a middle frame deliberately destroyed. Short resynchronization markers at the current payload rate worked better than switching back to the very slow header waveform. In the modeled operating regions, the receiver recovered the boundary after the destroyed frame about 97.5–100% of the time across the mode family. That supports selective repair: ask for the missing frame instead of repeating everything after it.

Very long transmissions can maximize throughput on an empty channel but are poor amateur-radio neighbors. Simulation of burst length found that a target around six seconds retained roughly 92–96% of unconstrained goodput while giving the channel regular opportunities to turn around. A fast reverse acknowledgement also improved modeled throughput.

An adaptive controller was finally run through changing signal conditions, including crossover regions, deep fades and long improving/degrading paths. A practical ladder with fast downgrade and confirmed upgrade retained most of the idealized performance while roughly halving unnecessary mode changes.

Specification and historical Appendix C · Implemented format and evidence limits

06 · What the campaign selected

Four tones.
A receiver built for voice audio.

The chosen balance

Continuous-phase 4-FSK carries two bits per symbol, with the FM family spanning 1,200–2,400 raw bit/s and selectable error protection. Acquisition, a protected header, interleaving and receive compensation matter alongside the payload tones.

Four tones were the best balance found among the tested designs under these constraints. This is not a universal optimum or a guaranteed goodput comparison.

A purpose-built packet format

JG25 is independent of AX.25. Its native format was designed around the four-tone family and JSQ services, with efficient framing as a goal. That rationale does not establish a measured overhead or throughput advantage on every path.

Broader RF qualification remains: controlled RF attenuation or a signal generator, larger packet counts, more radio pairs and end-to-end file goodput.