DOI: 10.5061/dryad.2z34tmpvv
title: AERPAW UAV-based signal data collected at varying altitudes and sampling rates for wireless communication studies

description: 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.
description: <strong>Trajectory and Altitudes:</strong> The UAV
 followed the same trajectory path at three different altitudes: 40 m, 70
 m, and 100 m. <strong>Sampling
 Rates:</strong> 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.
 <strong>Data Collection Intervals:</strong> To reduce
 data volume, the system collected data for 20 ms intervals every 100
 ms. <strong>USRP B210 Devices:</strong> 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.
 <strong>GPS and Radio
 Measurements:</strong> 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.
 <strong>Folder
 Structure:</strong> 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. 
 <strong>File Descriptions:</strong>
 <strong>SigMF Files:</strong> 
 
 <em>results_3320000000_5000000_2024_07_15_12_26_01_248.sigmf-data</em>: 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. <strong>GPS Data:</strong> <em>gps_data.sigmf-data</em>: Contains timestamped GPS coordinates of the UAV (GPSx, GPSy, GPSz), measured once per second. <strong>Measurement Data:</strong> <em>measurement_rss_data.sigmf-data</em>: Contains RSS data and interpolated position measurements (mX, mY, mZ) for each timestamp, with RSS1 for channel 1 and RSS2 for channel 2. <strong>Python Script:</strong> <strong>example.py</strong>: This Python script demonstrates how to load and process the data from the SigMF files. It uses libraries such as <code>numpy</code>, <code>json</code>, and <code>matplotlib</code> for loading data and plotting results. The script loads GPS metadata from <em>gps_data.sigmf-meta</em> and extracts position (GPSx, GPSy, GPSz) and timestamps. It also loads radio measurement data from <em>measurement_rss_data.sigmf-meta</em> 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.
description: # AERPAW UAV-based signal data collected at varying altitudes and sampling
 rates for wireless communication studies
 [https://doi.org/10.5061/dryad.2z34tmpvv](https://doi.org/10.5061/dryad.2z34tmpvv) ## Description of the data and file structure 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___.sigmf-data \- results___.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_**.sigmf-data \- results_**.sigmf-meta 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: * [https://aerpaw.org/experiments/datasets/](https://aerpaw.org/experiments/datasets/)