This is machine translation

Translated by Microsoft
Mouse over text to see original. Click the button below to return to the English verison of the page.


OFDM demodulation


  • grid = lteOFDMDemodulate(enb,waveform)
  • grid = lteOFDMDemodulate(enb,waveform,cpfraction)



grid = lteOFDMDemodulate(enb,waveform) performs OFDM demodulation of the time-domain waveform, waveform, given the cell-wide settings structure, enb.

The demodulation performs one FFT operation per received OFDM symbol to recover the received subcarrier values. These values are then used to construct each column of the output resource array, grid. The FFT is positioned partway through the cyclic prefix to allow for a certain degree of channel delay spread while avoiding the overlap between adjacent OFDM symbols. The particular position of the FFT chosen here avoids the OFDM symbol overlapping used in lteOFDMModulate. Since the FFT is performed away from the original zero-phase point on the transmitted subcarriers, a phase correction is applied to each subcarrier after the FFT. Then, the received subcarriers are extracted from the FFT bins, skipping unused frequency bins at either end of the spectrum and the central DC frequency bin. These extracted subcarriers form the columns of the output grid.

The sampling rate of the time-domain waveform, waveform, must be the same as used in lteOFDMModulate for the specified number of resource blocks, NDLRB. waveform must also be time-aligned such that the first sample is the first sample of the cyclic prefix of the first OFDM symbol in a subframe. This alignment can be achieved by using lteDLFrameOffset.

grid = lteOFDMDemodulate(enb,waveform,cpfraction) allows specification of the position of the demodulation through the cyclic prefix.


collapse all

Perform modulation and demodulation of Test Model 1.1 5MHz.

cfg = lteTestModel('1.1','5MHz');
txWaveform = lteTestModelTool(cfg);
rxGrid = lteOFDMDemodulate(cfg,txWaveform);

Input Arguments

collapse all

Cell-wide settings, specified as a structure. enb contains the following fields.

Parameter FieldRequired or OptionalValuesDescription

Scalar integer from 6 to 110

Number of downlink resource blocks. (NRBDL)


'Normal' (default), 'Extended'

Cyclic prefix length

Data Types: struct

Time-domain waveform, specified as a numeric matrix of size T-by-P, where P is the number of antennas and T is the number of time-domain samples. T = K × 30720 / 2048 × Nfft, where Nfft is the IFFT size and K is the number of subframes in the input, grid. waveform must be time-aligned such that the first sample is the first sample of the cyclic prefix of the first OFDM symbol in a subframe.

Data Types: double
Complex Number Support: Yes

Demodulation position, specified as a scalar from 0 through 1, with 0 representing the start of the cyclic prefix and 1 representing the end of the cyclic prefix. The default value, 0.55, allows for the default level of windowing in lteOFDMModulate

Data Types: double

Output Arguments

collapse all

Resource elements, returned as a 3-D numeric array. grid stores the resource elements for a number of subframes across all configured antenna ports. It is an M-by-N-by-P array, where M is the number of subcarriers, N is the number of OFDM symbols, and P is the number of antennas.

Data Types: double
Complex Number Support: Yes

Introduced in R2014a

Was this topic helpful?