Engee documentation

OFDM Modulator

Modulation using the OFDM method.

ofdm modulator

Description

Unit OFDM Modulator modulates the signal in the frequency domain using orthogonal frequency division multiplexing (OFDM). The output is a basic representation of the OFDM modulated signal.

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

Ports

Input

In - input broadband signal
array

Input broadband signal specified as an array to to .

  • - the number of subcarriers of the data, such that .

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

    • - the number of subcarriers in the left guard band, 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.

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

    • - the number of pilot subcarriers in each symbol.

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

      • If the Pilot input 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 transmit antennas, defined by the Number of transmit antennas parameters.

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

Support for complex numbers: Yes

Pilot - pilot signal
array

Pilot signal specified 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 transmit antennas defined by the Number of receive antenna parameters.

Dependencies

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

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

Support for complex numbers: Yes

Output

Out - OFDM modulated wideband output signal
matrix

OFDM-modulated broadband signal returned as a matrix to .

  • - cyclic prefix length over all symbols.

    • - The length of the cyclic prefix as determined 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 transmit antennas, defined by the Number of transmit antennas parameters.

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

Support for complex numbers: Yes

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 left and right guard bands
[6; 5] (by default) | ` a 2 by 1 vector

Number of subcarriers allocated to 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.

Insert DC null - exclude or include a subcarrier of zero frequency
off (by default) | on

Select this check box to remove the null frequency subcarrier. The DC null 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 input port - input of pilot subcarriers
disabled (by default) | on

Select this check box to add a pilot subcarrier input port.

disabled - the input port, In, may contain embedded pilot subcarrier information, but the block does not assign pilot subcarrier indices.

On - the unit assigns the subcarriers specified by the Pilot subcarrier indices parameters to the pilot modulation signal on the Pilot input port.

Pilot subcarrier indices - indices of pilot subcarrier location
[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 input 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.

Apply raised cosine windowing between OFDM symbols - application of the raised cosine windowing function between OFDM symbols
disabled (by default) | enabled

Select this checkbox to apply raised cosine windowing between OFDM symbols.

To reduce the power of out-of-band subcarriers caused by spectral spreading, apply windowing.

Window length - length of the window function with raised cosine
1 (by default) | positive integer.

Specify the length of the window function with raised cosine, given as a positive integer scalar.

This value must be less than or equal to the minimum cyclic prefix length specified in the Cyclic prefix length parameters. For example, in a four-character configuration with cyclic prefix lengths of 12, 14, 16, and 18, Window length must be less than or equal to 12.

Dependencies

This parameter is used if the Apply raised cosine windowing between OFDM symbols checkbox is selected.

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 transmit antennas - number of transmit antennas
1 (By default) | positive integer.

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

Algorithms

Orthogonal multiplexing with frequency division

OFDM belongs to the class of multicarrier modulation schemes. Due to the fact that multiple carriers can be transmitted simultaneously during operation, noise does not affect OFDM to the same extent as it does in single-band modulation.

OFDM divides a high-speed data stream into low-speed data sub-streams by decomposing the transmission bandwidth into a number of contiguous individually modulated sub-carriers. This set of parallel and orthogonal subcarriers carries the data stream, occupying nearly the same bandwidth as a wideband channel. Through the usage of narrow orthogonal subcarriers, the OFDM signal becomes immune to hiccups in the frequency selective channel and eliminates interference from neighbouring subcarriers. Inter-symbol interference (ISI) is reduced because subflows with lower data rates have symbol durations longer than the channel delay spread.

This image shows the representation of orthogonal subcarriers in the frequency domain in OFDM waveform.

ofdm modulator 1

The transmitter applies the inverse fast Fourier transform (IFFT) to N symbols at a time. Typically, the output of the IFFT is the sum of N orthogonal sine waves:

π ,

where

  • - data symbols,

  • - OFDM symbol time.

The data symbols Xk are usually complex and can be from any digital modulation alphabet (e.g. QPSK, 16-QAM, 64-QAM, etc.).

The discrete Fourier transform implementation normalises the IFFT output to .

The subcarrier spacing is [Δf = 1/T], which ensures that the subcarriers are orthogonal during each symbol period:

πππдля

The OFDM modulator consists of a series-parallel transform followed by a bank of N complex modulators individually corresponding to each OFDM subcarrier.

ofdm modulator 2

Subcarrier allocation, 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 different 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.

Window function for OFDM with raised cosine

The window function for OFDM with raised cosine applies the techniques described in [3] to limit spectral sprawl by creating a smooth transition between the last sample of one symbol and the first sample of the next symbol.

Although the cyclic prefix creates a guard period in the time domain to preserve orthogonality, an OFDM symbol rarely starts with the same amplitude and phase as at the end of the previous OFDM symbol, causing spectral sprawl and hence signal bandwidth expansion due to intermodulation distortion. To limit this spectral sprawl, a smooth transition between the last sample of a symbol and the first sample of the next symbol can be created using a cyclic suffix and a window function with raised cosine.

To create a cyclic suffix, the operation adds the first samples ) of a given symbol to the end of that symbol. However, to comply with IEEE® 802.11g, for example, the operation cannot arbitrarily lengthen a symbol. Instead, the cyclic suffix must overlap in time and effectively sum to the cyclic prefix of the next symbol. The operation applies two, mathematically inverse, window functions to this overlapping segment. The first window function with raised cosine is applied to the cyclic suffix of symbol k and decreases from 1 to 0 over its lifetime. The second window function with raised cosine is applied to the cyclic prefix of symbol k+1 and increases from 0 to 1 over its lifetime. This process provides a smooth transition from one symbol to the next.

The window function with raised cosine, , in the time domain can be expressed as:

π ]

where:

  • - OFDM symbol duration, including guard interval.

  • - duration of the window function.

The cyclic suffix length is adjusted by setting the window function length, with the suffix length set between 1 and the minimum cyclic prefix length. Although windowing improves spectral recovery, this comes at the expense of reduced immunity to multipath hiccups due to reduced redundancy in the guard band due to changing guard band sampling values to realise inter-symbol transition smoothing.

These figures show the application of the window function with raised cosine.

ofdm modulator 3

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. Agilent Technologies, Inc., "OFDM Raised Cosine Windowing," https://rfmw.em.keysight.com/wireless/helpfiles/n7617a/ofdm_raised_cosine_windowing.htm.

  4. Montreuil, L., R. Prodan, and T. Kolze. "OFDM TX Symbol Shaping 802.3bn," https://www.ieee802.org/3/bn/public/jan13/montreuil_01a_0113.pdf. Broadcom, 2013.

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