Support this work

Amateur radio · Santiago de ChileSoftware for the HF digital modes

CE3TSK

Tihomir Sokcevic

I build software for the digital modes on HF and operate FT8 and FT4 from Santiago de Chile. What I make is free and open source, and measured on recorded air before anything is claimed for it.

Icom IC-7300 · 18 m vertical at 2.5 m with elevated radials

The projectv3.0.0-rc05 · free · GPL v3

JTDX Contest Edition

New decoding approaches. More decodes. Decided on time. Built for WW Digi.

A free fork of JTDX with the FT8 decoder rebuilt, the FT4 decoder rewritten, and the WW Digi DX Contest built in: grid exchange, points, multipliers and its own contest log. Every number below was measured on one recorded hour of real air against stock JTDX. The recordings and the script are published, so anyone can repeat them on their own machine.

+27.5 %
More FT8 messages
than stock JTDX, same hour of air
1.1 s
FT8 reply decided
the rest decoded while you transmit
+24 %
More FT4 messages
than stock JTDX, +21 % over WSJT-X
0.6 s
FT4 reply decided
inside FT4’s 1.36 s window

The innovationin no other FT8 program

It keeps decoding through the next periodnew

Every FT8 program decodes once, when the period’s audio is complete, and then leaves the processor idle for about twelve of the next fifteen seconds — whether you are transmitting or listening. JTDX Contest Edition splits the decode in two and spends that time.

your radio you listen you transmit you listen WSJT-X · JTDX · MSHV the period’s audio arrives idle — the decoder waits RX phase, 1.1 s — your reply is decided here JTDX_contest pipeline preset the period’s audio arrives background phase alternate pass · ensemble · residual · classic unit no decode here — you transmitted, so the phase gets two periods, not one into the hint memory later periods pin those messages instead of searching for them 0 s153045 s 14.1 s
Drawn to scale on one clock, over three periods. A decode cannot start before 14.1 s, because that is when the audio it needs has finally arrived, and the auto-sequencer wants its answer about a second later. Everything after that used to be wasted. Note the middle period: you transmitted, so nothing new arrived to decode — the background phase runs through it and into the period after.

RX phase

Deliberately cheap, so the answer is on time. It finishes about 1.1 s into the period and hands the auto-sequencer what it needs to choose your reply.

Background phase

It runs in the idle time that follows, while you transmit and while you listen alike, going back over the audio just decoded with the passes the first phase could never afford: the alternate pass, the ensemble members, a residual pass with every known message subtracted, and a plain classic decode. Listening, it has one period. Transmitting, it has two — the period you transmitted in has nothing new to decode, so that decode is skipped and the phase simply keeps going, close to thirty seconds without a break. It stops the instant the next decode is wanted. In the menus it is called TX background.

And then it pays forward

What the background finds is remembered. Those messages are pinned as known bits in the periods that follow, so a station already heard is recognised almost for free and the budget goes to the ones still hidden.

Available in the presets whose name carries pipeline, on FT8 and on FT4 alike. The background phase is off in the plain presets, so a slow machine is never asked to do it.

News & highlightsnewest first

What changed

Release v3.0.0-rc05new

JTAlert finds the program again: it reads the rig name out of the window title, and the title now carries it. The Windows installer file names were corrected.

Release v3.0.0-rc04

Official Hamlib now polls the radio the way the JTDX fork does, so most rigs no longer need the patched build. A dialog on first start offers the recommended colour scheme. German and Korean join the interface languages, and the first beta testers are credited in the About box.

The interface, repaired

Dark mode works throughout instead of in patches, a long list of layout faults is gone, and the program itself is translated across nineteen languages.

The measurements, published

Two recorded hours of air, the crowded-band files and a script that replays them on any machine. Check the numbers on this page, or measure your own processor before choosing a preset for it.

WW Digi 2026

The edition was on the air through the contest weekend, in the contest it was built for, and the FT4 decoder work was measured on that band.

What’s nextnothing here is promised

On the bench

What I am looking at next, with an honest label on each. None of it is finished, some of it may never start, and the order can change with what the bands ask for. Anything that does get built arrives measured, like everything above it.

SuperFox Hound mode

feasibility under way

DXpeditions running WSJT-X 2.7 and later answer up to nine callers with a single wide waveform that this fork, like every other JTDX and MSHV build, simply does not hear. What matters to an operator chasing them is the receiving side, Hound mode, and whether it can be built here is what I am working through now: the receiver has been read end to end and the port written down.

FT2

planned

The fast mode by IU8LMC that MSHV carries, at roughly twice FT4’s symbol rate. Planned, for the same reason FT4 earned its rebuild: a shorter period leaves the decoder less room, which is exactly where this work pays.

A pipeline preset for smaller machines

to be measured

Today the choice is a plain preset with no background phase at all, or a pipeline tier that expects plenty of threads. Between them sits the common machine: fewer than six cores and six threads, with room for some background decoding but not for all of it. Finding the recipe that fits it means measuring it, like every other preset in the menu.

About & contactCE3TSK

Who is behind this

I am Tihomir Sokcevic, CE3TSK, in Santiago de Chile. JTDX Contest Edition started because the WW Digi contest needs an exchange that the original JTDX did not handle, and grew into a decoder rebuild: on a crowded band, the difference between hearing a station and not hearing it is where a contest is won.

Nothing here is claimed before it is measured. The hour of air the numbers come from is published with the script that replays it, so any of it can be checked, contradicted or improved on your own machine.

Questions, reports from the air and QSOs are welcome, on the bands as CE3TSK and by mail.

Contact

jtdx_contest@ce3tsk.com

github.com/ce3tsk/jtdx_contest

Support this work

The program is free and stays free. If it earned you a QSO, a coffee is a fine thank-you.

Ko-fi