Engee documentation

OFDM Demodulator

Demodulation using the OFDM method.

ofdm demodulator

Description

Unit OFDM Demodulator demodulates the input signal using Orthogonal Frequency Division Multiplexing Channel Division Multiplexing (OFDM) in the time domain and outputs subcarriers based on OFDM parameters.

The unit has one input port and one or two output ports, depending on the state of the Pilot output port parameters.

Ports

Input

In - OFDM-modulated broadband input signal
matrix

OFDM-modulated broadband signal specified as a matrix to .

  • - length of cyclic prefix over all symbols.

    • - is the length of the cyclic prefix defined by the Cyclic prefix length parameters.

    • If Cyclic prefix length is a scalar, .

    • If Cyclic prefix length is a vector of strings, .

  • - the number of subcarriers defined by the FFT length parameters.

  • - number of symbols, defined by the Number of OFDM symbols parameters.

  • - number of receive antennas, defined by the Number of receive antennas parameters.

Data types: Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Support for complex numbers: Yes

Output

Out - demodulated output signal
matrix | 3D array

Demodulated output signal returned as a matrix or array to to of the same data type as the input signal. The output signal is reduced to a matrix if is 1.

  • - number of data subcarriers such that .

    • - The number of subcarriers, as determined by the FFT length parameters.

    • - the number of subcarriers in the left guard band, as determined by the first element of the Number of guard bands parameters.

    • - number of subcarriers in the right guard band defined by the second element of the Number of guard bands parameters.

    • - the number of subcarriers in the null DC, set as 0 or 1 by selecting the Remove DC carrier parameters.

    • - the number of pilot subcarriers in each symbol.

      • If the Pilot output port is selected, size(Pilot subcarrier indices,1).

      • If the Pilot output port is not selected, to calculate .

    • - The number of subcarriers used for custom zeros. For usage of custom zeros, Pilot subcarrier indices must be set as a 3D array.

  • - number of symbols defined by the Number of OFDM symbols parameters.

  • - number of receiving antennas defined by the Number of receiving antennas parameters.

Pilot - pilot signal
scalar

Pilot signal returned as an array to to .

  • - The number of pilot subcarriers in each symbol, defined by size(Pilot subcarrier indices,1).

  • - number of symbols defined by the parameter Number of OFDM symbols.

  • - number of receive antennas defined by the Number of receive antenna parameters.

Dependencies

To use this port, select the Pilot output port checkbox.

Parameters

FFT length - number of FFT points
64 (by default) | ` positive integer`

The number of FFT points specified as a positive integer scalar.

The value of the FFT length parameters must be greater than or equal to 8 and is equivalent to the number of subcarriers.

Number of guard bands - number of subcarriers allocated to the left and right guard bands
[6; 5] (by default) | ` a 2-by-1 integer vector'.

The number of subcarriers allocated to the left and right guard bands, specified as a 2-by-1 integer vector.

The number of subcarriers of the left and right guard bands, , shall be within , where is the total number of subcarriers in the OFDM signal as determined by the FFT length parameters.

Remove DC carrier - exclude or enable the zero frequency subcarrier
off (by default) | on

Select this checkbox to remove the zero frequency subcarrier. The zero frequency subcarrier is located in the centre of the frequency band and has an index value:

  • , if the value of is even.

  • , if the value of is odd.

- is the total number of subcarriers in the OFDM signal defined by the FFT length parameters.

Pilot output port - output of pilot subcarriers
off (by default) | on

Select this checkbox to add a pilot subcarrier output port.

disabled - pilot information may be present but remains embedded in the output data.

on - the unit separates the subcarriers specified by the Pilot subcarrier indices parameters from the output data and outputs the demodulated pilot signal to the Pilot port.

Pilot subcarrier indices - Pilot subcarrier location indices
[12; 26; 40; 54] (by default) | column vector | matrix | 3D array.

Pilot subcarrier location indices specified as a column vector, matrix or 3D array with integer element values in the range of

,

where

  • - is the total number of subcarriers in the OFDM signal, determined by the parameters FFT length.

  • and - left and right guard bands, defined by the value of the Number of guard bands parameter.

The pilot carrier indices can be assigned the same or different subcarriers for each symbol and for all transmitting antennas .

  • If the pilot indices are the same for each symbol and transmitting antenna, the parameters has the dimension by 1.

  • If the pilot indices are different per symbol, the parameters has the dimension by .

  • If the received signal is assigned to the same symbol on multiple transmitting antennas, the parameters has the dimension by 1 to .

  • If the indices differ in the number of symbols and transmitting antennas, the parameters have the dimension to to .

To minimise interference between transmissions to more than one transmitting antenna, the pilot indices per symbol should be mutually different for all antennas.

Dependencies

This parameter is used if the Pilot output port checkbox is selected.

Cyclic prefix length - cyclic prefix length
16 (by default) | positive integer | vector-string.

The length of the cyclic prefix for each OFDM character, is specified as a positive integer scalar or string vector containing the number of OFDM character elements. When specifying the length of the cyclic prefix as:

Scalar - the length of the cyclic prefix is the same for all symbols through all antennas.

Vector-string - the length of the cyclic prefix can vary between symbols, but does not vary between antennas.

Oversampling factor - oversampling factor
1 (By default) | positive integer.

The oversampling factor specified as a positive scalar. The oversampling factor must satisfy these constraints:

  • The product of Oversampling factor by FFT length must be an integer.

  • The product of Oversampling factor by Cyclic prefix length must be an integer.

If Oversampling factor is specified as an irrational number, specify a fractional value. For example, if FFT length 12 and Oversampling factor 4/3, their product is the integer 16. However, rounding 4/3 to 1,333 when Oversampling factor is set results in a non-integer product of 15,9960, which causes an error.
Number of OFDM symbols - number of OFDM symbols
1 (By default) | `positive integer'.

The number of OFDM symbols in the time-frequency grid, specified as a positive integer scalar.

Number of receiving antennas - number of receiving antennas
1 (by default) | ` positive integer`

The number of receiving antennas for receiving OFDM-modulated signal is set as a positive integer scalar less than or equal to 64.

Algorithms

OFDM demodulation

The orthogonal frequency division multiplexing (OFDM) method demodulates the input OFDM signal using an FFT operation, resulting in N parallel data streams.

The figure shows an OFDM demodulator consisting of a bank of N correlators with one correlator assigned to each OFDM subcarrier. The bank of correlators is followed by a parallel-to-serial conversion.

ofdm demodulator 1

Subcarrier distribution, guard bands and guard intervals

Individual OFDM subcarriers are allocated as data, pilot or null subcarriers.

As shown here, subcarriers are labelled as data, DC, pilot or guard band subcarriers.

ofdm demodulator 2

  • Data subcarriers transmit user data.

  • Pilot subcarriers are used for channel evaluation.

  • Zero frequency subcarriers do not transmit any data. Non-data subcarriers provide the centre subcarrier zero frequency and serve as buffers between OFDM resource blocks.

    • The zero frequency subcarrier is the centre of the frequency band with an index of

      if the value is even.

      If is odd.

      - is the total number of subcarriers in the OFDM signal.

    • The guard bands serve as a buffer between neighbouring signals in adjacent frequency bands to reduce interference caused by spectral leakage.

Zero frequency subcarriers allow modelling of guard bands and zero subcarrier locations for specific standards such as various 802.11 formats, LTE, WiMAX, or custom allocations. The location of the null subcarriers can be defined by assigning a vector of null subcarrier indices.

Similar to guard bands, guard intervals protect the integrity of transmitted signals in OFDM by reducing intersymbol interference.

The purpose of guard intervals is similar to that of guard bands. You can model guard intervals to provide temporal separation between OFDM symbols. Guard intervals help maintain inter-symbol orthogonality after a signal passes through time-dispersive channels. Guard intervals are created using cyclic prefixes. Inserting a cyclic prefix copies the last OFDM as the first part of the OFDM symbol.

ofdm demodulator 3

OFDM benefits from the usage of cyclic prefix insertion as long as the time variance does not exceed the duration of the cyclic prefix.

Insertion of the cyclic prefix results in a fractional reduction in user data throughput because the cyclic prefix takes up bandwidth that could have been used for data transmission.

Bibliography

  1. Dahlman, E., S. Parkvall, and J. Skold. 4G LTE/LTE-Advanced for Mobile Broadband.London: Elsevier Ltd., 2011.

  2. Andrews, J. G., A. Ghosh, and R. Muhamed, Fundamentals of WiMAX, Upper Saddle River, NJ: Prentice Hall, 2007.

  3. IEEE Standard 802.16-2017. "Part 16: Air Interface for Broadband Wireless Access Systems." March 2018.