From AFSK to Goertzel
The article discusses the implementation of classic packet radio in PacketRF, focusing on the challenge of decoding Bell 202 AFSK efficiently on small embedded systems. It explores the Goertzel algorithm as a solution for detecting specific frequencies without the computational overhead of a full FFT. The author shares insights and visualizations that helped clarify the process of decoding 1200 Hz and 2200 Hz tones.
- ▪The article addresses the implementation of classic packet radio using AX.25 and AFSK modulation.
- ▪It highlights the challenge of efficiently decoding Bell 202 AFSK on limited hardware.
- ▪The Goertzel algorithm is presented as a more efficient alternative to FFT for detecting specific frequencies.
Opening excerpt (first ~120 words) tap to expand
From AFSK to Goertzel 2026-05-17 HAMs, 🇬🇧 Vlastimil Slinták Some time ago I started implementing “classic” packet radio into PacketRF. Not the fancy NPR stuff, not high-speed links, but the old and simple AX.25. The one that runs at 1200 baud over a narrow FM channel and somehow still works over surprisingly long distances. And as soon as I decided to support 1200 baud packet radio (often called PR1200) in PacketRF, I ran into a problem that many people before me had already solved, but I had never really thought about in detail: how do you efficiently decode Bell 202 AFSK on a small embedded system without wasting half your CPU on it? This post is a write-up of what I learned. Part refresher, part rediscovery, part “wait, why does this even work?”.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Uart.