UAV-based signal data collected at varying altitudes and sampling rates for wireless communication studies
Data files
Oct 08, 2024 version files 150.84 GB
Abstract
This dataset contains wireless communication signal data collected from an unmanned aerial vehicle (UAV) at different altitudes (40 m, 70 m, and 100 m). For the 40 m altitude, data was collected at varying sampling rates (5 MHz, 10 MHz, and 20 MHz), corresponding to bandwidths of 1.25 MHz, 2.5 MHz, and 5 MHz, respectively. The IQ recordings were made using USRP B210 devices at five fixed nodes (LW1-LW5). The dataset includes IQ samples, GPS coordinates, and received signal strength (RSS) values stored in SigMF format files. A Python script (example.py
) is provided for data processing and visualization.
README: UAV-based signal data collected at varying altitudes and sampling rates for wireless communication studies
https://doi.org/10.5061/dryad.2z34tmpvv
Description of the data and file structure
This dataset contains wireless communication signal data collected from an unmanned aerial vehicle (UAV) at different altitudes (40m, 70m, and 100m) and sampling rates (5 MHz, 10 MHz, and 20 MHz) using USRP B210 devices. The data includes IQ samples, GPS coordinates, and received signal strength (RSS) values. Additionally, a Python script (example.py) is provided for data processing and visualization.
The SigMF (Signal Metadata Format) files provide comprehensive descriptions of the signal data collected at each altitude and sampling rate. Data was collected for five fixed nodes (LW1-LW5), with each node having individual signal data for dual channels.
Files and variables
File: UAV-Based_Signal_Data_Collected_at_Varying_Altitudes_and_Sampling_Rates_for_Wireless_Communication_Studies.zip
Description:
Data Structure:
- 40m_fs5MHz/: Contains data collected at 40m altitude with a sampling rate of 5 MHz (corresponding to a 1.25 MHz bandwidth). Includes five subfolders, each representing one of the five fixed nodes (LW1-LW5).
- LW1-LW5: IQ recordings in SigMF format, containing data and metadata files. Filenames follow the format:
\- results_<frequency>_<sampling_rate>_<timestamp>.sigmf-data
\- results_<frequency>_<sampling_rate>_<timestamp>.sigmf-meta
- GPS data and measurement RSS data are stored separately:
\- gps_data.sigmf-data
\- gps_data.sigmf-meta
\- measurement_rss_data.sigmf-data
\- measurement_rss_data.sigmf-meta
- 40m_fs10MHz/: Contains data collected at 40m altitude with a sampling rate of 10 MHz (corresponding to a 2.5 MHz bandwidth).
- LW1-LW5: Similar structure to the 5 MHz folder, with SigMF data for each node.
- 40m_fs20MHz/: Contains data collected at 40m altitude with a sampling rate of 20 MHz (corresponding to a 5 MHz bandwidth).
- LW1-LW5: Similar structure to the 5 MHz folder, with SigMF data for each node.
- 70m_fs20MHz/: Contains data collected at 70m altitude with a sampling rate of 20 MHz. No subfolders for different sampling rates here, but similar structure with SigMF files.
- 100m_fs20MHz/: Contains data collected at 100m altitude with a sampling rate of 20 MHz. Similar structure to 70m_fs20MHz.
File Naming Convention:
The file naming convention for SigMF files is as follows:
- results_
- results_
For example:
- results_3320000000_5000000_2024_07_15_12_26_01_248.sigmf-data
- 3320000000 is the frequency in Hz.
- 5000000 is the sampling rate in Hz.
- 2024_07_15_12_26_01_248 refers to the timestamp when the data was collected (year-month-day hour:minute:second:milliseconds).
Code/software
The following Python script is included for processing and visualizing the data:
1. example.py
This Python script demonstrates how to load and process the data from the SigMF files.
- It uses libraries such as numpy, json, and matplotlib for loading data and plotting results.
- The script loads GPS metadata from gps_data.sigmf-meta and extracts position [GPSx, GPSy, GPSz] and timestamps.
- It also loads radio measurement data from measurement_rss_data.sigmf-meta and interpolates GPS data to align with radio measurements to compute positions [mX, mY, mZ] for further analysis.
- The script includes plotting functionalities to visualize the GPS trajectory and the corresponding RSS data over time.
Localization Data:
GPS coordinates were measured once per second, independent of the time at which the radio measurements were made. Radio measurements may have occurred more than once per second or not at exactly the same time as the GPS measurements. Both GPS and radio measurements are time-stamped, and interpolation was used to align the GPS data with the radio measurements, yielding [mX, mY, mZ] values.
Access information
Other publicly accessible locations of the data:
Methods
Trajectory and Altitudes: The UAV followed the same trajectory path at three different altitudes: 40 m, 70 m, and 100 m.
Sampling Rates: For the 40 m altitude, data was collected using three different sampling rates: 5 MHz, 10 MHz, and 20 MHz, corresponding to bandwidths of 1.25 MHz, 2.5 MHz, and 5 MHz, respectively.
Data Collection Intervals: To reduce data volume, the system collected data for 20 ms intervals every 100 ms.
USRP B210 Devices: The IQ recordings were made using USRP B210 devices placed at the five fixed nodes (LW1-LW5). Each SigMF file contains IQ samples for two channels corresponding to the USRP's dual-channel configuration.
GPS and Radio Measurements:
-
- GPS coordinates (GPSx, GPSy, GPSz) were measured once per second, independent of the time at which the radio measurements were made.
- Radio measurements may have occurred more than once per second or not at exactly the same time as the GPS measurements.
- GPS and radio measurements are both time-stamped, and interpolation was used to calculate mX, mY, mZ values, which align the GPS data with the radio measurements based on their timestamps.
Folder Structure:
- Each altitude (40 m, 70 m, 100 m) is represented by a folder. Within the 40 m folder, subfolders represent the three different sampling rates (5 MHz, 10 MHz, and 20 MHz).
- For each altitude and sampling rate combination, the dataset contains subfolders for five fixed nodes (LW1, LW2, LW3, LW4, and LW5). The locations of these nodes are detailed in the "LW1-5_locations.txt" file.
File Descriptions:
SigMF Files:
-
- results_3320000000_5000000_2024_07_15_12_26_01_248.sigmf-data: Contains IQ samples recorded at a frequency of 3320000000 Hz and a sampling rate of 5 MHz. The file contains two channels, one for each of the USRP B210 device's channels.
GPS Data:
-
- gps_data.sigmf-data: Contains timestamped GPS coordinates of the UAV (GPSx, GPSy, GPSz), measured once per second.
Measurement Data:
-
- measurement_rss_data.sigmf-data: Contains RSS data and interpolated position measurements (mX, mY, mZ) for each timestamp, with RSS1 for channel 1 and RSS2 for channel 2.
Python Script:
example.py: This Python script demonstrates how to load and process the data from the SigMF files.
-
- It uses libraries such as
numpy
,json
, andmatplotlib
for loading data and plotting results. - The script loads GPS metadata from gps_data.sigmf-meta and extracts position (GPSx, GPSy, GPSz) and timestamps.
- It also loads radio measurement data from measurement_rss_data.sigmf-meta and interpolates GPS data to align with radio measurements to compute positions (mX, mY, mZ) for further analysis.
- The script includes plotting functionalities to visualize the GPS trajectory and the corresponding RSS data over time.
- It uses libraries such as