A real-time Software Defined Radio (SDR) application for monitoring RF activity using adaptive signal processing techniques.
The project combines power spectral density estimation, adaptive background calibration, rolling statistical analysis, and Kalman filtering to identify significant RF signal events within a configurable frequency window.
- Real-time RF spectrum monitoring
- Adaptive background noise calibration
- Welch Power Spectral Density (PSD) estimation
- Rolling ambient noise estimation
- Kalman-filtered signal tracking
- Detection of transient RF signal events
- Configurable center frequency
- Tune an RTL-SDR to a user-specified center frequency.
- Capture IQ samples continuously.
- Estimate the spectrum using Welch PSD.
- Compute a rolling ambient RF baseline.
- Measure signal strength relative to the baseline.
- Smooth measurements using a Kalman filter.
- Generate events when sustained increases in received signal power exceed configurable thresholds.
The detector evaluates two primary metrics:
- Delta — Relative increase in received signal power above the adaptive baseline.
- Slope — Rate of change of the filtered signal over time.
Together these metrics help identify significant RF activity while reducing noise-induced false positives.
python3 custom_scan.py 915.0Example output:
SDR Hardware Tuned Wideband to: 915.0 MHz
Baseline calibrated at: -78.2 dB
Scanning RF spectrum...
[ALERT] RF Detected!
Delta: +13.8 dB
Slope: 0.57
- Python 3
- NumPy
- SciPy
- pyrtlsdr
- RTL-SDR compatible receiver
Install:
pip install numpy scipy pyrtlsdrcustom_scan.py
Contains:
- SDR acquisition
- Welch spectral analysis
- Adaptive baseline estimation
- Kalman filter implementation
- Real-time event detection
- Software Defined Radio (SDR)
- Digital Signal Processing (DSP)
- Welch PSD Estimation
- Kalman Filtering
- Adaptive Thresholding
- Rolling Statistical Analysis
- Real-Time Signal Processing
This project detects changes in received RF signal strength.
Because it uses a single passive receiver, it does not directly estimate physical distance to a transmitter. Received signal strength is influenced by transmitter power, antenna characteristics, propagation conditions, and environmental effects. The reported detection metrics should therefore be interpreted as indicators of relative RF activity rather than absolute range.
- Automatic threshold tuning
- Waterfall visualization
- Frequency hopping support
- Multi-band scanning
- GUI dashboard
- Detection history and logging
- Multi-receiver support