# dichasus-0c5x Dataset: Outdoor - Street on University Campus

Outdoor, mostly line-of-sight dataset with transmitter on a street between two tall buildings on the university campus

Signal Bandwidth

OFDM Subcarriers

Data Points

Total Duration

### 32

Number of Antennas

### Outdoor

Type of Environment

### 1.272000 GHz

Carrier Frequency

Antenna Setup

Position-Tagged

## Antenna Configuration

#### Antenna 1: Main Array

This array has a vertical spacing of 0.118m and a horizontal spacing of 0.118m. In the dataset's longitude / latitude coordinate system, it is located at N 48.747036°, E 9.105075°, with the center 10.1m above the ground, which corresponds to 527m above sea level. The antenna points in a direction that is characterized by a true-north based azimuth angle of 94° a downwards tilt of 26.5°.
Antenna Channel Assignments
 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-0c53.tfrecords", "tfrecords/dichasus-0c54.tfrecords", "tfrecords/dichasus-0c55.tfrecords", "tfrecords/dichasus-0c56.tfrecords", "tfrecords/dichasus-0c57.tfrecords", "tfrecords/dichasus-0c58.tfrecords", "tfrecords/dichasus-0c59.tfrecords", "tfrecords/dichasus-0c5a.tfrecords", "tfrecords/dichasus-0c5b.tfrecords", "tfrecords/dichasus-0c5c.tfrecords", "tfrecords/dichasus-0c5d.tfrecords", "tfrecords/dichasus-0c5e.tfrecords", "tfrecords/dichasus-0c5f.tfrecords", "tfrecords/dichasus-0c60.tfrecords", "tfrecords/dichasus-0c61.tfrecords", "tfrecords/dichasus-0c62.tfrecords", "tfrecords/dichasus-0c63.tfrecords", "tfrecords/dichasus-0c64.tfrecords"])

feature_description = {
"cfo": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"csi": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"pos-gnss": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"snr": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"stddev-gnss": 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)

# Measured carrier frequency offset between MOBTX and each receive antenna.
cfo = tf.ensure_shape(tf.io.parse_tensor(record["cfo"], out_type = tf.float32), (32))

# 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 GNSS, in latitude / longitude / height above sea level
pos_gnss = tf.ensure_shape(tf.io.parse_tensor(record["pos-gnss"], out_type = tf.float64), (3))

# Signal-to-Noise ratio estimates for all antennas
snr = tf.ensure_shape(tf.io.parse_tensor(record["snr"], out_type = tf.float32), (32))

# Standard deviation of position label estimate, in meters
stddev_gnss = tf.ensure_shape(tf.io.parse_tensor(record["stddev-gnss"], out_type = tf.float32), (3))

# Timestamp since start of measurement campaign, in seconds
time = tf.ensure_shape(record["time"], ())

return cfo, csi, pos_gnss, snr, stddev_gnss, 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-0c5x,
author    = {Florian Euchner and Marc Gauger},
publisher = {DaRUS},
title     = {{CSI Dataset dichasus-0c5x: Outdoor - Street on University Campus}},
doi       = {doi:10.18419/darus-2186},
url       = {https://doi.org/doi:10.18419/darus-2186},
year      = {2021}
}

This dataset consists of 18 files. Descriptions of these files as well as download links are provided below.

dichasus-0c53
Textual Description

MOBTX static at position A.

0.1 GB

File Size

310

Points

26.4 s

Duration

dichasus-0c54
Textual Description

MOBTX (again) static at position A.

0.1 GB

File Size

513

Points

32.5 s

Duration

dichasus-0c55
Textual Description

MOBTX moves from position A to position B.

0.1 GB

File Size

233

Points

19.6 s

Duration

dichasus-0c56
Textual Description

MOBTX static at position B.

0.1 GB

File Size

497

Points

38.7 s

Duration

dichasus-0c57
Textual Description

MOBTX moves from position B to position A.

0.1 GB

File Size

541

Points

37.8 s

Duration

dichasus-0c58
Textual Description

MOBTX (again) static at position A, after returning from position B.

0.1 GB

File Size

389

Points

28.2 s

Duration

dichasus-0c59
Textual Description

MOBTX moves from position A to position B.

0.1 GB

File Size

355

Points

23.4 s

Duration

dichasus-0c5a
Textual Description

MOBTX (again) static at position B, after returning from position A.

0.1 GB

File Size

355

Points

31.1 s

Duration

dichasus-0c5b
Textual Description

MOBTX static, then MOBTX moves from position B to position C, then MOBTX static. People may walk through the channel during the measurement at any time.

0.3 GB

File Size

1211

Points

80.5 s

Duration

dichasus-0c5c
Textual Description

MOBTX static, then MOBTX moves from position C to position D, then MOBTX static. People may walk through the channel during the measurement at any time.

0.3 GB

File Size

1223

Points

96.8 s

Duration

dichasus-0c5d
Textual Description

MOBTX static, then MOBTX moves from position D to position E, then MOBTX static. People may walk through the channel during the measurement at any time.

0.4 GB

File Size

1583

Points

115.1 s

Duration

dichasus-0c5e
Textual Description

MOBTX static, then MOBTX moves from position E to position F, then MOBTX static. People may walk through the channel during the measurement at any time.

0.3 GB

File Size

1071

Points

85.8 s

Duration

dichasus-0c5f
Textual Description

MOBTX static, then MOBTX moves from position F to position G, then MOBTX static. People may walk through the channel during the measurement at any time.

0.4 GB

File Size

1544

Points

134.3 s

Duration

dichasus-0c60
Textual Description

MOBTX static, then MOBTX moves from position G to position H, then MOBTX static. People may walk through the channel during the measurement at any time.

0.1 GB

File Size

535

Points

82.1 s

Duration

dichasus-0c61
Textual Description

MOBTX static, then MOBTX moves from position H to position I, then MOBTX static. Since position I is far away, only few datapoints in this dataset could be decoded.

0.0 GB

File Size

3

Points

2.8 s

Duration

dichasus-0c62
Textual Description

Transmitter moved along various paths, close to positions A to I.

1.1 GB

File Size

4292

Points

475.1 s

Duration

dichasus-0c63
Textual Description

Transmitter was moved in a meandering pattern, close to positions A to I.

1.7 GB

File Size

6538

Points

695.9 s

Duration

dichasus-0c64
Textual Description

Transmitter was moved in an area on the same street, but several meters further to the south.

1.8 GB

File Size

6729

Points

1383.2 s

Duration