Main Content

lteOFDMModulate

OFDM modulation

Description

[waveform,info] = lteOFDMModulate(enb,grid) performs DC subcarrier insertion, inverse fast Fourier transform (IFFT) calculation, cyclic prefix insertion, and optional raised cosine windowing and overlapping of adjacent OFDM symbols of the complex symbols in the resource array, grid. grid is a 3-D array containing the resource elements (REs) for a number of subframes across all configured antenna ports, as described in Represent Resource Grids. It could also be multiple concatenated matrices to give multiple subframes, using concatenation across the columns or second dimension. The antenna planes in grid are each OFDM modulated to yield the columns of the output waveform.

grid can span multiple subframes. Windowing and overlapping are applied between all adjacent OFDM symbols, including the last of one subframe and the first of the next. Therefore, a different result is obtained than if lteOFDMModulate is called on individual subframes and then those time-domain waveforms are concatenated. In that case, the resulting waveform has discontinuities at the start or end of each subframe. It is recommended that all subframes for OFDM modulation first be concatenated before calling lteOFDMModulate on the resulting multi-subframe array. However, individual subframes can be OFDM modulated and the resulting multi-subframe time-domain waveform created by manual overlapping.

example

[waveform,info] = lteOFDMModulate(enb,grid,windowing) allows control of the number of windowed and overlapped samples used in the time-domain windowing, specified by the windowing parameter. The value of enb.Windowing, if present, is ignored, and the output, info.Windowing is set to windowing.

[waveform,info] = lteOFDMModulate(enb,grid,windowing,Nfft) specifies the number of IFFT points to use in the modulation.

Examples

collapse all

Perform OFDM modulation of one subframe of random uniformly distributed noise using a 10 MHz two-antenna configuration.

enb = struct('NDLRB',50,'CyclicPrefix','Normal','CellRefP',2);
dims = lteDLResourceGridSize(enb);
regrid = reshape(lteSymbolModulate(randi([0,1],prod(dims)*2,1), ...
    'QPSK'),dims);
waveform = lteOFDMModulate(enb,regrid);

Input Arguments

collapse all

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

Parameter FieldRequired or OptionalValuesDescription
CyclicPrefixOptional

'Normal' (default), 'Extended'

Cyclic prefix length

WindowingOptionalNonnegative integer

Number of time-domain samples over which the function applies windowing and overlapping of OFDM symbols

See note

Note

If enb.Windowing is absent, a default value for the number of windowed and overlapped samples is used. The default value is chosen as a function of NRB to compromise between the effective duration of cyclic prefix, and thus the channel delay spread tolerance, and the spectral characteristics of the transmitted signal, not considering any additional FIR filtering. The value used is returned in info.Windowing. The issues concerning concatenation of subframes before OFDM modulation do not apply when enb.Windowing is zero.

Data Types: struct

Resource elements, specified as a 3-D numeric array. grid stores the resource elements for a number of subframes across all configured antenna ports. grid 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.

M must be a multiple of 12 REs per Resource Block, since number of resource blocks is NRB =M / 12. N must be a multiple of the number of symbols in a subframe, L, where L is 14 for normal cyclic prefix and 12 for extended cyclic prefix.

Data Types: double
Complex Number Support: Yes

Number of time-domain samples over which the function applies windowing and overlapping of OFDM symbols, specified as a nonnegative integer. This value overwrites the value of the parameter field enb.Windowing, if present.

Data Types: double

The number of IFFT points to use in the OFDM modulation, specified as a positive integer.

Data Types: double

Output Arguments

collapse all

OFDM modulated waveform, returned 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. Nfft is a function of the number of resource blocks (NRB), as shown in the following table.

NRBNfft
6128
15256
25512
501024
752048
1002048

In general, Nfft is the smallest power of 2 greater than or equal to 12×NRB/0.85. It is the smallest FFT that spans all subcarriers and results in a bandwidth occupancy, 12×NRB/0.85, of no more than 85%.

Data Types: double
Complex Number Support: Yes

OFDM modulated waveform information, returned as a structure. info contains the following fields.

Time-domain waveform sampling rate, returned as a scalar. SamplingRate = 30.72 MHz / 2048 × Nfft.

Data Types: double

Number of FFT points, returned as a scalar power of 2. Nfft is the smallest power of 2 greater than or equal to 12 × NRB / 0.85. It is the smallest FFT that spans all subcarriers and results in a bandwidth occupancy (12 × NRB / Nfft) of no more than 85%.

Data Types: uint32

Number of time-domain samples over which the function applies windowing and overlapping of OFDM symbols, returned as a nonnegative integer.

Data Types: int32

Cyclic prefix length (in samples) of each OFDM symbol in a subframe.

info.NfftCyclicPrefixLengths
for CyclicPrefix = 'Normal'for CyclicPrefix = 'Extended'
2048[160 144 144 144 144 144 144 160 144 144 144 144 144 144][512 512 512 512 512 512 512 512 512 512 512 512]
1024[80 72 72 72 72 72 72 80 72 72 72 72 72 72][256 256 256 256 256 256 256 256 256 256 256 256]
512[40 36 36 36 36 36 36 40 36 36 36 36 36 36][128 128 128 128 128 128 128 128 128 128 128 128]
256[20 18 18 18 18 18 18 20 18 18 18 18 18 18][64 64 64 64 64 64 64 64 64 64 64 64]
128[10 9 9 9 9 9 9 10 9 9 9 9 9 9][32 32 32 32 32 32 32 32 32 32 32 32]

Note

For info.Nfft < 2048, info.CyclicPrefixLengths are the CyclicPrefixLengths for info.Nfft = 2048 scaled by info.Nfft / 2048.

Data Types: uint32

Data Types: struct

Algorithms

collapse all

Windowing

The use of the IFFT within the OFDM modulator constitutes the use of a rectangular pulse shape. This use of the IFFT means that discontinuities occur from one OFDM symbol to the next, resulting in out of band emissions. (Alternatively, considering the frequency domain, the frequency response of this rectangular pulse shape is a sinc pulse.) The discontinuities between OFDM symbols can be reduced by using windowing, which smooths the transitions between OFDM symbols. LTE Toolbox™ performs windowing by following this procedure.

For Windowing = N samples, the cyclic prefix added to the nominal OFDM symbol extends by N additional samples.

This extended waveform is windowed by pointwise multiplication in the time domain with a raised cosine window, which applies a taper to the first N and last N samples, with all other values being 1. The y values in the first N samples are:

y=12(1sin(πN+12i2N)),wherei=1N

The values in the last N samples are the same values in reverse order.

The windowed OFDM symbols are then overlapped by commencing transmission of each windowed OFDM symbol N samples before the end of the previous OFDM symbol. This overlapping ensures that the time between OFDM symbols is maintained as required by the standard. The taper at the start of the first OFDM symbol for transmission is removed and is overlapped with the taper at the end of the last OFDM symbol.

Processing

The processing performed by this function is illustrated in this diagram.

Step-by-step processing performed by the function.

The number of samples used for windowing depends on the number of resource blocks (NRB) and whether the cyclic prefix length is normal or extended. The number of samples is chosen in accordance with the maximum values implied by TS 36.101 [1], Tables F.5.3-1 and F.5.4-1.

NRBWindowing Samples for Normal Cyclic PrefixWindowing Samples for Extended Cyclic Prefix
6 4 4
15 6 6
25 4 4
50 6 6
75 8 8
100 8 8

The number of windowing samples is a compromise between the effective duration of cyclic prefix, and therefore the channel delay spread tolerance, and the spectral characteristics of the transmitted signal, not considering any additional FIR filtering. For a larger amount of windowing, the effective duration of the cyclic prefix is reduced but the transmitted signal spectrum has smaller out-of-band emissions.

References

[1] 3GPP TS 36.101. “Evolved Universal Terrestrial Radio Access (E-UTRA); User Equipment (UE) Radio Transmission and Reception.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Version History

Introduced in R2014a

expand all