A Practical Guide for RF Engineers in 2025
By Benjamin J. Gilbert
Spectrcyde RF Quantum SCYTHE
bgilbert2@com.edu
Full Paper PDF · Reproducible Code
What Is Spectrum Sensing?
Detecting, classifying, or localizing active RF transmissions in a frequency band — in real time, under noise, with minimal compute.
Used in:
- Cognitive Radio
- Dynamic Spectrum Access (DSA)
- Electronic Warfare (EW)
- 5G/6G Shared Spectrum
- SIGINT Triage
Core Challenges
| Challenge | Why It Matters |
|---|---|
| Low SNR | Signals buried in noise (< 0 dB) |
| Latency | Must decide in <10 ms for real-time ops |
| Compute | Edge devices: <100 mW, <1 GFLOPs |
| Unknown Modulations | BPSK? FM? OFDM? Jamming? |
| Regulatory Compliance | False alarms = spectrum waste |
Evolution of Spectrum Sensing Techniques
| Era | Technique | Pros | Cons | Compute |
|---|---|---|---|---|
| 1970s–90s | Energy Detection | Simple, blind | No modulation info, poor at low SNR | <10k FLOPs |
| 2000s | Cyclostationary Features | Robust to noise | High latency, needs long integration | 100k–1M FLOPs |
| 2010s | Matched Filters / Correlators | Optimal for known signals | Useless for unknown modulations | N log N |
| 2016–2020 | Deep Learning (CNNs on Spectrograms) | High accuracy, learns features | High latency, power-hungry | 10M–100M FLOPs |
| 2025 → | Hybrid FFT + Light ML Gate | Best of all: fast, accurate, low-power | Needs gating policy | 0.25M – 2.6M FLOPs |
Deep Dive: Energy Detection (Still Relevant!)
power = np.mean(np.abs(iq)**2)
if power > threshold:
occupied = True
- Blind — no prior needed
- Fast — O(N)
- Fails below 0 dB SNR
- No classification
Use for coarse occupancy only.
Cyclostationary Detection (Academic Favorite)
Exploits periodic statistics in modulated signals (e.g., symbol rate).
- Good at –10 dB SNR
- Needs 10⁴–10⁶ samples
- High compute (FFT + correlation)
Great for research, bad for edge SDRs.
FFT-Based Spectral Features (The Hero of 2025)
Your SDR already computes the FFT. Why throw it away?
Lightweight Post-Filters (from our paper):
| Feature | Formula | Intuition |
|---|---|---|
| Band Energy | $ \sum | S(f) |
| Peak Spacing | $ \Delta f = \arg\max_2 | S(f) |
| Spectral Flatness | $ \exp(\frac{1}{N}\sum \log | S |
| Bandmask Priors | Pre-defined AM/FM bands | Domain knowledge |
Total cost: ~250k FLOPs
p99 latency: 1.5 ms
Tiny CNNs on Spectra (The Overhyped Baseline)
model = Conv1D(16, kernel=8) → ReLU → Conv1D(32, kernel=4) → FC(1)
- 12M FLOPs
- 6.0 ms p99 @ 0 dB
- Worse AUROC than FFT (0.671 vs 0.754)
Deep learning lost this round.
The Winner: Hybrid Gating
graph TD
A[IQ Samples] --> B[1024-pt FFT]
B --> C[Light Filters → Confidence Score]
C --> D{Confidence > 0.9?}
D -->|Yes| E[Return FFT Result<br>1.5 ms, 0.25M FLOPs]
D -->|No| F[Tiny CNN<br>6.0 ms, 12M FLOPs]

Math:
$$
\boxed{
C_{\text{hybrid}} = (1-f) \cdot 0.25M + f \cdot 12M
}
$$
| Gate Rate $ f $ | Avg Compute | Savings | p99 Latency |
|---|---|---|---|
| 0% | 0.25M | 48× | 1.5 ms |
| 20% | 2.6M | 4.6× | 1.5 ms |
| 100% | 12M | 1× | 6.0 ms |
Real-World Deployment Tips
| Scenario | Recommended Technique |
|---|---|
| Battery-powered sensor | FFT + Energy + Peak Spacing |
| Edge gateway (1W) | Hybrid Gate (f ≤ 0.2) |
| Lab / Cloud | Full CNN or Transformer |
| Jamming detection | Cyclostationary + FFT |
Open-Source Benchmark (Run It Now!)
git clone https://github.com/bgilbert1984/rf-triage-benchmark
cd rf-triage-benchmark
make all
Outputs:
- AUROC vs SNR
- Latency curves
- Confusion matrices
paper.pdf
Future Directions
- Hardware-measured latency on USRP X410
- Adaptive gating using entropy of FFT
- Multi-class triage (BPSK vs OFDM vs FM)
- Federated learning across edge nodes
TL;DR: 2025 Spectrum Sensing Stack
| Layer | Tool | When to Use |
|---|---|---|
| L0 | Energy Detection | Coarse occupancy |
| L1 | FFT + Handcrafted Filters | Default path |
| L2 | Tiny CNN | Only if L1 confidence < 0.9 |
| L3 | Full DL | Offline analysis |
FFT is not dead. It’s the new baseline.
Read the paper: FFT-Only vs Learned Spectral Proxies (PDF)
Run the code: github.com/bgilbert1984/rf-triage-benchmark (coming soon)
Follow: @bgilbert1984 on X for RF+ML updates
Published October 29, 2025
Share this if you believe in efficient RF AI.