Datasets of Captured Raw UAV Transmissions Containing Custom RF Fingerprints for Enhanced UAV Identification Using Deep Learning
Download Datasets:
Please use below links to download the datasets:Captured IQ symbols of over-the-air UAV transmissions with 4 unique configurations of IQ imbalances, in varied channel conditions
These datasets were used for the paper "AirID: Injecting a Custom RF Fingerprint for enhanced UAV Identification using Deep Learning", IEEE GLOBECOM 2020. Any use of this dataset which results in an academic publication or other publication which includes a bibliography should include a citation to our paper. Here is the reference for the work:
Conference version: PDF
S. Mohanti, N. Soltani, K. Sankhe, D. Jaisinghani, M. D. Felice, and K. R. Chowdhury, "AirID: Injecting a Custom RF Fingerprint for enhanced UAV Identification using Deep Learning,” IEEE GLOBECOM 2020, Taipei, Taiwan, Dec. 2020.
Description:
AirID is implemented using Ettus B200 mini software-defined radios (SDRs) as receivers that serve as both static ground UAV identifiers and as mounted mobile on DJI Matrice M100 UAVs to perform the identification collaboratively as an aerial swarm.AirID tackles the well-known problem of low RF fingerprinting accuracy in ‘train on one day test on another day’ conditions as the aerial environment is continuously changing. Results reveal 98% identification accuracy for authorized UAVs, while maintaining a stable communication BER of 10^(-4) for the evaluated cases. To assess the performance of AirID's deep-learning model, we have created a standard dataset containing the captured raw IQ samples from the UAV transmissions, with each UAV using a unique IQ imbalance for identification purposes. This dataset can be used by fellow researchers to reproduce the original work or further explore other machine learning problems in wireless communication.Fig. 1: System architecture for AirID: UAVs transmitting data with impaired I/Q signatures facilitate identification by ground and UAV units, assisted by a neural network enabled centralized controller.
Fig. 2: DJI Matrice M100 drone,with B200mini SDR and NVIDIA Jetson TX2 module installed.
Fig. 3: Default QPSK constellation with no added impairment (grey). The impaired QPSK constellation (black) after injecting a unique 4dB amplitude impairment to the original I/Q symbols.
Experimental Setup
We use 2 UAV transmitters (Tx) and 5 UAV receivers (Rx) in an outdoor netted area, shown in Fig. 5. Each receiver UAV is placed randomly in one of the virtual grid squares around the transmitter UAVs, as shown in Fig. 4. UAV Tx1 and Tx2 are selected to transmit data with predefined amplitude impairments of 4 dB and 2 dB, respectively, thus emulating two unique injected fingerprints for IDs. The receiver UAVs, Rx 1, 2 and 5 are close to Tx1 (distance of 7ft, 8ft and 6ft respectively), Rx 3 and 4 are located close to Tx2 (distance of 5ft and 6ft) and Rx5 is subjected to external interference of -10dB from a directional ground transmission. Rx3 is forced to perform unstable hovering by switching off the GPS functionality when gathering data from Tx1. The GPS is turned back on when Rx3 is receiving data from Tx2, ensuring stable hovering.Fig. 4: Bird's eye view of receiver UAV (Rx) swarm and transmitter UAV (Tx) locations, with link weight and distance metrics.
Fig. 5: Experimental environment: open area with much less reflections
Dataset Description:
This dataset contains recordings of raw IQ samples collected from over-the-air transmissions of 4 USRP B200mini radios, each installed as a transmitter on a DJI M100 UAV, with each radio transmitting with a unique IQ imbalance . In this dataset, each recording consists of two files: a metadata file and a dataset file. The dataset file is a binary file of digital samples, and the metadata file contains information that describes the dataset. Our metadata and data format is an extension of, and compatible with SigMF specifications.-
For example, the dataset file "WiFi_air_B200_3123BA0_5ft_radio0_stable" represents
- WiFi : --> IEEE802.11a standard-compliant WLAN frame
- air :--> medium of transmission
- B200mini :--> the type of USRP radio
- 3123BA0 : --> device serial ID
- 5ft: --> the transmitter-receiver separation distance in feet
- radio0 : --> the applied amplitude imbalance in the IQ symbols transmitted from this radio, with the ending number (0) implying the amplitude imbalance in dB. Here it is 0dB
- stable/unstable/intfrnc : --> the UAV hovering characteristic -- stable hovering, unstable hovering and with interference (intfrnc)
- .bin/.json : --> the extension of dataset file(.bin)/metadata file(.json)
SigMF Description:
Global ObjectThe global object consists of name/value pairs that provide information applicable to the entire dataset. It contains the information that is minimally necessary to open and parse the dataset file, as well as general information about the recording itself. The following names are specified in the core namespace:
name | required | type | description |
---|---|---|---|
datatype | true | string | The format of the stored samples in the dataset file. |
sample_rate | true | double | The sample rate of the signal in samples per second. |
version | true | string | The version of the SigMF specification used to create the metadata file. |
record_date | false | string | The date this experiment was performed and the dataset created . |
description | false | string | A text description of the SigMF recording. |
Captures
As per the SigMF specifications, the captures value is an array of capture segment objects that describe the parameters of the signal capture. It MUST be sorted by the value of each capture segment's core:sample_start key, ascending. The following names are specified in the core namespace:
name | required | type | description |
---|---|---|---|
sample_start | true | uint | The sample index in the dataset file at which this segment takes effect. |
center_frequency | false | double | The center frequency of the signal in Hz. |
Annotations
According to the SigMF specifications, the Annotations value is an array of annotation segment objects that describe anything regarding the signal data not part of the global and captures objects. Each SigMF annotation segment object must contain a core:sample_start name/value pair, which indicates the first index at which the rest of the segment's name/value pairs apply. We have extended the Annotations with genesys namespace
name | required | type | unit | description |
---|---|---|---|---|
sample_start | false | object | N/A | The sample index in the dataset file at which this segment takes effect. |
sample_count | false | object | N/A | Total number of received samples |
environment | true | double | N/A | A description of the environment where the experiment was carried out. |
distance | false | string | feet | Distance in feet, between transmitter and receiver |
protocol | false | string | feet | the wireless protocol used for this transmission. Here, we used IEEE802.11a standard-compliant WLAN frame |
Transmitter Object
The Transmitter object contains the following name/value pairs:
name | required | type | unit | description |
---|---|---|---|---|
make_and_model | true | string | N/A | Make and model of the UAV. E.g., "DJI M100 UAV". |
radio | false | string | N/A | The type of software defined radio used as a transmitter module on the UAV. E.g., "Ettus B200mini" |
device_id_genesys_lab | false | float | Hz | The unique amplitude imbalance applied on the IQ symbol for this radio/UAV.It is given here as radio0/radio1/radio2/radio3/radio4/radio5. With the number representing the amplitude imbalances in dB for this radio. E.g., radio4 means this transmission was with an amplitude imbalance of 4dB to the IQ symbols. |
antenna_make | false | float | Hz | The manufacturer of the transmitter antenna |
antenna_model | false | float | dB | The model of the antenna used for transmission |
Receiver Object
The Receiver object contains the following name/value pairs:
name | required | type | unit | description |
---|---|---|---|---|
radio | true | string | N/A | Make and model of the receiver radio. E.g., "Ettus B200mini". |
antenna_make | false | float | Hz | The manufacturer of the transmitter antenna |
antenna_model | false | float | Hz | The model of the antenna used for transmission. |