AERPAW sub-6 GHz spectrum monitoring dataset: Fixed nodes CC1, CC2, LW1 (February 2022)
Data files
Mar 27, 2026 version files 52.25 GB
-
convert_SigMF_to_mat.py
2.16 KB
-
example_matlab.m
1.26 KB
-
example_python.py
1.76 KB
-
README.md
9.11 KB
-
ResultsCC1Feb2022_SigMF.zip
19.08 GB
-
ResultsCC2Feb2022_SigMF.zip
20.66 GB
-
ResultsLW1Feb2022_SigMF.zip
12.50 GB
Abstract
This dataset contains wideband spectrum measurements collected from three fixed AERPAW monitoring nodes (CC1, CC2, and LW1) over a continuous one-week measurement campaign. Each node performs repeated spectrum sweeps from approximately 87 MHz to 6 GHz using a USRP B205mini software-defined radio. Each sweep records received power across 98,868 frequency bins, enabling analysis of spectrum occupancy across time, frequency, and measurement location. The dataset is provided in SigMF format and includes example scripts demonstrating how to read and process the measurements using Python and MATLAB.
Dataset DOI: 10.5061/dryad.hmgqnk9zn
Dataset Description
Measurement Locations
Measurements were collected at three fixed AERPAW monitoring nodes:
| Node | Environment | Description |
|---|---|---|
| CC1 | Urban | AERPAW fixed monitoring node |
| CC2 | Urban | AERPAW fixed monitoring node |
| LW1 | Rural | Lake Wheeler monitoring site |
Each node contains approximately one week of continuous spectrum measurements.
Equipment and Software
Hardware
- USRP B205mini software-defined radio
- Fixed AERPAW monitoring nodes
Software
- UHD (USRP Hardware Driver)
- Spectrum monitoring software
- MATLAB for post-processing
- Python scripts included in this dataset
Measurement Methodology
Wideband spectrum monitoring was performed continuously for approximately one week at each fixed node.
The measurement procedure is:
- The USRP B205mini performs repeated wideband frequency sweeps.
- Each sweep scans the spectrum from approximately 87 MHz to 6 GHz.
- The receiver measures the received power level at each frequency bin.
- Each sweep produces a vector containing 98,868 frequency bins.
- Measurements are timestamped using the system clock and stored using the SigMF format.
These measurements enable analysis of:
- temporal variation in spectrum occupancy
- daily and weekly RF usage patterns
- differences between urban and rural environments
Data Organization
The dataset is organized into three folders corresponding to the monitoring nodes.
dataset/
ResultsCC1Feb2022_SigMF/
results_YYYYMMDD_HHMMSS.sigmf-data
results_YYYYMMDD_HHMMSS.sigmf-meta
...
ResultsCC2Feb2022_SigMF/
results_YYYYMMDD_HHMMSS.sigmf-data
results_YYYYMMDD_HHMMSS.sigmf-meta
...
ResultsLW1Feb2022_SigMF/
results_YYYYMMDD_HHMMSS.sigmf-data
results_YYYYMMDD_HHMMSS.sigmf-meta
...
convert_sigmf_to_mat.py
example_python.py
example_matlab.m
Each SigMF pair corresponds to one spectrum sweep.
File Naming Convention
results_YYYYMMDD_HHMMSS.sigmf-data
results_YYYYMMDD_HHMMSS.sigmf-meta
The timestamp represents the sweep time in the America/New_York timezone.
Example:
results_20220208_125034.sigmf-meta
represents a sweep recorded on February 8, 2022 at 12:50:34 PM.
Data Format
The dataset is stored using the SigMF.
Each measurement sweep contains:
- 98,868 frequency bins
- frequency span approximately 87 MHz – 6 GHz
- measured received power values
The .sigmf-data file stores the power measurements as:
32-bit floating point values (little-endian)
The .sigmf-meta file contains metadata including:
- measurement timestamp
- frequency span
- monitoring node identifier
- frequency axis information
Code Included
1. convert_sigmf_to_mat.py
This script converts SigMF recordings back to MATLAB format.
Output MATLAB variables:
freqs (1 × N frequency vector)
powers (1 × N power vector)
Example usage:
python convert_SigMF_to_mat.py
Example Scripts
Simple examples demonstrating how to use the dataset are provided in:
example_python.py(Python)example_matlab.m(MATLAB)
In these examples, the scripts:
- load multiple converted
.matspectrum sweep files - select a frequency band of interest (LTE Band 12 downlink: 728–746 MHz)
- aggregate measurements across all sweeps
- compute mean and maximum received power
- visualize spectrum activity within the selected band
Example Applications
This dataset can be used for research on:
- spectrum occupancy analysis
- wideband spectrum sensing
- RF activity characterization
- dynamic spectrum access
- machine learning for spectrum prediction
- urban vs rural spectrum utilization
Files and variables
File: example_matlab.m
Description: MATLAB example script demonstrating how to use the dataset. The script loads multiple converted .mat spectrum sweep files, extracts a specific frequency band of interest (LTE Band 12 downlink: 728–746 MHz), aggregates measurements across all sweeps, computes mean and maximum received power, and visualizes spectrum activity within the selected band.
Variables used in .mat files:
| Variable | Description | Units |
|---|---|---|
freqs |
Frequency vector corresponding to each measurement bin | MHz |
powers |
Measured received power at each frequency bin | dBm |
File: example_python.py
Description: Python example script demonstrating how to use the dataset. The script loads multiple converted .mat spectrum sweep files, selects a frequency band of interest (LTE Band 12 downlink: 728–746 MHz), aggregates measurements across all sweeps, computes mean and maximum received power, and visualizes spectrum activity within the selected band.
Variables used in .mat files:
| Variable | Description | Units |
|---|---|---|
freqs |
Frequency vector corresponding to each measurement bin | MHz |
powers |
Measured received power at each frequency bin | dBm |
File: convert_SigMF_to_mat.py
Description: Python utility script that converts spectrum measurements stored in SigMF format (.sigmf-data and .sigmf-meta) into MATLAB .mat files. The script reconstructs the frequency vector and power measurements for each spectrum sweep and saves them as MATLAB variables (freqs and powers) for easier analysis.
File: ResultsLW1Feb2022_SigMF.zip
Description: Compressed archive containing SigMF recordings collected at the LW1 (Lake Wheeler) fixed AERPAW monitoring node during February 2022. Measurements were collected continuously for approximately one week.
Each sweep consists of:
- frequency range: ~87 MHz – 6 GHz
- 98,868 frequency bins
- recorded received power values
Files inside the archive follow the naming convention:
results_YYYYMMDD_HHMMSS.sigmf-data
results_YYYYMMDD_HHMMSS.sigmf-meta
Where the timestamp represents the sweep time in the America/New_York timezone.
Variables contained in each sweep:
| Variable | Description | Units |
|---|---|---|
| Frequency bins | Frequency axis associated with each measurement | MHz |
| Power values | Measured received power at each frequency bin | dBm |
File: ResultsCC2Feb2022_SigMF.zip
Description: Compressed archive containing SigMF recordings collected at the CC2 AERPAW fixed monitoring node during February 2022. Measurements were collected continuously for approximately one week using the same hardware and spectrum scanning configuration described above.
Data structure and variables are identical to those in the LW1 dataset.
File: ResultsCC1Feb2022_SigMF.zip
Description: Compressed archive containing SigMF recordings collected at the CC1 AERPAW fixed monitoring node during February 2022. Measurements were collected continuously for approximately one week using the same measurement configuration as the other monitoring nodes.
Data structure and variables are identical to those in the CC2 and LW1 datasets.
Missing Values
No missing values are used in this dataset.
Each spectrum sweep contains a complete vector of 98,868 frequency bins, and every bin has a corresponding measured power value.
Code/software
Code / Software
The dataset is provided in SigMF (Signal Metadata Format) and can be accessed using common open-source tools for Python and MATLAB.
Software Requirements
Python
The following free and open-source software packages are required to run the provided Python scripts:
- Python ≥ 3.8
- NumPy
- SciPy
- Matplotlib
These packages can be installed using:
pip install numpy scipy matplotlib
MATLAB
MATLAB can be used to analyze the dataset after converting the SigMF recordings to .mat files using the provided Python conversion script.
The MATLAB example script requires only standard MATLAB functions and does not depend on additional toolboxes.
Data Processing Workflow
- Raw spectrum measurements are stored in SigMF format (
.sigmf-dataand.sigmf-metafiles). - The script
convert_SigMF_to_mat.pyconverts SigMF recordings into MATLAB.matfiles. - The example scripts (
example_python.pyandexample_matlab.m) demonstrate how to load the.matfiles, extract specific frequency bands, and analyze spectrum activity across time.
This workflow allows users to easily analyze the dataset using either Python or MATLAB.
