← Back to project catalogue
GP-EC-1EJIRBXElectronicsOpen for request

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.

  • Nuxt
  • Vue
  • FastAPI
  • PostgreSQL
  • Python
  • NumPy
  • SciPy
  • GNU Radio
  • Docker

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

01

Capture manager

Records centre frequency, sample rate, gain, receiver, location category, timestamp, and file integrity.

02

Spectral processor

Segments IQ samples and calculates windowed spectra, spectrograms, and channel power.

03

Noise and threshold module

Estimates noise conditions and applies documented fixed, adaptive, or percentile thresholds.

04

Occupancy analyser

Calculates occupied duration, bandwidth, event length, duty cycle, and time-frequency summaries.

05

Evaluation dashboard

Shows spectrograms, thresholds, events, occupancy, uncertainty, and comparisons across settings.

Methodology

System workflow

  1. 01
    Load recording

    The student selects a prepared IQ file or approved receive-only capture with complete metadata.

  2. 02
    Configure analysis

    Frequency resolution, time window, channel plan, and threshold method are selected.

  3. 03
    Estimate spectrum

    The pipeline calculates spectra, noise estimates, channel power, and candidate events.

  4. 04
    Calculate occupancy

    Events are grouped and occupancy measures are produced by channel and period.

  5. 05
    Compare 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

  1. 01RF capture and experiment-management interface
  2. 02Spectrum estimation, occupancy, and event-detection pipeline
  3. 03Time-frequency heatmaps and threshold-analysis tools
  4. 04Prepared IQ recordings, scenarios, and evaluation results
  5. 05Complete source code in a private GitHub repository
  6. 06Complete project documentation with synopsis, abstract, methodology, signal-flow diagrams, spectrum results, screenshots, and conclusion
  7. 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

  1. 01
    Payment is confirmed

    The project is marked unavailable and cannot be purchased again.

  2. 02
    Repository access is granted

    The buyer's submitted GitHub account receives access to the private repository.

  3. 03
    The purchase record is delivered

    The certification sheet is prepared from the reviewed buyer details and sent privately by email.