RF spectrum occupancy analyser
A receive-only signal-analysis system for estimating spectrum occupancy, noise floor, and interference patterns from prepared RF recordings or approved SDR captures.
Project definition
Problem statement
Spectrum occupancy changes over time and frequency, while receiver noise, gain, bandwidth, leakage, and threshold choice can make a channel appear occupied or empty incorrectly.
The engineering problem is to create a calibrated receive-only pipeline that estimates power spectra, defines occupancy consistently, detects events, and states what can and cannot be concluded from one receiver.
Project objectives
- Import prepared IQ recordings and optionally collect permitted receive-only SDR data.
- Estimate power spectral density with documented window, overlap, and resolution settings.
- Calibrate or estimate the receiver noise floor and apply adaptive or fixed occupancy thresholds.
- Calculate occupancy by channel, time interval, and frequency band.
- Measure detector performance on synthetic and prepared labelled signal scenarios.
System design
System modules
Capture manager
Records centre frequency, sample rate, gain, receiver, location category, timestamp, and file integrity.
Spectral processor
Segments IQ samples and calculates windowed spectra, spectrograms, and channel power.
Noise and threshold module
Estimates noise conditions and applies documented fixed, adaptive, or percentile thresholds.
Occupancy analyser
Calculates occupied duration, bandwidth, event length, duty cycle, and time-frequency summaries.
Evaluation dashboard
Shows spectrograms, thresholds, events, occupancy, uncertainty, and comparisons across settings.
Methodology
System workflow
- 01Load recording
The student selects a prepared IQ file or approved receive-only capture with complete metadata.
- 02Configure analysis
Frequency resolution, time window, channel plan, and threshold method are selected.
- 03Estimate spectrum
The pipeline calculates spectra, noise estimates, channel power, and candidate events.
- 04Calculate occupancy
Events are grouped and occupancy measures are produced by channel and period.
- 05Compare settings
The student changes threshold or resolution and measures the effect against prepared labels.
Demonstration scenario
A prepared IQ recording contains intermittent signals in three defined channels. The analyser produces a spectrogram, estimates the noise floor, marks events, and calculates channel occupancy. Two threshold methods are compared against the known signal intervals to explain missed and false detections.
Engineering
Technical architecture
- Web application
- Nuxt and Vue for capture selection, spectrograms, channel controls, event review, and comparisons.
- Analysis API
- FastAPI for IQ jobs, configurations, spectral summaries, events, occupancy, and exports.
- Data layer
- PostgreSQL for capture metadata, experiment settings, channels, events, aggregate results, and labels.
- Signal processing
- Python, NumPy, and SciPy for IQ validation, Welch spectral estimates, filtering, thresholds, and event grouping.
- SDR adapter
- Optional GNU Radio receive-only capture path with fixed gain and frequency safety settings.
Testing
Evaluation
Evaluation measures
- Occupancy detection precision and recall on prepared labelled recordings
- Noise-floor and channel-power error against synthetic reference signals
- Sensitivity to threshold, gain, time resolution, and frequency resolution
- Event start, duration, bandwidth, and duty-cycle error
- Reproducibility under identical capture and analysis settings
- Processing time and storage use across recording durations and sample rates
System boundaries
- The system is receive-only and includes no transmission or interference capability.
- Collection is limited to permitted bands, locations, equipment, and applicable regulations.
- The analyser measures energy and occupancy and does not decode private communications.
- One receiver and antenna cannot represent coverage or occupancy across an entire geographic area.
Included
- 01RF capture and experiment-management interface
- 02Spectrum estimation, occupancy, and event-detection pipeline
- 03Time-frequency heatmaps and threshold-analysis tools
- 04Prepared IQ recordings, scenarios, and evaluation results
- 05Complete source code in a private GitHub repository
- 06Complete project documentation with synopsis, abstract, methodology, signal-flow diagrams, spectrum results, screenshots, and conclusion
- 07Setup and usage guide
Project record
No buyer information is collected on this page.
- Permanent project ID
- GP-EC-1EJIRBX
- Catalogued
- 21 Aug 2026
- Completed
- Pending
- Verified
- Pending
- Demonstration
- Added when ready
Handover
After purchase
- 01Payment is confirmed
The project is marked unavailable and cannot be purchased again.
- 02Repository access is granted
The buyer's submitted GitHub account receives access to the private repository.
- 03The purchase record is delivered
The certification sheet is prepared from the reviewed buyer details and sent privately by email.