• Home
  • Projects
  • Apps
  • 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. The long-term aim is a pipeline that can look at a stretch of spectrum, find the signals in it, identify each mode, and decode what it can: capture → detect → identify → decode → annotate.

The current version has two parts:

  • a harvester that records real off-air IQ from public KiwiSDRs and labels it with the decoders themselves (jt9 for FT8 and FT4, Baudot, Morse and PSK decoders for the keyed modes, Whisper and a human vote for voice), and
  • a narrowband IQ classifier, a small CNN trained on those recordings and judged on receivers it never saw.

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

  • The synthetic approach failed. The first version, trained on validated synthetic generators and measured on a synthetic benchmark, scored 99% and fell over on the first real receiver. That result is withdrawn; the post explains why.
  • Real data instead. Three weeks of harvesting from 15 public receivers gave 4,241 recordings, about 9 GB of IQ, and roughly 28,000 decoder-verified labels across FT8, FT4, RTTY and CW, plus voted voice clips. A label exists only where a decoder actually read the signal; skimmer spots confirm labels but never create them.
  • First honest result. Trained on ten receivers and tested on three it never saw: balanced accuracy 0.97. FT8 and CW 0.99, RTTY 0.97, noise 1.00, FT4 0.88. The learning curve is flat from a quarter of the data upwards, and the model’s features separate by mode rather than by receiver.
  • Known limits. Strong signals only (every label is at least 6 dB over the floor), voice thin, FT4 confused with RTTY, no PSK31 or multi-tone modes yet, three European KiwiSDRs as judges.
  • Goals: a confidence threshold with an “unsure” output, a weak-signal test by mixing recorded noise into decoded signals, more voice votes, release of the dataset as IQ and mode labels, and then the live identify-and-decode interface.

Key links

  • WSJT-X, whose jt9 labels the FT8 and FT4 recordings
  • KiwiSDR public receivers, the source of the off-air recordings
  • Reverse Beacon Network, used to confirm CW and RTTY labels by callsign
  • fldigi, the reference decoder used to validate the keyed-mode decoders

Related posts

  • The Signals Were Real This Time
  • 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