Patrick Lidstone
Self-hosted

Protocol Reproduction Specs

Full, reproduction-grade specifications for every native (in-repo, no external binary) codec/protocol in Rafe. Each document is self-contained: the complete algorithm, every constant/polynomial/generator/table, the frame and symbol structure, and step-by-step encode + decode — enough to reimplement the protocol from scratch without reading the source.

The depth/style benchmark is ../rvqvoice.md.

New to these? Three on-ramps, by background: the Beginner's Tour walks every protocol here from zero, easiest first, assuming no radio or maths background at all; The Mathematics of the Digital Modes is the intermediate guide — every operating principle (matched filters, CRCs, Reed–Solomon, Viterbi, LDPC, …) derived and pinned with one worked numeric example each; and Protocol Commonalities is an engineer's guided tour of the shared building blocks (modulation, sync, CRC, FEC, interleaving, …), built up from the simplest concepts (OOK/FSK) to the full stack, that these per-protocol specs then instantiate in detail.

WSJT-X weak-signal family (app/radio/ftx, wsprx, jtx)

  • FT8 / FT4 — 174/91 LDPC, Costas sync, 8-GFSK / 4-GFSK
  • WSPR — K=32 convolutional, 4-FSK, 162 symbols
  • JT4 — K=32 convolutional, 4-FSK
  • JT65 — Reed–Solomon(63,12) over GF(64), 65-FSK
  • FST4 / FST4W — 240/101 & 240/74 LDPC, 4-GFSK
  • Q65 — QRA65 non-binary code over GF(64), 65-FSK
  • WSJT-X 77-bit message packing — the shared payload codec

fldigi keyboard/image family

LoRa / SDR family (app/radio/lorasdr, loracss)

HF keyboard & data

  • JS8 — FT8-derived 8-FSK, LDPC(174,87), CRC-12, JSC text (keyboard-to-keyboard)
  • CW / Morse — soft-decision Goertzel front end + duration-HMM Viterbi decoder
  • ARDOP — HF ARQ modem: 4FSK/PSK/QAM + RS/CRC, ISS/IRS state machine, TNC
  • Mercury OFDM — clean-room OFDM+LDPC HF data modem (17 configs) + ARQ

Digital voice & trunked PMR

  • RVQ-Voice — native RVQ digital voice (the template document)
  • M17 — 4-FSK RRC, conv+Golay coding, LSF, Codec2 voice
  • P25 Phase 1 — C4FM, Golay/trellis FEC, NID/TSBK, IMBE voice
  • IMBE parameter codec — the 88-bit P25 frame ↔︎ MBE parameters (fully-native P25 voice)
  • AMBE parameter codec — the DV-family voice frame ↔︎ MBE parameters: half-rate AMBE+2 (DMR/NXDN/YSF) + full-rate AMBE (D-STAR)
  • MBE vocoder — Multi-Band Excitation analysis/synthesis: the IMBE/AMBE model layer (replaces mbelib)
  • DMR — ETSI TS 102 361 Tier I/II: C4FM, BPTC(196,96), Golay(20,8) + RS-masked LC, CSBK, AMBE+2 voice superframe
  • D-STAR — JARL DV: GMSK 4800, (7,5) K=3 header FEC + X.25 CRC, full-rate AMBE + slow-data message
  • YSF — Yaesu System Fusion DN: C4FM, FICH (Golay+conv) + whitened DCH callsign, AMBE+2 voice
  • NXDN — Icom IDAS / Kenwood NEXEDGE: 6.25/12.5 kHz 4FSK, LICH + punctured-conv SACCH/FACCH1, AMBE+2 voice
  • TETRA — π/4-DQPSK downlink, RCPC + RM(30,14), colour-code scrambling, MAC
  • FreeDV — libcodec2 wrapper today + native OFDM/LDPC blueprint (700D)

Broadcast

  • DAB / DAB+ — Eureka-147 Mode I OFDM/DQPSK, FIC/MSC, RS superframe
  • RDS — 57 kHz subcarrier biphase/DBPSK, group decode (PS/RadioText + CT/AF)

Image & video

  • HamDRM (DSSTV) — DRM-narrowband COFDM + MLC FEC, DAB-MOT/EasyPal images
  • WEFAX — HF radiofax: FM subcarrier 1500/2300 Hz, 120 LPM / IOC 576
  • DATV — DVB-S (RS+Viterbi/QPSK) & DVB-S2 (BCH+LDPC), MPEG-TS

Satellites

  • NOAA APT — 2400 Hz AM line-scan fax → image
  • Meteor-M LRPT — OQPSK → CCSDS (Viterbi + RS(255,223) + CADU) → MSU-MR image
  • Inmarsat-C STD-C / EGC — BPSK 1200, K=7 Viterbi + descramble/de-interleave, UW frame sync, SafetyNET/EGC layer
  • HRPT & AHRPT — NOAA Manchester minor frames; MetOp/FengYun AVHRR over the CCSDS core
  • xRIT — LRIT/HRIT file layer (GOES/Meteosat/GK-2A): header chain + Space-Packet fragmentation

Packet, paging, surveillance & marine

  • APRS — AFSK1200 (Bell 202) + AX.25 HDLC
  • Marine DSC — ITU-R M.493 10-bit symbols, DX/RX time diversity, VHF ch70 AFSK modem
  • POCSAG — 2-FSK pager, BCH(31,21) codewords
  • ADS-B / Mode S — 1090 MHz PPM, CRC-24, CPR position
  • ACARS — ARINC-618 message layer + Inmarsat AERO framing
  • VDL Mode 2 — aviation VHF datalink: D8PSK 31.5 kbit/s, RS(255,249), AVLC/HDLC + ACARS-over-AVLC
  • AIS — 9600-baud GMSK, HDLC, AIVDM 6-bit armour
  • NAVTEX — SITOR-B / CCIR 476 constant-ratio FEC
  • ISM (rtl_433-style) — config-driven OOK/FSK device catalogue

Related: the RS-BA1 network protocol spec documents the Icom UDP remote-control + waterfall transport used by the client/server.

Native but not yet given a full spec here: FreeDV native (blueprint above, not yet implemented).