Main Content

OFDM Modulator Baseband

Modulate using orthogonal frequency division multiplexing

  • Library:
  • Communications Toolbox / Modulation / Digital Baseband Modulation / OFDM

  • OFDM Modulator Baseband block


The OFDM Modulator Baseband block applies Orthogonal Frequency Division Multiplexing modulation to an incoming data signal. The output is a baseband representation of the OFDM modulated signal.



expand all

Input signal, specified as a 3-D vector. The block accepts one or two inputs depending on the state of the Pilot input port. The input signal dimensions are :

Pilot Input PortSignal InputPilot Input
offN data -by-N sym -by-N tN/A
onN pilot -by-N sym -by-N t


  • Ndata represents the number of data subcarriers. For further information on how Ndata is determined, see the info reference page.

  • Nsym represents the number of symbols determined by Number of OFDM symbols.

  • Nt represents the number of transmit antennas determined by Number of transmit antennas.

  • Npilot represents the number of pilot symbols determined by the first dimension size in the Pilot subcarrier indices array.

  • NCP represents the cyclic prefix length as determined by Cyclic prefix length.

  • NCPTotal represents the cyclic prefix length over all the symbols. When NCP is a scalar, NCPTotal = NCP × Nsym. When NCP is a row vector, NCPTotal = ∑ NCP.

  • NFFT represents the number of subcarriers as determined by FFT length.

Data Types: double
Complex Number Support: Yes


expand all

Baseband modulated signal, returned as a 2-D array. The datatype of the output follows the input datatype. The output signal has dimension (N CP +N FFT) ×N sym -by-N t.


expand all

Number of DFT points, specified as a positive integer. The length of the FFT, NFFT, must be greater than or equal to 8 and is equivalent to the number of subcarriers.

Number of subcarriers allocated to the left and right guard bands, specified as a 2-by-1 integer-valued vector. The number of subcarriers must fall within [0,⌊NFFT/2⌋ − 1] where you specify the left, NleftG, and right, NrightG, guard bands independently in a 2-by-1 column vector.

Select this parameter to insert a null on the DC subcarrier.

Select this parameter to allow the specifying of pilot input port.

Pilot subcarrier indices, specified as a column vector. This field is available only when the Pilot input port check box is selected. You can assign the indices to the same or different subcarriers for each symbol. Similarly, the pilot carrier indices can differ across multiple transmit antennas. Depending on the desired level of control for index assignments, the dimensions of the indices array vary. Valid pilot indices fall in the range


where the index value cannot exceed the number of subcarriers. When the pilot indices are the same for every symbol and transmit antenna, the property has dimensions Npilot-by-1. When the pilot indices vary across symbols, the property has dimensions of Npilot-by-Nsym. If there is only one symbol but multiple transmit antennas, the property has dimensions of Npilot-by-1-by-Nt. If the indices vary across the number of symbols and transmit antennas, the property will have dimensions of Npilot-by-Nsym-by-Nt. If the number of transmit antennas is greater than one, ensure that the indices per symbol are mutually distinct across antennas to minimize interference. The default value is [12; 26; 40; 54].

Length of cyclic prefix, specified as a positive integer. If you specify a scalar, the prefix length is the same for all symbols through all antennas. If you specify a row vector of length Nsym, the prefix length can vary across symbols but remains the same through all antennas.

Select this parameter to apply raised cosine windowing between OFDM symbols. Windowing is the process in which the OFDM symbol is multiplied by a raised cosine window before transmission to reduce the power of out-of-band subcarriers, which serves to reduce spectral regrowth.

Length of raised cosine window, specified as a positive scalar. This field is available only when Apply raised cosine windowing between OFDM symbols is selected. Use positive integers having a maximum value no greater than the minimum cyclic prefix length. For example, in a configuration in which there are four symbols with cyclic prefix lengths of [12 16 14 18], the window length cannot exceed 12.

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

Number of transmit antennas, specified as a real positive scalar. Specify the number of transmit antennas, Nt, as a positive integer such that Nt ≤ 64.

Type of simulation to run, specified as Code generation or Interpreted execution.

  • Code generation — Simulate the model by using generated C code. The first time you run a simulation, Simulink® generates C code for the block. The C code is reused for subsequent simulations unless the model changes. This option requires additional startup time, but the speed of the subsequent simulations is faster than Interpreted execution.

  • Interpreted execution — Simulate the model by using the MATLAB® interpreter. This option requires less startup time than the Code generation option, but the speed of subsequent simulations is slower. In this mode, you can debug the source code of the block.

Block Characteristics

Data Types


Multidimensional Signals


Variable-Size Signals


More About

expand all


[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.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2014a