Mode comparison
hfmodem provides PACTOR, VARA, ARDOP and sabir modes. Their waveforms, coding and link control fit different data rates into HF audio channels.
Choose received ARDOP audio or retained transmit-monitor windows from the PACTOR-3 and VARA logbook examples. The trace shows actual audio samples; the envelope shows their RMS amplitude. Recording levels are not calibrated RF power. Sabir has calculated geometry below, with no live-radio recording presented here.
Mode implementations
The mode implementations share hfmodem’s audio, station and host infrastructure. PACTOR-1/2/3 and VARA are beta. ARDOP, Lanner’s RTTY/SITOR-B/NAVTEX modes, voice and CW are alpha. PACTOR-4 and all other modes are experimental.
PACTOR
Shrike provides PACTOR-1 link entry and data exchange, with PACTOR-2/3 waveform and control implementations. ITU-R M.1798 describes the PACTOR-3 carrier grid and timing. PACTOR-4 support is partial and experimental; on-air mail transfer remains unproven.
- spec
- ITU-R M.1798 ○
- rungs
- —
VARA
Kestrel provides VARA link entry, coded data frames and session control.
- spec
- implementation tables
- rungs
- —
ARDOP
Besra implements ARDOP framing, modulation and link control. Codec tests cross-decode with ardopcf.
- spec
- published + source ○
- frames
- —
sabir
Sabir is experimental. Its OFDM data, MFSK control and ARQ are implemented, with bidirectional session evidence in simulation. Its protocol and wire format may change.
- spec
- experimental
- rungs
- —
Coding choices
PACTOR-2/3 use convolutional coding, VARA uses turbo coding, ARDOP uses Reed–Solomon blocks, and sabir uses QC-LDPC data codes and convolutional control coding.
Bandwidth and carrier placement
Calculated carrier positions and measured audio have separate controls. Carrier marks describe the implementation; a recorded spectrum also includes pulse shaping, the audio route and noise.
Channel occupancy
PACTOR-3 uses up to eighteen independently pulse-shaped carriers. Speed levels select the carrier set, differential modulation and code rate.
ARDOP PSK/QAM frames use one, two, four or eight carriers centered on 1500 Hz. Control frames use four tone choices; the bandwidth in a connection acknowledgement names the negotiated session.
Sabir uses 24 or 56 OFDM carriers by gear, with a separate four-tone control waveform.
VARA has three bandwidth profiles. Its low index levels light one candidate bin per column; BW500 L4 instead has two DBPSK subbands. Higher levels use simultaneous QPSK tones or OFDM. BW500, BW2300 and BW2750 OFDM place 11, 49 and 59 carriers respectively on a 46.875 Hz grid. The selected L9 recording is a multi-tone frame.
Recorded constellations
PACTOR-3, VARA and ARDOP decoder decisions from recorded audio. Choose a frame to compare its points with the decoder’s ideal grid. The sources and radial scales differ; PACTOR-3 exports phase only.
The plots preserve the decoder’s I/Q values with equal horizontal and vertical scaling; plot limits fit each cloud. The phase offsets compare each point’s angle with the nearest ideal direction. They do not measure amplitude error, calibrated SNR or link reliability. Hollow squares show the ideal directions when the overlay is enabled; dots are recorded decoder inputs. CRC and decoded context are reported separately.
ARDOP decoder quality measured
Decoder quality: —. The phase score is 100 − 200 × mean grid error ÷ phase step. Uniform random phase averages 50 on this scale. Payload integrity is established separately by error correction and CRC.
This score belongs to the selected ARDOP frame. PACTOR-3 and VARA do not share this quality scale.
Modulation and coding
The coding schemes differ in block size, redundancy and the information used by the decoder.
convolutional
PACTOR-3 uses a rate-½ mother code with puncturing at higher speed levels and soft-decision Viterbi decoding. The constraint length depends on the speed level.
turbo
Two recursive convolutional encoders and an interleaver form the turbo code. Decoding exchanges soft information between the constituent decoders.
Reed–Solomon
Byte-oriented block codes protect each ARDOP carrier block. Parity length depends on the frame type.
QC-LDPC
Sabir uses a sparse parity-check graph with normalized min-sum decoding. Each OFDM gear selects a code rate; some gears repeat a codeword.
PACTOR-3 pulse shape derived
Shrike evaluates a 31-tap root-raised-cosine pulse with roll-off ⅔ for its PACTOR-3 transmit and matched filters.
The plot is calculated from the same pulse function used by the modulator.
Data, replies and turnaround time
The link layers acknowledge data blocks and coordinate the sending turn. PACTOR uses fixed cycles; VARA and ARDOP use burst exchanges. Sabir’s selective acknowledgements and turn control are tested in simulation.
Turnaround budget derived
PACTOR-1 divides its 1.25 s cycle into a data packet, a control signal and 170 ms for switching and propagation. PACTOR-3 uses the same short-cycle duration with a different packet layout.
If the peer uses d of the 170 ms turnaround budget before answering, the remaining local interval is 170 ms − d.
Receiver muting measured
Radio recovery, transmission padding and the receive guard constrain turnaround. The station harness measures transmit-to-receive recovery before a session.
Transmit padding and a 20 ms guard set a lower bound on local reply timing.
PACTOR
Packets and control signals occupy fixed cycle slots. Memory ARQ combines repeated copies of failed blocks.
VARA
A data burst is followed by turnaround and a short acknowledgement. The exchange duration depends on the frame and reply.
ARDOP
ARDOP frames begin with a leader. The recorded connection acknowledgement reports — of leader reception.
sabir
A per-codeword acknowledgement bitmap selects the blocks to retransmit. The receiver soft-combines repeated copies.
Mode parameters
The implementation tables define modulation and coding at each speed level. Higher levels increase the available data rate.
Rate definitions published
The selected chart plots PACTOR-3 net bit/s, VARA bytes per frame, ARDOP payload bit/s during the coded body or sabir carriers per burst. The axes have different units.
These parameter tables describe mode capacity and geometry. They do not measure link throughput or propagation range.
PACTOR-3 speed levels
| SL | tones | code | net b/s | crest dB |
|---|
VARA BW2300 levels
| Level | Family | Bits/cell or index column | Frame bytes |
|---|
ARDOP data frames
| frame | carriers | mod | baud | payload | parity | b/s |
|---|
sabir gears
| rung | carriers | constellation | band Hz |
|---|
Observed results
The decoded payload below is a received ARDOP gateway frame, with its mode, channel and source recording identified.
One frame, off the air measured
The frame contains — bytes of gateway greeting in a 500 Hz four-phase waveform recorded on 7103.5 kHz. Control characters are displayed as escapes.
This record establishes a decoded frame. Completed mail exchanges have separate evidence below.
The repository includes this audio and tests that decode its protected payload.
Demonstrated results
Session status
See implementation evidence for recording, bench, simulation and RF conditions.