# dichasus-dxxx-reduced Dataset: Outdoor - Three arrays distributed along the facade (one antenna removed)

Three 2 x 8 antenna arrays are distributed along the facade of a building, separated by up to 35m (one antenna less due to synchronization issues).

This dataset is generated from the same recording as dichasus-dxxx-complete. However, due to the fact that one antenna that is part of array B was not perfectly reliable because of synchronization issues, that antenna was removed from this dataset. This reduces the number of antennas by one, but increases the number of valid collected datapoints since datapoints that previously had to be rejected due to bad synchronization at that one antenna are now also part of the dataset. This dataset therefore contains more trajectories and datapoints than dichasus-dxxx-complete, but is otherwise identical.

Signal Bandwidth

OFDM Subcarriers

Data Points

Total Duration

### 47

Number of Antennas

### Outdoor

Type of Environment

### 1.272000 GHz

Carrier Frequency

Antenna Setup

Position-Tagged

## Antenna Configuration

#### Antenna 1: Antenna Array A

This array has a vertical spacing of 0.118m and a horizontal spacing of 0.118m. In the dataset's cartesian coordinate system, its center is located at [14.104 4.37595 10.090525] and the antenna points in direction [-0.9369289 -0.01300416 -0.349278].
Antenna Channel Assignments
 4 13 39 14 2 35 10 11 42 33 30 18 7 20 3 21

#### Antenna 2: Antenna Array B

This array has a vertical spacing of 0.118m and a horizontal spacing of 0.118m. In the dataset's cartesian coordinate system, its center is located at [14.031675 22.342375 10.09225] and the antenna points in direction [-0.93379024 -0.00749353 -0.3577424].
Antenna Channel Assignments
 32 40 44 36 25 0 17 43 8 16 19 12 1 23 28

#### Antenna 3: Antenna Array C

This array has a vertical spacing of 0.118m and a horizontal spacing of 0.118m. In the dataset's cartesian coordinate system, its center is located at [14.163125 -13.618325 10.08755] and the antenna points in direction [-0.91256453 -0.00540906 -0.40889695].
Antenna Channel Assignments
 24 5 26 22 15 45 29 6 46 9 41 27 34 37 31 38

## Python: Import with TensorFlow

#!/usr/bin/env python3
import tensorflow as tf

raw_dataset = tf.data.TFRecordDataset(["tfrecords/dichasus-d002.tfrecords", "tfrecords/dichasus-d004.tfrecords", "tfrecords/dichasus-d005.tfrecords", "tfrecords/dichasus-d006.tfrecords", "tfrecords/dichasus-d007.tfrecords", "tfrecords/dichasus-d008.tfrecords", "tfrecords/dichasus-d009.tfrecords", "tfrecords/dichasus-d00a.tfrecords", "tfrecords/dichasus-d00b.tfrecords", "tfrecords/dichasus-d010.tfrecords", "tfrecords/dichasus-d011.tfrecords", "tfrecords/dichasus-d012.tfrecords", "tfrecords/dichasus-d013.tfrecords", "tfrecords/dichasus-d014.tfrecords", "tfrecords/dichasus-d020.tfrecords", "tfrecords/dichasus-d030.tfrecords", "tfrecords/dichasus-d031.tfrecords", "tfrecords/dichasus-d032.tfrecords", "tfrecords/dichasus-d033.tfrecords", "tfrecords/dichasus-d034.tfrecords", "tfrecords/dichasus-d035.tfrecords", "tfrecords/dichasus-d036.tfrecords", "tfrecords/dichasus-d037.tfrecords", "tfrecords/dichasus-d038.tfrecords", "tfrecords/dichasus-d041.tfrecords", "tfrecords/dichasus-d042.tfrecords"])

feature_description = {
"cfo": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"csi": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"gt-interp-age-tachy": tf.io.FixedLenFeature([], tf.float32, default_value = 0),
"pos-tachy": tf.io.FixedLenFeature([], tf.string, default_value = ''),
"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)

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

# 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), (47, 1024, 2))

# Time in seconds to closest known tachymeter position. Indicates quality of linear interpolation.
gt_interp_age_tachy = tf.ensure_shape(record["gt-interp-age-tachy"], ())

# Position of transmitter determined by a tachymeter pointed at a prism mounted on top of the antenna, in meters (X / Y / Z coordinates)
pos_tachy = tf.ensure_shape(tf.io.parse_tensor(record["pos-tachy"], 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), (47))

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

return cfo, csi, gt_interp_age_tachy, pos_tachy, 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. For this dataset, the reference transmitter channel seems to be somewhat unstable, i.e., phase and time offsets fluctuate over time. Therefore, we provide a file containing our phase and time offset estimates for each individual file in the dataset. You can download these estimates from the list of files below.

## 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-dxxx-reduced,
author    = {Florian Euchner and Marc Gauger},
publisher = {DaRUS},
title     = {{CSI Dataset dichasus-dxxx-reduced: Outdoor - Three arrays distributed along the facade (one antenna removed)}},
doi       = {doi:10.18419/darus-3236},
url       = {https://doi.org/doi:10.18419/darus-3236},
year      = {2022}
}

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

dichasus-d002
Textual Description

The trajectory of the transmitter traces back overlapping rectangular shapes (vertical) on the so-called 'ramp' (close underneath antenna array A).

3.6 GB

File Size

9373

Points

578.3 s

Duration

dichasus-d004
Textual Description

The trajectory of the transmitter traces back overlapping rectangular shapes (horizontal) on the so-called 'ramp' (close underneath antenna array A).

5.5 GB

File Size

14330

Points

897.0 s

Duration

dichasus-d005
Textual Description

The transmitter moves along a zig-zag trajectory on the so-called 'ramp' (close underneath antenna array A).

3.7 GB

File Size

9658

Points

613.8 s

Duration

dichasus-d006
Textual Description

The transmitter moves forth and back on the street (all the way to the left and all the way to the right).

3.4 GB

File Size

8902

Points

801.1 s

Duration

dichasus-d007
Textual Description

The transmitter's trajectory is a wavy line on the street.

2.6 GB

File Size

6748

Points

644.0 s

Duration

dichasus-d008
Textual Description

The transmitter moves around on the street, and sometimes swerves onto the 'ramp' area.

1.4 GB

File Size

3593

Points

342.0 s

Duration

dichasus-d009
Textual Description

Again, the transmitter moves around on the street, and sometimes swerves onto the 'ramp' area.

2.8 GB

File Size

7297

Points

637.8 s

Duration

dichasus-d00a
Textual Description

Transmitter follows several trajectories that connect the 'ramp' area below antenna A and the street (mostly towards antenna B).

3.4 GB

File Size

8888

Points

611.4 s

Duration

dichasus-d00b
Textual Description

Transmitter follows several trajectories that connect the 'ramp' area below antenna A and the street (mostly towards antenna C). Towards the end, the transmitter moves towards the driveway of the building opposite to antenna A.

2.9 GB

File Size

7624

Points

474.1 s

Duration

dichasus-d010
Textual Description

Transmitter moves from a place in front of antenna A to the street, to antenna B, and further.

0.3 GB

File Size

855

Points

50.4 s

Duration

dichasus-d011
Textual Description

Transmitter moves from one end of the street to the other (forwards).

0.5 GB

File Size

1174

Points

89.0 s

Duration

dichasus-d012
Textual Description

Transmitter moves from one end of the street to the other (backwards).

0.4 GB

File Size

1157

Points

80.1 s

Duration

dichasus-d013
Textual Description

Transmitter moves from one end of the street to the other (forwards).

0.5 GB

File Size

1272

Points

95.4 s

Duration

dichasus-d014
Textual Description

Transmitter moves from one end of the street to a place in front of antenna A.

0.4 GB

File Size

988

Points

66.1 s

Duration

dichasus-d020
Textual Description

Transmitter moves from somewhere close to antanna array A all the way to the end of the street and around the corner, until it loses connection.

0.4 GB

File Size

970

Points

80.6 s

Duration

dichasus-d030
Textual Description

Transmitter trajectory is a heart shape in the 'ramp' area.

0.2 GB

File Size

584

Points

41.8 s

Duration

dichasus-d031
Textual Description

Transmitter trajectory is an 8-shape in the 'ramp' area. Reference transmitter channel disturbed by people.

0.3 GB

File Size

823

Points

53.6 s

Duration

dichasus-d032
Textual Description

Transmitter trajectory is in the shape of a small, flat 8 in the 'ramp' area.

0.3 GB

File Size

804

Points

44.6 s

Duration

dichasus-d033
Textual Description

Transmitter trajectory is in the shape of a large, rectangular 8 in the 'ramp' area.

0.4 GB

File Size

948

Points

57.5 s

Duration

dichasus-d034
Textual Description

Transmitter trajectory is in the shape of a large, rounded 8 in the 'ramp' area.

0.3 GB

File Size

662

Points

39.7 s

Duration

dichasus-d035
Textual Description

Transmitter trajectory is in the shape of a large circle in the 'ramp' area.

0.3 GB

File Size

649

Points

34.4 s

Duration

dichasus-d036
Textual Description

Transmitter trajectory is in the shape of a large spiral-like circle in the 'ramp' area.

0.2 GB

File Size

532

Points

27.7 s

Duration

dichasus-d037
Textual Description

Transmitter trajectory is in the shape of a spiral in the 'ramp' area.

0.4 GB

File Size

1055

Points

65.6 s

Duration

dichasus-d038
Textual Description

Transmitter trajectory is in the shape of the letter 'P' in the 'ramp' area.

0.2 GB

File Size

593

Points

33.0 s

Duration

dichasus-d041
Textual Description

Transmitter moves around in some arbitrary trajectory in the area in front of the three antenna arrays.

2.1 GB

File Size

5354

Points

319.1 s

Duration

dichasus-d042
Textual Description

Transmitter moves around in some arbitrary trajectory in the area in front of the three antenna arrays for even longer.

7.3 GB

File Size

18876

Points

1087.5 s

Duration