MIMO-OFDM Channel Estimation#

This benchmark evaluates channel estimators on the uplink of a multi-user MIMO OFDM system. The system is configured with a single cell and no inter-cell interference. Transmission takes place between 4 single-antenna UEs and a 16-antenna BS. It uses an OFDM resource grid consisting of 14 OFDM symbols and 624 subcarriers, where pilots are placed on the 3rd and 12th symbol using a KroneckerPilotPattern. Channel estimators are required to interpolate across the entire resource grid.

The benchmark considers three metrics for channel estimation accuracy:

Metric

Definition

Normalized Mean Squared Error (NMSE)

Measures the average (over Monte Carlo trials) total energy of h_true - h_hat over receive antennas, UEs, subcarriers, and OFDM symbols, divided by the average total energy of h_true.

Bit Error Rate (BER)

Measures the average error rate between transmitted and decoded information bits.

Block Error Rate (BLER)

Measures the average rate of wrongly decoded codewords.

While NMSE measures the raw reconstruction accuracy of a channel estimator, BER and BLER assess the composite performance of the channel estimator with subsequent LMMSE data detection and LDPC-based forward-error correction. Importantly, Sionna’s LinearDetector also requires estimates err_var of the marginal error variances of the channel estimate h_hat.

Random seeds are controled to ensure that all channel estimators are evaluated on the same channels, transmitted bits, and noise realizations. The same realizations of these quantities are also used across all SNR points; the only quantity that changes between SNR points is the noise scaling.

In contrast, the data assets used for training or statistical fitting of channel estimators are not reused across channel estimators. Every asset has a deterministic generation recipe that is documented in the doc-page of the channel estimator to which the asset belongs. Assets are generated with the same system configuration and channel model that is used for the evaluation.

Data assets and weights of neural-network-based channel estimators (or statistical parameters of model-based channel estimators) are not included in the public distribution. However, the distribution contains routines to regenerate the data assets and retrain/refit the models locally, if needed.

System Configuration#

The system is configured with the following parameters:

Parameter

Value

Remark

Channel model

3GPP 38.901 UMi

Carrier frequency

2.6 GHz

Outdoor-to-indoor model

Low-loss

Pathloss

Off

Large-scale fading coefficient is 1.

Shadow fading

Off

Large-scale fading coefficient is 1.

Array size

4 x 4 antennas (BS),
1 x 1 antenna (UE)

Antenna spacing

0.5 wavelengths

Vertical and horizontal.

Antenna polarization

Vertical (single)

BS and UE.

Antenna pattern

38.901 (BS),
omnidirectional (UE)

Minimum BS-to-UE distance

10 m

Inter-site distance

200 m

Implies a maximum BS-to-UE distance of 115.5 m under

Height

10 m (BS),
1.5 m (UE)

Indoor probability

80%

UE velocity

3 km/h

Upper and lower bound

Number of UEs

4

Streams per UE

1

Number of subcarriers

624

Guard carriers

None

Subcarrier spacing

15 kHz

10 MHz of total bandwidth

Cyclic prefix length

44

No operational meaning, channels are simulated in frequency-domain

OFDM symbols per slot

14

Constellation

16QAM

Pilot symbol positions

2, 11

Time-domain interpolation necessary

Pilots

KroneckerPilotPattern

UE1’s pilots are supported on subcarriers 0, 4, 8, …, UE2’s on 1, 5, 9, …, etc.

Error correction

LDPC5GEncoder and LDPC5GDecoder; three codewords per UE and stream, each with k=5990 and n=9984

R \(\approx\) 0.6

Each UE and stream has 7488 data resource elements, corresponding to 29952 coded bits with 16QAM. The benchmark divides these bits evenly among three independently encoded LDPC codewords. The resulting code rate is 5990/9984 \(\approx\) 0.6, and the three codewords fill the resource grid without padding. This uses Sionna’s LDPC5GEncoder construction and rate matching, but does not implement the complete NR transport-block CRC and code-block segmentation procedure.

Implementations#

Channel estimators that separate pilot-domain estimation from interpolation inherit Sionna’s BasePilotChannelEstimator, implement estimate_at_pilot_locations, and use an explicit interpolator. Methods that natively reconstruct complete subcarrier vectors or the full resource grid inherit Sionna’s BaseChannelEstimator and implement call(y, no) directly (in the former case, with internal time-domain interpolation). Proposed estimators that do not consider interpolation and assume pilots on every subcarrier use the pilot-domain contract with explicit interpolation.

All channel estimators are required to provide uncertainty estimates in the form of err_var. For methods from the literature where no such uncertainty estimate is specified, and where analytic derivation is not straightforward, implementations return err_var = err_var_scale * ls_err_var, where the second factor is the tensor of error variances that would result from LS channel estimation, and the first factor is a scalar hyperparameter that is tuned empirically.

Many channel estimators that depend on channel data, either to extract channel statistics, or to train a neural network. For such channel estimators, corresponding data set (henceforth referred to as asset) are generated using the same channel model and system configuration as is used for the benchmark: - Covariance assets consist of 64’000 complete system-channel realizations. - GMM assets consist of 6,400 system-channel realizations. - Neural-network assets consist of 6,400 and 256 system-channel realizations for training validation, respectively.

These assets are then used to generate the observation tensors in the form required by the corresponding channel estimator (e.g., antenna vectors, subcarrier vectors, subcarrier-symbol matrices, etc.). Observations are typically pooled across all dimensions that are not part of the observation tensor, i.e., statistics are assumed to be identical across all dimensions that are not part of the observation tensor.

Neural networks train a separate set of weights for every SNR point at which the benchmark is evaluated. For each SNR point, the same underlying channel asset is used. Training runs for at most 200 epochs and uses a patience of 20 epochs without improvement. Loss functions and optimizers are specific to the respective methods and papers.

Most channel estimators contain performance-relevant hyperparameters whose optimal choice depends on the system and channel models. For such channel estimators, hyperparameter optimization is performed empirically with Bayesian optimization using Optuna. Hyperparameters are shared across all SNR points. To balance performance across the entire SNR range, the objective function is a weighted average of the NMSE at the five SNR points -10, -5, 0, 5, and 10 dB. To prevent the low-SNR NMSE from dominating the objective function, the weights are selected as 10^(SNR/10). Statistically fitted estimators are refitted for every Optuna trial, and neural-network based estimators are retrained for every Optuna trial.