dichasus-015x
Dataset: Indoor Line of Sight, Lab Room
Indoor line-of-sight dataset in a lab room, with co-located receivers and 50MHz bandwidth
50.000 MHz
Signal Bandwidth
1024
OFDM Subcarriers
86805
Data Points
5431.7 s
Total Duration
22.8 GB
Total Download Size
32
Number of Antennas
Indoor
Type of Environment
1.272000 GHz
Carrier Frequency
Co-Located
Antenna Setup
2D LiDAR
Position-Tagged
3D Tachymeter
Position-Tagged
Experiment Setup
Data Analysis
Antenna Configuration
Antenna 1: Main Array
28 | 5 | 10 | 14 | 6 | 2 | 16 | 18 |
19 | 4 | 23 | 17 | 20 | 11 | 9 | 27 |
31 | 29 | 0 | 13 | 1 | 12 | 3 | 7 |
30 | 26 | 21 | 25 | 22 | 15 | 24 | 8 |
Python: Import with TensorFlow
#!/usr/bin/env python3
import tensorflow as tf
raw_dataset = tf.data.TFRecordDataset(["tfrecords/dichasus-0152.tfrecords", "tfrecords/dichasus-0153.tfrecords", "tfrecords/dichasus-0154.tfrecords", "tfrecords/dichasus-0155.tfrecords", "tfrecords/dichasus-0157.tfrecords", "tfrecords/dichasus-0158.tfrecords"])
feature_description = {
"csi": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"pos-lidar": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"pos-tachy": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"rot-lidar": tf.io.FixedLenFeature([], tf.float32, default_value = 0),
"snr": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"time": tf.io.FixedLenFeature([], tf.float32, default_value = 0),
}
def record_parse_function(proto):
record = tf.io.parse_single_example(proto, feature_description)
# Channel coefficients for all antennas, over all subcarriers, real and imaginary parts
csi = tf.ensure_shape(tf.io.parse_tensor(record["csi"], out_type = tf.float32), (32, 1024, 2))
# Position of transmitter determined by vacuum robot LIDAR, in meters (X / Y coordinates)
pos_lidar = tf.ensure_shape(tf.io.parse_tensor(record["pos-lidar"], out_type = tf.float64), (2))
# Position of transmitter determined by Leica MS60 Tachymeter with 20Hz update rate
pos_tachy = tf.ensure_shape(tf.io.parse_tensor(record["pos-tachy"], out_type = tf.float64), (3))
# Rotation of robot relative to its initial parking position, in radians
rot_lidar = tf.ensure_shape(record["rot-lidar"], ())
# Signal-to-Noise ratio estimates for all antennas
snr = tf.ensure_shape(tf.io.parse_tensor(record["snr"], out_type = tf.float32), (32))
# Timestamp since start of measurement campaign, in seconds
time = tf.ensure_shape(record["time"], ())
return csi, pos_lidar, pos_tachy, rot_lidar, snr, time
dataset = raw_dataset.map(record_parse_function, num_parallel_calls = tf.data.experimental.AUTOTUNE)
# Optional: Cache dataset in RAM for faster training
dataset = dataset.cache()
Reference Channel Compensation
For this dataset, we are able to provide estimated antenna-specific carrier phase and sampling time offsets. These offsets occur due to the fact that the reference transmitter channel is not perfectly frequency-flat. To learn more about why these offsets occur and about their compensation, visit our offset calibration tutorial on this topic. Note that the estimates provided here are "best-effort" calculations. The phase and time offsets between antennas in the same array are usually very accurate, but for antennas that are spaced far apart, the results may be less precise. The offset are constant over the complete dataset.How to Cite
Please refer to the home page for information on how to cite any of our datasets in your research. For this dataset in particular, you may use the following BibTeX:
@data{dataset-dichasus-015x,
author = {Euchner, Florian and Gauger, Marc},
publisher = {DaRUS},
title = {{CSI Dataset dichasus-015x: Indoor Line of Sight, Lab Room}},
doi = {doi:10.18419/darus-2202},
url = {https://doi.org/doi:10.18419/darus-2202},
year = {2021}
}
Download
This dataset consists of 6 files. Descriptions of these files as well as download links are provided below.
dichasus-0152
dichasus-0153
dichasus-0154
dichasus-0155
dichasus-0157
Derived Channel Statistics
Channel statistics such as delay spread, k-Factor and path loss exponent are a good way to characterize a wireless channel measurement and to parametrize a channel model. Using estimation algorithms contributed by Janina Sanzi, we automatically extract the following channel statistics from the measured datasets: