Convolutional Neural Network (RF)
How CNNs Learn RF Signal Structure
Classical RF classifiers rely on hand-derived statistics such as higher-order cumulants, cyclic spectral correlation, and instantaneous amplitude or phase histograms. A convolutional neural network discards that feature-engineering step. It treats a window of complex baseband as a two-channel tensor, the in-phase stream stacked with the quadrature stream, and learns a hierarchy of one-dimensional filters whose weights are optimized by backpropagation against labeled examples. Early layers converge to short matched-filter-like kernels that respond to symbol transitions and pulse shapes; deeper layers combine those activations into representations that separate modulation families, symbol rates, and even individual emitter hardware imperfections.
Two input formats dominate. The 1D IQ format preserves phase and is the workhorse for fine-grained modulation classification; the 2D spectrogram format trades phase detail for a wideband time-frequency picture that suits detection, frequency-hop tracking, and interference geolocation. Benchmark datasets such as RadioML 2016.10A and 2018.01A standardized the field, sweeping signals from roughly minus 20 dB to plus 30 dB SNR with realistic carrier frequency offset, sample-rate offset, and multipath fading so that trained models generalize to over-the-air capture rather than to clean simulation.
The trade space differs from analog RF design but is just as concrete. Larger receptive fields and deeper residual stacks raise accuracy but cost parameters, memory bandwidth, and inference latency. Quantization to INT8 and pruning shrink the model for FPGA or embedded-GPU deployment at the edge, typically sacrificing only 1 to 2 percentage points of accuracy when quantization-aware training is used. Robustness to low SNR, adversarial interference, and unseen channel conditions remains the active research frontier.
The Convolution and Classification Math
zk[n] = Σm=0M−1 wk[m] × x[n−m] + bk
ReLU Activation:
ak[n] = max(0, zk[n])
Softmax Class Probability:
pi = esi / Σj esj
Cross-Entropy Training Loss:
L = −Σi yi × log(pi)
Where x = 2×N IQ tensor, wk = filter k of length M, bk = bias, si = logit for class i, pi = predicted probability, yi = one-hot label. Output feature map length ≈ N for "same" padding, or (N − M)/stride + 1 for "valid" padding.
Input Representations and Deployment Trade-offs
| Attribute | 1D CNN on Raw IQ | 2D CNN on Spectrogram |
|---|---|---|
| Input tensor | 2 × 128 to 1024 (I, Q) | ~128 × 128 STFT image |
| Phase info | Preserved | Mostly discarded |
| Best task | Modulation classification | Wideband detection, hop tracking |
| Accuracy >10 dB SNR | ~90 to 95% (24 classes) | ~85 to 92% (detection) |
| Typical params | 0.1 to 1 M | 1 to 10 M |
| Edge inference | <1 ms GPU, <100 μs FPGA INT8 | 1 to 5 ms GPU |
| Low-SNR floor | Collapses below −10 dB | Detection holds slightly lower |
Frequently Asked Questions
Should an RF CNN train on raw IQ samples or on spectrograms?
Both work; the choice follows the task. A 1D CNN on raw IQ (a 2×N tensor) keeps phase and excels at modulation classification, reaching ~90% accuracy above 10 dB SNR on 24 classes in the RadioML benchmarks. A 2D CNN on a spectrogram or STFT image gives a compact time-frequency view that wins for wideband detection and frequency-hop tracking. Production systems often run an IQ branch for fine decisions and a spectrogram branch for coarse spectrum awareness.
How much does SNR degrade RF CNN classification accuracy?
On RadioML 2018.01A a tuned residual CNN holds ~93 to 95% at 18 to 30 dB SNR, drops to ~80% near 6 dB, and falls toward random guessing (~4% for 24 classes) below −10 dB. High-order constellations like 256-QAM degrade first. Training across the full SNR sweep with augmented carrier and sample-rate offsets plus multipath, rather than on clean signals only, is what prevents a low-SNR cliff.
What input size and inference latency are realistic on edge hardware?
Decision windows are typically 128 to 1024 complex IQ samples (a 2×N tensor) or a ~128×128 spectrogram tile. A compact 4 to 6 layer 1D CNN runs in under 1 ms per window on a GPU and low single-digit ms on an embedded GPU. INT8 FPGA implementations sustain multi-megasample-per-second IQ with deterministic latency under 100 μs, which is what real-time spectrum sensing and electronic support measures need.