Spectrel is (yet another) SDR-agnostic program for recording radio signals and spectrograms. It offers a lightweight alternative to Spectre written in pure C. Powered by SoapySDR and the FFTW library.
⚠️ We're in pre-alpha - please expect some instability.
Spectrel is expected to be compatible with most Linux distributions.
-
Clone the repository
git clone https://github.com/jcfitzpatrick12/spectrel.git && cd spectrel
-
Build the binary
Assuming you are in the root directory for this repository:sudo make install
-
Good to go!
You can now run Spectrel using:spectrel -r <receiver> -f <frequency> -s <sample_rate> -b <bandwidth> -g <gain> -T <duration> [-d directory] [-w window_size] [-h window_hop] [-B buffer_size]
The spectrograms are streamed to a file named
<timestamp>_<receiver>.cf64, where<time_stamp>is the current system time formatted in the ISO 8601 standard and<receiver>is the SDR driver name. Each sample corresponds to a complex DFT amplitude (64 bits per component), stored in column (spectrum) major ordering.OPTIONS
-r receiver
The SDR driver name. Examples: "rtlsdr", "hackrf"-f frequency
Center frequency in Hz-s sample_rate
Sample rate in Hz-b bandwidth
Bandwidth in Hz-g gain
Gain setting in dB-T duration
Recording duration in seconds-d directory
Output directory (default: current working directory)-w window_size
FFT window size (default: 1024 samples)-h window_hop
FFT window hop size (default: 512 samples)-B buffer_size
Buffer size (default: 16384 samples)
Record spectrograms for 20 seconds at 95.8MHz using an RTL-SDR:
spectrel -r rtlsdr -f 95800000 -s 250000 -b 250000 -g 30 -T 20
Record spectrograms for 10 seconds at 445MHz, at the maximum sample rate for a Hack RF One (20MHz) into a custom directory:
spectrel -r hackrf -f 445000000 -s 20000000 -b 20000000 -g 20 -T 10 -d ./recordings


