:: 2026-07-19 14:18:04

Release: C port (first ever that I know of, reference is C++ shite) and (at the same time) Direwolf integration of the Rattlegram protocol

Because why the fuck not. Made by Qwen 3.6-27B in ~2 million tokens, and I'll let it write a description because science:

Rattlegram is a system that turns digital data into audio -- and back again -- using OFDM (the same principle as Wi-Fi and 4G, but for sound). You can encode a message into a ~1.6 second audio file, play it through a speaker, and receive it on the other side. Designed for amateur radio.

Complex Signal Math (`rg_dsp.c` - 229 lines): All the building blocks for working with complex numbers (real + imaginary). Includes:

Polar Channel Code: This is the error correction. Think of it as the most modern forward error correction code (from 2009, proved theoretically optimal). It uses **SCL decoding with 16 simultaneous paths** -- the decoder tries 16 different interpretations of a noisy signal at once and picks the winner. Like having 16 people listen to a garbled message simultaneously and voting on which makes sense.
BCH Code: Bose-Chaudhuri-Hocquenghem error correction for the preamble (the "header" of each frame). An older but battle-tested code from the 1960s. Corrects up to 3 bit errors in the 71-bit metadata block.
PAPR Reduction: Peak-to-Average Power Ratio reduction. OFDM signals have nasty spikes where all 256 subcarriers line up at once. This clips the peaks and re-encodes, like a compressor on a mixing board. Prevents the speaker from distorting.

...and whatnot. To be precise, it's not too precise: the C++ decoder of the Android app doesn't really like the packets, and thinks they're "mode 0 pings", so there's room for improvement.

Inference sponsored by Hunger & A'rpi

[ shithub repo ]

[ archive ]