MATLAB Examples

LTE Cell Search and MIB Recovery Using TDD Mode

The LTE HDL Cell Search and MIB Recovery example uses frequency division duplexing (FDD) mode. This example extends the LTE Cell Search and MIB Recovery example to add time division duplexing (TDD) mode. Both FDD and TDD modes are optimized for HDL code generation and hardware implementation.

Contents

Introduction

The LTE Toolbox™ can generate and manipulate FDD and TDD signals as per LTE standard [ 1 ]. The architecture designed in this example is used to perform cell search and detect MIB information from the synthesized data generated from LTE Toolbox™, or the captured waveforms off the air, for both FDD and TDD modes.

Changes for TDD Mode

LTE Cell Search and MIB Recovery example performs cell search and decodes MIB information for FDD mode. This example includes the following design changes to support TDD mode.

Timing Adjustment: PSS and SSS symbol locations are different for FDD and TDD modes. Radio frame structures for FDD and TDD modes are shown in the figure below, indicating PSS/SSS/PBCH locations [ 2 ]. After frequency recovery and PSS detection, different timing adjustment must be performed for FDD and TDD modes. For FDD mode, samples corresponding to 9 slots of a LTE frame are skipped to perform OFDM demodulation from the start of the next half frame. For TDD mode, samples corresponding to 7 slots and 4 OFDM symbols of a LTE frame are skipped to perform OFDM demodulation from the start of the next half frame.

Duplex Mode Detection: To support both FDD and TDD modes, the receiver model must detect which mode the incoming signals are using. This example model detects duplex mode by using PSS and SSS peaks obtained from FDD and TDD modes.

Example Architecture and Configuration

The hardware architecture of the LTE cell search and MIB recovery model that supports FDD and TDD modes is shown in the following figure.

Frequency synchronization and PSS detection are performed independent of FDD and TDD modes at sampling rate of 1.92 MHz. pssPeak is detected using the PSS detection block. The outputs of the PSS detection are upsampled to 30.72 MHz and different timing adjustments are performed with respect to the detected PSS peak.

The architecture model uses parallel and independent OFDM demodulator and SSS detector each for TDD and FDD. This design choice trades higher hardware resources for lower latency in MIB detection. If a single OFDM demodulator and SSS detector were used, a hypothesis-based approach must be implemented. In this approach, either FDD or TDD duplex mode is assumed for OFDM demodulation and SSS detection. Later, the actual duplex mode is detected by duplex mode detector. If the assumed duplex mode is true, then MIB recovery can continue. Otherwise, OFDM demodulation and SSS detection must be re-calculated using the other duplex mode. This approach would introduce high latency in detecting MIB.

Both the OFDM demodulators perform demodulation from the start of next half frame, considering cyclic prefix (CP) for the respective OFDM symbol number. NCellId, subframe number, and sssPeak are computed by independent SSS detection blocks for TDD and FDD. The duplex mode detector uses pssPeak, sssPeakFDD, and sssPeakTDD to identify the duplex mode. After TDD or FDD mode is detected, the signal selector selects the corresponding gridData (gridDataFDD or gridDataTDD) for MIB recovery. MIB (present in the PBCH) is common to both FDD and TDD modes. PBCH lie in the first 4 OFDM symbols of slot 1 of LTE frame as shown in the timing diagram above. Therefore, the LTE MIB Decoder part of the model does not require any modification.

This example decodes LTE signals with the following configuration:

Structure of the Example Model

The outline of the LTEMIBRecoveryTDDHDLExample model is shown in the following figure. The HDL LTE MIB Recovery subsystem is targeted for HDL code generation with an additional output port for duplex mode.

The initialization script LTEMIBRecoveryTDD_init.m is used to generate input data dataIn and the trigger signal startIn. The input data can be loaded from the synthesized data generated from LTE Toolbox™ or captured waveforms off the air.

To load the input data from the synthesized data generated from LTE System Toolbox™, perform the following steps:

Step 1) Change the loadfromfile parameter in LTEMIBRecoveryTDD_init.m to false.

loadfromfile = false;

Step 2) Set rmcOverride.DuplexMode parameter in generateDLRXWaveform to 'FDD' or 'TDD' for FDD and TDD modes respectively.

rmcOverride.DuplexMode = 'TDD'; % use 'FDD' for FDD mode

To load the input data from the captured waveforms off the air, perform the following steps

Step 1) Change the loadfromfile parameter in LTEMIBRecoveryTDD_init.m to true.

loadfromfile = true;

Step 2) Use either eNodeBWaveform.mat or eNodeBWaveformTDD.mat files to analyze captured data based on FDD and TDD respectively.

load('eNodeBWaveformTDD.mat'); % use 'eNodeBWaveform.mat' for FDD captured data.

The structure of the HDL LTE MIB Recovery subsystem is shown in figure below.

The LTE Downlink Detector subsystem is similar to LTE HDL Cell Search and MIB Recovery except that timing adjustment and SSS detection are performed independently for FDD and TDD, and the Duplex Mode Detector and Selector block is added. The subsystem has one additional port, duplexMode. The LTE MIB Decoder subsystem remains the same as in LTE HDL Cell Search and MIB Recovery.

HDL-Optimized LTE MIB Recovery for FDD and TDD Modes

The structure of the LTE Downlink Detector is shown in the figure below.

In particular, three changes are made in the existing LTE Downlink Detector of LTE HDL Cell Search and MIB Recovery to support FDD and TDD modes.

First, OFDM symbol timing block present in Frequency Timing PSS is modified. OFDM Symbol timing for FDD and TDD is performed independently by OFDM Symbol Timing FDD and OFDM Symbol Timing TDD subsystems. OFDM Symbol Timing FDD generates FFTWinFDD signal after 9 slots for FDD mode and OFDM Symbol Timing TDD generates FFTWinTDD signal after 7 slots and 4 OFDM symbols for TDD mode. Delay value blocks such as delayVal FDD and delayVal TDD are configured from downlinkDetectorConfig.m file.

Second, signals FFTWinFDD and FFTWinTDD are used to enable FFT windows in OFDM Demod SSS FDD and OFDM Demod SSS TDD subsystems respectively. reset and NcellID signals are common to both the subsystems. The symbol locations of SSS in a subframe are different for FDD and TDD modes. For FDD, SSS is located in $6^{th}$ OFDM symbol and for TDD, SSS is located in $14^{th}$ OFDM symbol. Hence, the OFDM symbol counters used in LocateSSSSubCarriers block inside the SSS detection subsystems are modified for FDD and TDD modes accordingly.

Last, Duplex Mode Detector and Selector, pssPeak, sssPeakFDD, and sssPeakTDD are used by duplex mode detector to identify the duplex mode. pssPeak is calculated in PSS Detection block of Frequency Recovery PSS subsystem. sssPeakFDD and sssPeakTDD are calculated in independent SSS Detection blocks inside OFDM Demod SSS FDD and OFDM Demod SSS TDD subsystems respectively. The duplex mode is computed using this equation.

$duplexMode = logical((pssPeak + sssPeakFDD)>(pssPeak +sssPeakTDD))$

If duplexMode is $1$ then FDD is detected or if duplexMode is $0$ then TDD is detected.

After the duplex mode is detected, NcellID, subframe, gridData, and gridValid signals are selected depending on the duplex mode. The selected signals are used for further decoding of MIB.

Results and Display

In addition to start, freqEstHz, PSSDetected, NCellID2, gridValid, and subframe, 6 new signals are added to the DownlinkDetector Scope of LTE HDL Cell Search and MIB Recovery. FFTWinFDD and FFTWinTDD indicate the start of the next half frame for FDD and TDD mode respectively. NCellIdFDD and NCellIdTDD represents the cell IDs, that are calculated in SSS detector for FDD and TDD mode respectively. duplexMode represents the duplex mode detected by the Duplex Mode Detector and Selector subsystem. After the duplex mode is detected, NCellId, subframe, and gridValid becomes active. gridData corresponding to gridValid is used for the MIB information decoding.

The output of LTE Cell Search and MIB Recovery can be interpreted using the table below.

The HDL model is simulated for synthetic and captured waveform and the results are given below.

For synthetic waveform: The synthesized waveform is generated using LTEMIBRecoveryTDD_init.m and given as input to HDL model. The HDL model decodes following information for default configuration.

NDLRB (Number of downlink resource blocks): 50
PHICHDuration (PHICH duration) index: 0
Ng(HICH group multiplier): 0
NFrame(Frame number): 3
cellID(Cell ID): 10
CellrefP(Cell reference port): 2
duplexMode: 0

To verify the correctness of the HDL model, same inputs are given to SIB1RecoveryExample.m and Cell-wide settings after MIB decoding is compared with results of HDL model.

NDLRB: 50
PHICHDuration: 'Normal'
Ng: 'Sixth'
NFrame: 0
NCellID: 10
CellRefP: 2
DuplexMode: 'TDD'

For captured waveform: The captured waveform eNodeBWaveformTDD.mat is given as input to HDL model. The HDL model decodes following information for default configuration.

NDLRB (Number of downlink resource blocks): 100
PHICHDuration (PHICH duration) index: 0
Ng(HICH group multiplier): 2
NFrame(Frame number): 846
cellID(Cell ID): 343
CellrefP(Cell reference port): 2
duplexMode: 0

To verify the correctness of the HDL model, same captured waveform are given as input to SIB1RecoveryExample.m and Cell-wide settings after MIB decoding is compared with results of HDL model.

NDLRB: 100
PHICHDuration: 'Normal'
Ng: 'One'
NFrame: 844
NCellID: 343
CellRefP: 2
DuplexMode: 'TDD'

These above results convey that TDD duplex mode is detected and MIB information is decoded successfully. The LTE Toolbox SIB1 Recovery example stores the entire waveform. It performs timing synchronization, applies the timing offset to all frames, and performs the MIB recovery from the beginning frames. The HDL MIB Recovery example does not store the waveform. It takes the first few frames to detect the timing offset, applies the offset to the later frames, and continues the MIB recovery on the later frames. So the HDL example and the LTE Toolbox example may recover MIB information from different radio frames.

HDL Code Generation and Synthesis Results

To generate the HDL code referenced in this example, you must have an HDL Coder™ license. The following table shows the synthesis results of HDL LTE MIB Recovery subsystem on a Xilinx® Zynq® -7000 ZC706 board. The results include the resources utilized and the maximum frequency at which the example can run. The maximum frequency achieved satisfies the sampling frequency requirement of 30.72 MHz.

References

1. 3GPP TS 36.211 v13.0.0 "Physical Channels and modulation"

2. Erik Dahlman, 4G: LTE/LTE-Advanced for Mobile Broadband, Elsevier 2014