Orthogonal frequency-division multiplexing (OFDM) is a multi-carrier modulation system where data are transmitted as a combination of orthogonal narrowband signals known as subcarriers. OFDM builds upon single carrier modulation such as QAM and can transmit at similar data rates. However, OFDM is more robust to frequency selective fading and simplifies equalization at the receiver. OFDM is a foundational scheme found in many common wireless communications standards such as WIFI, LTE, and 5G. You can use MATLAB and Simulink to configure and generate OFDM waveforms, adhering to these standards to simulate and test a physical layer model of your wireless communications system.
How OFDM Works
The OFDM transmission scheme can be broken down into several components. The data is first coded and modulated, usually into QAM symbols. These symbols are loaded into equally spaced frequency bins and an inverse fast Fourier transform (IFFT) is applied to transform the signal into orthogonal overlapping sinusoids in the time domain. The IFFT is given by the equation:
$$x(n) = { 1 \over N} \sum_{k=0}^{N-1} X(k) e^{i \frac{2 \pi xt}{N}} $$
The N samples at the output of the IFFT make up one OFDM symbol. A cyclic prefix is then appended to each OFDM symbol, which allows for computation of circular convolution through linear convolution if the cyclic prefix is at least as long as the channel impulse response. This allows equalization at the receiver to remove intersymbol interference through a straightforward complex scalar multiplication applied to each OFDM symbol independently. In a typical OFDM application, known pilot symbols are added at the transmitter to aid with channel estimation and equalization.
In standards such as LTE or 5G, multiple OFDM symbols can be concatenated and transmitted in OFDM slots or subframes. The number of symbols per subframe depends on the standard and the subcarrier spacing. For example, the LTE resource grid below denotes a configuration with subcarriers grouped into blocks of 12 (each 12 subcarriers constituting one resource block) and 14 OFDM symbols per subframe.
Keep Exploring This Topic
Why Use OFDM?
OFDM is a widely adopted scheme used within many wireless communications standards. Some benefits of OFDM include:
- Overcoming frequency selective fading and multipath distortions found in wideband channels
- Allowing channel estimation and equalization to occur independently at each subcarrier
- Ease in sharing resources across multiple data streams
- Ability to fit well with MIMO and Massive MIMO systems because each subcarrier experiences flat fading, so equalization includes one single tap per subcarrier
- High overall spectral efficiency
Using OFDM with MATLAB and Simulink
MATLAB, Simulink, and related wireless communications toolboxes such as Communications Toolbox™, WLAN Toolbox™, LTE Toolbox™, and 5G Toolbox™ include functions and blocks to design and test OFDM signals directly. You can use MATLAB and Simulink to:
- Design, test, and perform link-level simulation on OFDM waveforms
- Customize OFDM parameters such as training signal, zero padding, and cyclic prefix with functions and blocks
- Apply OFDM into your wireless system design to analyze metrics such as link performance, robustness, channel estimation, and equalization
- Design and optimize digital, analog, or hybrid beamforming algorithms to maximize performance
- Call specific functions that generate OFDM waveforms customized for different industry standards
- Generate standard-compliant OFDM waveforms to use in simulations or over-the-air testing with the Wireless Waveform Generator app
- Design OFDM wireless systems optimized for HDL code generation and hardware implementation with the Wireless HDL Toolbox™.
Resources
Expand your knowledge through documentation, examples, videos, and more.
Discover More
- LTE Tutorial: Understanding the LTE Resource Grid (12:39) - Video
- OFDM Modulator in MATLAB - Function
- OFDM Modulator Baseband - Block