• Home
  • Projects
  • Blog
  • Thinking
  • Guides
  • Notebook
  • Talks & Publications
  • About

AI Signal Classifier

What it is

A machine-learning system that classifies amateur-radio modes directly from RF (IQ) data, and — increasingly — decodes them. The aim is a pipeline that can look at a stretch of spectrum, find the signals in it, identify each mode, and extract the message: capture → detect → extract → decode → annotate.

It combines two complementary views of a signal:

  • a wideband spectrogram detector that locates signals in time and frequency across a span, and
  • a narrowband IQ classifier that identifies the exact mode of an individual signal and validates it by decoding.

Why I built it

It grew out of watching FT8 decode stations I couldn’t even hear, and wondering how much of the “which mode is this?” work could be done automatically. The long-term goal is a live assistant that can scan a band, tell you what’s on it, and decode what it finds — eventually as an overlay for an SDR such as a FlexRadio.

Current status & goals

  • Validated mode generators — accurate generators for the core keyed modes (RTTY, PSK31/63, Navtex, Morse) that are decode-validated to zero character error rate, so the training data is faithful rather than a generic approximation.
  • Narrowband classifier — a length-agnostic CNN reaches ~99% on clean 1-second captures and confirmed a key hypothesis: distinguishing baud rates (e.g. RTTY45 vs RTTY50) that shorter captures can’t resolve.
  • Wideband detector — a spectrogram object-detector (YOLO) trained purely on synthetic scenes transfers to real off-air signals and stays quiet on noise.
  • Frequency-prior / band-plan layer — narrow, frequency-defined modes like FT8/FT4 are routed straight to a decoder from their known dial frequencies rather than relying on the detector.
  • Voice-to-text — SSB/AM audio is demodulated and transcribed with Whisper, a differentiator I haven’t seen elsewhere.
  • Goals: add FT8/FT4 structural handling, harden real-world capture and rejection of out-of-class signals, and close the loop into a live identify-and-decode interface.

Key links

  • fldigi — reference decoder used for validation
  • WSJT-X — FT8/FT4 reference
  • TorchSig — synthetic RF dataset tooling

Related posts

  • Understanding FT8 through DNA-sequencing parallels
  • SDR theory
We use Google Analytics to collect anonymous data on site usage. Learn more.
© 2026 Dr Ian Henry, G0LFT. All rights reserved.
Privacy Policy | Image Credits | About | Station | Contact | QRZ | YouTube
Main Hub