This project is a software-defined radio (SDR) scanner. Eventually it will sweep over a frequency range, look for stations that are transmitting, and attempt to demodulate the signal to determine if there is audio and human voice. The hope is to support various modes like WBFM, NFM, LSB, USB, and AM.
$ cargo run -- --duration 60 --stations 88.9e6 # 88.9 MHz
$ cargo run -- --band fm
$ cargo run -- --verbose --print-candidates # Print out possible stations
$ cargo run -- --stations 88.9e6 --verbose --format json
$ cargo run -- --stations 88.5e6 --capture-iq tests/data/iq/fm_88.5_MHz_1s.iq --capture-duration 1
At the moment, only very basic FM demodulation is working, and many false positives are incorrectly identified as stations.
This project is being used a test bed for experimenting with agentic coding, in order to better understand its strengths and limitations. The coding style may be inconsistent or unnecessarily complex and should not be taken as a reflection of the author's style.