OFDM Demodulator
Demodulation using the OFDM method.
blockType: OFDMDemodulator
Path in the library:
|
Description
Block OFDM Demodulator demodulates the input signal using the method of orthogonal frequency division of channels with 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 parameter Pilot output port.
Ports
Output
#
OUT_1
—
demodulated output signal
the matrix | three-dimensional array
Details
Demodulated output signal returned as a matrix or array of size the same type of data as the input signal. The output signal is reduced to a matrix if equally 1.
-
— the amount of subcarrier data such that ;
-
— the number of subcarriers determined by the parameter FFT length;
-
— the number of subcarriers in the left protective strip, determined by the first element of the parameter Number of guard bands;
-
— the number of subcarriers in the right protective strip, determined by the second element of the parameter Number of guard bands;
-
— the number of subcarriers in zero DC, given as
0or1by selecting the parameter Remove DC carrier; -
— the number of pilot subcarriers in each symbol;
-
If the output port Pilot is selected,
size(Pilot subcarrier indices, 1); -
If the output port Pilot is not selected, for the calculation ;
-
-
— the number of subcarriers used for custom zeros. To use custom zeros, you must specify Pilot subcarrier indices in the form of a three-dimensional array.
-
-
— the number of characters defined by the parameter Number of OFDM symbols.
-
— the number of receiving antennas, determined by the parameter Number of receive antennas.
| Data types |
|
| Complex numbers support |
No |
#
Pilot
—
pilot signal
scalar
Details
The pilot signal returned as an array of size .
-
— the number of pilot subcarriers in each symbol, determined by
size(Pilot subcarrier indices, 1). -
— the number of characters defined by the parameter Number of OFDM symbols.
-
— the number of receiving antennas, determined by the parameter Number of receive antennas.
Dependencies
To use this port, check the box Pilot output port.
| Data types |
|
| Complex numbers support |
No |
Input
#
IN_1
—
OFDM-Modulated broadband input signal
the matrix
Details
OFDM is a modulated broadband signal defined as a matrix on .
-
— the length of the cyclic prefix for all characters;
-
— the length of the cyclic prefix, determined by the parameter Cyclic prefix length;
-
If Cyclic prefix length is a scalar, ;
-
If Cyclic prefix length — vector string, .
-
-
— the number of subcarriers determined by the parameter FFT length.
-
— the number of characters defined by the parameter Number of OFDM symbols.
-
— the number of receiving antennas, determined by the parameter Number of receive antennas.
| Data types |
|
| Complex numbers support |
Yes |
Parameters
Main
#
FFT length —
number of FFT points
Real number
Details
The number of FFT points specified as a positive integer scalar.
Parameter value FFT length must be greater than or equal to 8 and is equivalent to the number of subcarriers.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Number of guard bands —
the number of subcarriers allocated to the left and right protective strips
Vector of real numbers
Details
The number of subcarriers allocated for the left and right protective strips, specified as an integer vector of size 2 × 1.
The number of subcarriers of the left and right protective strips must be within the limits of , where — the total number of subcarriers in the OFDM signal, determined by the parameter FFT length.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Remove DC subcarrier from output —
exclude or enable a zero-frequency subcarrier
Logical
Details
Select this option to remove the zero-frequency subcarrier. The zero frequency subcarrier is located in the center of the frequency band and has an index value:
-
If the value is even number;
-
If the value is the odd one.
— this is the total number of subcarriers in the OFDM signal, determined by the parameter FFT length.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Pilot output port —
output of pilot subcarriers
Logical
Details
Select this option to add a port for pilot subcarrier output.
If unchecked, the pilot information may be present, but remains embedded in the output.
If the box is selected, the block separates the subcarriers specified by the parameter Pilot subcarrier indices, from the output data and outputs a demodulated pilot signal to the Pilot port.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
No |
#
Pilot subcarrier indices —
location indexes of pilot subcarriers
Array of real numbers
Details
The location indexes of the pilot subcarriers, specified as a vector of columns, a matrix, or a three-dimensional array with integer values of elements in the range
where
-
— the total number of subcarriers in the OFDM signal, determined by the parameter FFT length;
-
and — the left and right protective strips specified by the parameter value Number of guard bands.
Pilot carrier indexes you can assign the same or different subcarriers for each symbol and for all transmitting antennas .
-
If the pilot indexes are the same for each symbol and the transmitting antenna, the parameter has the dimension .
-
If the pilot indexes differ in characters, the parameter has the dimension .
-
If the received signal is assigned a single symbol on several transmitting antennas, then the parameter has the dimension .
-
If the indexes differ in the number of characters and transmitting antennas, the parameter has the dimension .
| To minimize interference between transmissions to more than one transmitting antenna, the pilot indexes per symbol must be mutually different for all antennas. |
Dependencies
To use this option, check the box Pilot output port.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Cyclic prefix length —
length of the cyclic prefix
Scalar / vector of real numbers
Details
The length of the cyclic prefix for each OFDM character, specified as a positive integer scalar or a 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 characters across all antennas; -
vector string— the length of the cyclic prefix may vary between characters, but it does not vary between antennas.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Oversampling factor —
oversampling coefficient
Real number
Details
The oversampling coefficient, set as a positive scalar. The oversampling coefficient must satisfy these constraints.:
-
Composition Oversampling factor on FFT length must be an integer number.;
-
Composition Oversampling factor on Cyclic prefix length it must be an integer.
If Oversampling factor set as an irrational number, specify a fractional value. For example, when FFT length 12 and Oversampling factor 4/3 their product is equal to an integer 16. However, the rounding 4/3 before 1.333 during installation Oversampling factor results in a non-integer product 15.9960, which leads to an error.
|
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Number of OFDM symbols —
number of OFDM characters
Real number
Details
The number of OFDM symbols in the time-frequency grid, specified as a positive integer scalar.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
#
Number of receive antennas —
number of receiving antennas
Real number
Details
The number of receiving antennas for receiving OFDM-modulated signal, set as a positive integer scalar, less than or equal to 64.
| Default value |
|
| Program usage name |
|
| Tunable |
No |
| Evaluatable |
Yes |
Algorithms
OFDM Demodulation
Details
The frequency division orthogonal multiplexing (OFDM) method demodulates the OFDM input signal using the FFT operation, resulting in parallel data streams.
The figure shows an OFDM demodulator consisting of a bank correlators with one correlator assigned to each OFDM subcarrier. A bank of correlators is followed by a parallel-sequential transformation.

Subcarrier distribution, guard bands and guard intervals
Details
Individual OFDM subcarriers are distributed as data subcarriers, pilot or null.
As shown here, subcarriers are designated as subcarriers of data, DC, pilot or protective strip.

-
Data subcarriers transmit user data.
-
Pilot subcarriers are designed to evaluate the channel.
-
Zero-frequency subcarriers do not transmit any data. Subcarriers without data provide zero frequency of the central subcarrier and serve as buffers between OFDM resource blocks.
-
The zero-frequency subcarrier is the center of the frequency band with the index
, if the value even,
, if the value odd,
Where — this is the total number of subcarriers in the OFDM signal.
-
The guard bands serve as a buffer between adjacent signals in adjacent frequency bands to reduce interference caused by spectral leakage.
-
Zero-frequency subcarriers allow you to simulate protective bands and the location of zero subcarriers for specific standards, such as various 802.11, LTE, WiMAX formats, or for custom distributions. The location of zero subcarriers can be determined by assigning a vector of indices of zero subcarriers.
Similar to guard bands, guard intervals protect the integrity of the transmitted signals in OFDM by reducing inter-symbol interference.
The assignment of protective intervals is similar to the assignment of protective bands. You can simulate guard intervals to provide a time separation between OFDM symbols. Guard intervals help to maintain intersymbol orthogonality after the signal passes through channels with time dispersion. Guard intervals are created using cyclic prefixes. Inserting a cyclic prefix copies the last OFDM as the first part of the OFDM symbol.

OFDM benefits from the use of cyclic prefix insertion as long as the time variance does not exceed the duration of the cyclic prefix.
The insertion of a cyclic prefix leads to a fractional decrease in the throughput of user data, since the cyclic prefix occupies bandwidth that could have been used for data transmission.
Literature
-
Dahlman, E., S. Parkvall, and J. Skold. 4G LTE/LTE-Advanced for Mobile Broadband. London: Elsevier Ltd., 2011.
-
Andrews, J. G., A. Ghosh, and R. Muhamed, Fundamentals of WiMAX, Upper Saddle River, NJ: Prentice Hall, 2007.
-
IEEE Standard 802.16-2017. «Part 16: Air Interface for Broadband Wireless Access Systems.» March 2018.