OFDM demodulation

- example
`grid = lteOFDMDemodulate(enb,waveform)`

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

performs
OFDM demodulation of the time-domain waveform, `grid`

= lteOFDMDemodulate(`enb`

,`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`

.

allows
specification of the position of the demodulation through the cyclic
prefix.`grid`

= lteOFDMDemodulate(`enb`

,`waveform`

,`cpfraction`

)

`lteDLChannelEstimate`

| `lteDLFrameOffset`

| `lteDLPerfectChannelEstimate`

| `lteOFDMInfo`

| `lteOFDMModulate`

Was this topic helpful?