DOI: 10.5281/zenodo.7026551
title: Vehicle-to-Infrastructure IEEE 802.11ad Wi-Fi dataset

description: <strong>1. Introduction</strong> This dataset contains space and time-indexed data collected in a Vehicle-To-Infrastructure (V2I) communication scenario, where a moving vehicle downloaded data from a stationary Access Point (AP) using IEEE 802.11ad Wi-Fi. The dataset is comprised of both throughput data and detailed frame information captured with <code>tcpdump</code>. It can be used to study 802.11ad's behavior in vehicular environments, in particular in what pertains to antenna sector selection. This dataset is associated with the following article, which we recommend consulting for more information: <em>Geolocation-based Sector Selection for Vehicle-to-Infrastructure 802.11ad Communication</em>, Mateus Mattos, António Rodrigues, Rui Meireles, Ana Aguiar, in the Elsevier Journal of Computer Communications, Volume 193, ISSN 0140-3664, 2022, doi:10.1016/j.comcom.2022.07.005. <strong>2. Experimental setup</strong> The AP was placed at the corner of a residential-area intersection while a mobile client vehicle drove around it, downloading data from the AP. Commercial Off-The-Shelf (COTS) TP-Link Talon AD7200 were used for both the stationary AP and mobile client. A third AD7200 configured in promiscuous mode was placed next to the mobile client, in order to capture the control frames being exchanged. <strong>2.1 Experimental nodes</strong> MAC address Role Position Orientation <code>70:4f:57:72:b2:52</code> AP Static, latitude: 41.111879, longitude: -8.631146, mounted of top of a parked vehicle Perpendicular to road <code>50:c7:bf:97:8a:ac</code> Client Mobile, mounted on roof of client vehicle Towards front of vehicle <code>50:c7:bf:3c:53:1c</code> Monitor Mobile, mounted on roof of client vehicle Towards front of vehicle <strong>3. Trace description</strong> The data is divided into traces. Each trace represents an uninterrupted period of data collection. The experiments were ran twice, once in 2020, and again in 2021. Environmental conditions, such as weather and topography, were consistent between the two experiment sets. <strong>3.1 2020 traces</strong> Trace # Start timestamp End timestamp Mobility pattern 235 1593946456 1593946593 Vehicle moving eastwards from AP and back, straight line, low speed 237 1593946793 1593946908 Vehicle moving westwards from AP and back, straight line, low speed 238 1593946938 1593947076 Vehicle moving eastwards from AP and back, straight line, low speed 240 1593947181 1593947332 Vehicle moving westwards from AP and back, straight line, low speed 241 1593947360 1593947499 Vehicle moving eastwards from AP and back, straight line, low speed 242 1593947566 1593947700 Vehicle moving westwards from AP and back, straight line, low speed 243 1593947759 1593947915 Vehicle moving southwards from AP and back, straight line, low speed 244 1593947971 1593948111 Vehicle moving southwards from AP and back, straight line, low speed 245 1593948210 1593948348 Vehicle moving southwards from AP and back, straight line, low speed 246 1593948433 1593948569 Vehicle moving northwards from AP and back, straight line, low speed 247 1593948631 1593948795 Vehicle moving northwards from AP and back, straight line, low speed 248 1593948904 1593949053 Vehicle moving northwards from AP and back, straight line, low speed 249 1593949307 1593950016 Vehicle driving circuit around the intersection, medium speed (see file <code>driving-circuit.gif</code>) 250 1593950073 1593950643 Vehicle driving circuit around the intersection, medium speed (see file <code>driving-circuit.gif</code>) 251 1593950682 1593951240 Vehicle driving circuit around the intersection, medium speed (see file <code>driving-circuit.gif</code>) <strong>3.2 2021 traces</strong> Trace # Start timestamp End timestamp Mobility pattern 201 1632244398 1632244548 Vehicle moving eastwards from AP and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 202 1632244563 1632244663 Vehicle moving westwards from AP and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 203 1632244674 1632244799 Vehicle moving southwards from AP and back, then westwards and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 204 1632244812 1632244915 Vehicle moving northwards from AP and back, then westwards and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 206 1632245138 1632245346 Vehicle moving eastwards from AP and back, then westwards and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 207 1632245355 1632245463 Vehicle moving southwards from AP and back, then westwards and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 208 1632245472 1632245581 Vehicle moving northwards from AP and back, then westwards and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 209 1632245592 1632245790 Vehicle moving southwards from AP and back, northwards from AP and back, then westwards and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 210 1632245798 1632245987 Vehicle moving eastwards from AP and back, straight line, low speed (see file <code>driving-patterns-by-trace-2021.pdf</code>) 302 1632335672 1632336273 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 303 1632336286 1632336870 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 401 1634983869 1634984363 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 402 1634984410 1634984881 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 403 1634984908 1634985562 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 404 1634985666 1634986835 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 405 1634986980 1634988303 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 406 1634988352 1634989470 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed 407 1634989490 1634990434 Vehicle driving circuit around the intersection (see file <code>driving-circuit.gif</code>), medium speed <strong>4. Data description</strong> <strong>4.1 File structure</strong> The data from the 2020 and 2021 sets of experiments can be found in subfolders <code>2020</code> and <code>2021</code>, respectively. Each subfolder constains the following: <code>gps.csv</code>: client vehicle mobility trace; <code>thrghpt.csv</code>: application throughput data; <code>wifi.csv</code>: summarized 802.11ad frame data; <code>pcap/</code>: contains raw <code>.pcap</code> files used to generate <code>wifi.csv</code>, separated by trace number; <code>configs/</code>: includes JSON file with fields and filters used by <code>tshark</code> for the generation of <code>wifi.csv</code>. <strong>4.2 GPS data: <code>gps.csv</code></strong> GPS data was captured by a high-accuracy GPS device: Trimble Pro Series 6H [link], and consists of a combination of fields provided by multiple NMEA <code>GP*</code> sentence codes, namely: <code>GPRMC</code>, <code>GPGGA</code>, <code>GPGLL</code>, and <code>GNGSA</code> [link]. Column description <code>gps.csv</code> is a table with the following columns: Column Description <code>timestamp</code> UNIX system timestamp at which GPS sentence was recorded, in seconds <code>lat</code> Latitude, in decimal degrees <code>lon</code> Longitude, in decimal degrees <code>alt</code> Altitude, in meters <code>speed</code> Ground speed, in knots <code>HDOP</code> Horizontal dilution of precision <code>PDOP</code> Position dilution of precision <code>VDOP</code> Vertical dilution of precision <code>heading</code> Direction of movement as provided by GPS device, in clockwise degrees from north <code>identifier</code> NMEA sentence code, e.g., <code>GPRMC</code> <code>gpstime</code> Timestamp as provided by GPS device, in seconds <strong>Note:</strong> Because each GPS sentence only contains a subset of the listed columns, any missing values are set to -1.0. <strong>4.3 Application layer throughput : <code>thrghpt.csv</code></strong> Data was sent from a custom sender application running on the AP, at the maximum possible rate. A custom receiver application on the client vehicle consumes the data. A time-indexed log of the amount of data sent and received was recorded. Column description <code>thrghpt.csv</code> is a table with the following columns: column description <code>timestamp</code> UNIX system timestamp the throughput record pertains to <code>pckt_cntr</code> Number of packets received within the current record <code>byte_cntr</code> Number of bytes received within the current record <code>elapsed_time</code> Time elapsed since previous throughput record <code>thrghpt</code> Throughput for the current record, in in Megabit per second (Mbps) <code>inter_arrival_avg </code> Average inter-packet arrival time during the recording period, in seconds <code>diff_local_avg </code> Average delta between the timestamp recorded in the packet's payload (set by the sender) and the local timestamp in the receiver, in microseconds <code>trace_nr</code> Trace number the throughput data is associated with <strong>4.4 802.11ad frame data: <code>wifi.csv</code></strong> The <code>wifi.csv</code> file contains 802.11ad frame data, captured with <code>tcpdump</code>, on a Talon AD7200 router configured in promiscuous mode and colocated with the mobile client device. Data collection and processing The following <code>tcpdump</code> command was used to collect raw data frames: <pre><code>tcpdump -B 100000 -s96 -i &lt;ad-monitor-interface&gt; -y IEEE802_11_RADIO -w &lt;pcap-file&gt; & </code></pre> In order to create <code>wifi.csv</code>, the raw data frames were processed using <code>tshark</code> in order to filter out unnecessary information. More specifically, we ran the following command: <pre><code>tshark -r &lt;input-pcap&gt; -2 -T fields &lt;fields&gt; -Y "&lt;filter&gt;" -E header=y -E separator=, -E quote=d -E occurrence=f </code></pre> The raw input <code>.pcap</code> files for each trace are provided in the <code>pcap/</code> folder. The parameters <code>&lt;filter&gt;</code> and <code>&lt;fields&gt;</code> represent the filtering conditions and what fields we want to extract from each frame, respectively. The actual values used are provided in the <code>configs/tshark.json</code> file. Frames were filtered based on a single field: the WLAN frame type and subtype, or <code>wlan.fc.type_subtype</code>. Only the following types of frames were kept: Frame type/subtype value Description 0x0000 Association request 0x0001 Association response 0x0002 Re-association request 0x0003 Re-association response 0x000a Disassociation 0x000b Authentication 0x000c De-authentication 0x0019 Block ACKs 0x001d Clear-to-send 0x0028 QoS data 0x0030 DMG beacon 0x0164 Grant 0x0167 Grant ACK 0x0168 SLS 0x0169 SLS feedback 0x016a SLS feedback ACK Column description <code>wifi.csv</code> is a table with the following columns: Column Description <code>frame.time_epoch</code> UNIX timestamp of frame capture, in seconds (with microsecond resolution) <code>frame.number</code> Ordinal number attributed to captured frame <code>frame.len</code> Frame length, in bytes <code>ip.src</code> Source IP address <code>ip.dst</code> Destination IP address <code>ip.flags</code> IP flags <code>ip.frag_offset</code> IP fragmentation offset <code>ip.hdr_len</code> IP header length <code>ip.id</code> IP identification field <code>ip.proto</code> IP protocol field <code>ip.reassembled_in</code> Frame number in which IP packet is reassembled <code>radiotap.channel.flags.2ghz</code> 1 if channel frequency is in 2.4 GHz range, 0 otherwise <code>radiotap.channel.flags.5ghz</code> 1 if channel frequency is in 5 GHz range, 0 otherwise <code>radiotap.channel.freq</code> Channel frequency (60480 Hz in this case) <code>radiotap.length</code> IEEE 802.11 radiotap capture header length <code>radiotap.mcs.index</code> Modulation Coding Scheme index <code>udp.srcport</code> UDP source port <code>udp.dstport</code> UDP destination port <code>wlan.ba.bm</code> Block ACK bitmap <code>wlan.bf</code> Full beamforming field of WLAN frame <code>wlan.bf.isInit</code> Whether or not frame is SLS initiator <code>wlan.bf.isResp</code> Whether or not frame is SLS responder <code>wlan.bf.num_dmg_ants</code> Number of DMG antennas <code>wlan.bf.num_sectors</code> Number of SLS sectors <code>wlan.bf.train</code> Whether or not frame is part of SLS training <code>wlan.fc.retry</code> Whether WLAN frame is re-transmitted <code>wlan.fc.type_subtype</code> WLAN frame type and subtype <code>wlan.fixed.ssc.sequence</code> WLAN starting sequence number <code>wlan.fixed.timestamp</code> WLAN timestamp <code>wlan.frag</code> WLAN fragment number <code>wlan.ta</code> WLAN transmitter MAC address <code>wlan.ra</code> WLAN receiver MAC address <code>wlan.seq</code> WLAN frame sequence number <code>wlan.ssw</code> Full Sector-level Sweep (SLS) field of WLAN frame <code>wlan.ssw.cdown</code> SLS countdown (CDOWN) number <code>wlan.ssw.direction</code> SLS direction (0: frame sent by SLS initiator, 1: by SLS responder) <code>wlan.ssw.sect</code>