This repository contains a Matlab link-level simulation environment for DECT NR+ (ETSI TS 103 636, Part 1 to 5) with the following features:
- Transmitter: complete physical layer, i.e. all bandwidths, MIMO modes, channel coding etc.
- Receiver: core physical layer functionality, i.e. packet detection, STO and CFO correction, channel estimation, channel decoding, MRC, transmit diversity etc.
- Channel: doubly-selective tapped delay line (TDL) model
DECT NR+ is a non-cellular radio standard and part of 5G as defined by ITU-R. Introductions are available at ETSI, DECT Forum and Wikipedia. While commonly referred to as DECT NR+, the standard's official designation is DECT-2020 New Radio (NR).
Advanced Topics
The Matlab LTE Toolbox is required for channel coding, the Communications Toolbox for wireless channel simulation, and the Parallel Computing Toolbox for reducing simulation time.
- main_single_packet.m: Simple example demonstrating how to use the simulation environment.
- main_BER_PER_over_MCS.m: Parallel simulation of bit and packet error rates over MCS.
- main_BER_PER_over_MCS_plot_PCC.m: Plot results of main_BER_PER_over_MCS.m for PCC.
- main_BER_PER_over_MCS_plot_PDC.m: Plot results of main_BER_PER_over_MCS.m for PDC.
PERs of a SIMO (two receive antennas) system for different MCS over SNR in a Rician fading channel.
Resource mapping of STF, DRS, PCC and PDC in the time-frequency lattice.
Interpolated average path gains for a doubly selective channel.
- The channel coding requires verification. It is based on Matlab's LTE Toolbox.
- Maximum code block size
$Z=2048$ and channel coding with a limited number of soft bits are not implemented yet.
- improve speed, especially Wiener weights calculation at larger bandwidths
- add regression tests for different packet configurations
- implement Z=2048 and limited number of soft bits
- implement basic MIMO algorithms for NSS > 1
- residual STO estimation based on STF and DRS
- residual CFO estimation based on STF and DRS
For simple channel models such as AWGN and Rayleigh flat-fading, there are closed-form BER expressions that can be used as lower BER performance bounds. Matlab's bertool can provide such theoretical BER curves. Lower bound means that the simulated/measured BER of a DECT NR+ system at a given SNR cannot fall below this lower bound. In fact, the BER tends to be worse, as a receiver must estimate and correct STO, CFO, the channel etc. which usually results in a loss of performance. If more complex channel models such as Rayleigh with frequency- and time-selective fading are simulated, this typically leads to an additional loss of performance. A total SNR loss in dB in the lower single-digit range is common.
For the PER of the Turbo decoder, exact closed-form expressions are not available. Instead, simulated PER curves over the SNR can be used. PER curves (also referred to as BLER in channel coding literature) are typically provided for the AWGN channel. This allows the performance of different implementations to be compared and serves as a lower PER performance bound.
DECT NR+ packet synchronization is based on the Synchronization Training Field (STF). In this repository, synchronization is multi-stage. In the first stage, it consists of packet detection and a coarse peak search based on an autocorrelation of the received signal. The autocorrelation exploits that the STF consists of several regular patterns. The position of the coarse peak is also used for a correction of the fractional and integer Carrier Frequency Offset (CFO). The second stage is a fine peak search based on a cross-correlation with the STF whose shape is known to the receiver. The fine search range is limited to a small area to the left and right of the coarse peak.
Alternatively, since the introduction of the cover sequence in V1.5.1, a simplified synchronization can be carried out using only cross-correlation. The advantage of multi-stage synchronization is a reduced flop count, the advantage of cross-correlation synchronization is its performance at lower SNRs.
At high SNR, the normalized coarse metric has the following shape. Note that the metric has a much smaller amplitude at low SNRs (<6dB).
Coarse Metric with Cover Sequence | Coarse Metric without Cover Sequence |
---|---|
![]() |
![]() |
The fine metric has the following shape.
Fine Metric with Cover Sequence | Fine Metric without Cover Sequence |
---|---|
![]() |
![]() |
Thanks to the cover sequence, only a single fine peak remains without significant secondary peaks. Without the cover sequence, there are significant secondary peaks that can exceed the main peak at low SNR or high CFO. For this reason, in this repository, the CFO is first corrected at the coarse peak before the cross-correlation is applied. The shape of the coarse metric is not affected by a CFO.
If the entire synchronization consists only of a cross-correlation, the cross-correlation must be as short as possible (e.g. two patterns of the STF) so that the CFO does not have a significant impact on the fine peak. At the same time, the cross-correlation must not be too short, otherwise the peak will not be distinct enough at low SNR.