Indoor MIMO Channel Measurements of the Near-Field to Far-Field Transition in FR3
Description
Overview
This dataset provides detailed measurements of wireless channel sounding in the 6 GHz to 24 GHz frequency range, focused on the near-field to far-field transition in MIMO systems. the measurements were performed using virtual uniform linear arrays (ULAs) for Tx and Rx. All channel traces, including the ones for the noise estimation, are S21 parameters over frequency and were recorded using a vector network analyzer.
The dataset includes the following components:
- channel.json.gz: The captured channel data in JSON format and compressed using GZIP.
- noise.json.gz: A noise meaurement to judge system performance in the same format as the channel data, also a GZIP compressed JSON file.
- demo.py: A Python script demonstrating how to interact with the dataset for analysis.
- README.md: The readme file.
Dataset Components
The two main files of the dataset are the channel data file and the noise data file.
Both are GZIP compressed, UTF-8/ASCII encoded, JSON files that are structured as key/value pairs.
The values are always arrays with at least one dimension.
The channel traces in both files are complex numbers, split into two real-valued arrays in the JSON file, where the last two dimensions are MxN channel matrices.
Channel Data File: channel.json.gz
Dimensions
A list of shorthands for the dimensions of the arrays appearing in the channel data file.
- P / 6: Rx positions, higher values are closer to the Tx
- A / 9: Far-field factors, 0.1 - 10, higher values are more in the far-field
- L / 6001: Frequency points
- M / 9: MIMO channel Rx antennas/ports
- N / 9: MIMO channel Tx antennas/ports
- 3: The cartesian coordinates of 3D space
JSON - Key/Value pairs
A list of key [value dimensions] for the entries in the channel data file.
- frequency [L]: The frequency points in Hz
- far_field_factor [A]: The far-field factors
- room_size [3]: The bounding box size of the measurement environment in m
- position_rx [P, A, M, 3]: The Rx antenna positions in m and room coordinates
- rotation_rx [3, 3]: The rotation matrix for the transformation from room coordinates to Rx antenna local coordinates
- position_tx [P, A, N, 3]: The Tx antenna positions in m and room coordinates
- rotation_tx [3, 3]: The rotation matrix for the transformation from room coordinates to Tx antenna local coordinates
- channel_real [P, A, L, M, N]: The real part of the channel transfer matrices
- channel_imag [P, A, L, M, N]: The imaginary part of the channel transfer matrices.
Noise Data File: noise.json.gz
Dimensions
A list of shorthands for the dimensions of the arrays appearing in the noise data file.
- R / 200: Measurement repetitions for statistical evaluation
- L / 6001: Frequency points
- M / 3: MIMO channel Rx antennas/ports
- N / 3: MIMO channel Tx antennas/ports
- 3: The cartesian coordinates of 3D space
JSON - Key/Value pairs
A list of key [value dimensions] for the entries in the noise data file.
- frequency [L]: The frequency points in Hz
- room_size [3]: The bounding box size of the measurement environment in m
- position_rx [M, 3]: The Rx antenna positions in m and room coordinates
- rotation_rx [3, 3]: The rotation matrix for the transformation from room coordinates to Rx antenna local coordinates
- position_tx [N, 3]: The Tx antenna positions in m and room coordinates
- rotation_tx [3, 3]: The rotation matrix for the transformation from room coordinates to Tx antenna local coordinates
- channel_real [R, L, M, N]: The real part of the channel transfer matrices
- channel_imag [R, L, M, N]: The imaginary part of the channel transfer matrices.
Demo Code: demo.py
The demo code is a Python script designed to demonstrate how to load, process, and analyze the channel data.
Capabilities
- Loading channel data and noise data from the GZIP compressed JSON files
- Plot frequency- and delay-domain channel traces
- Plot an analysis of the near-field to far-field transition
- Plot the positions and orientations of Tx and Rx antennas
- Plot the SNR over frequency, estimated from the noise data
Requirements
To run the demo code, the following Python setup is required:
python >= 3.12
numpy >= 2.0.0
matplotlib >= 3.9
The code was tested with these packages, however, it likely also works with previous versions.
Acknowledgment
This work has been funded by the Christian Doppler Laboratory for Digital Twin assisted AI for sustainable Radio Access Networks.
The financial support by the Austrian Federal Ministry for Digital and Economic Affairs, the National Foundation for Research, Technology and Development and the Christian Doppler Research Association is gratefully acknowledged.
License
The data files channel.json.gz, noise.json.gz and README.md are licensed under CC BY 4.0. The code file demo.py is licensed under the MIT License.