Skip to main content

Orthogonal Frequency Division Multiplexing (OFDM)


Orthogonal Frequency Division Multiplexing (OFDM)

OFDM divides a high-bandwidth signal into multiple narrowband subcarriers to reduce inter-symbol interference (ISI) and simplify equalization in multipath channels.

Mathematical Formulation of OFDM

Let the input data symbols be \(X_k\), for \(k = 0, 1, ..., N-1\), where \(N\) is the number of subcarriers. The OFDM signal in the time domain is obtained using the Inverse Fast Fourier Transform (IFFT):

$$ x_n = \frac{1}{\sqrt{N}} \sum_{k=0}^{N-1} X_k \, e^{j 2 \pi k n / N}, \quad n = 0, 1, ..., N-1 $$

Here:

  • \(X_k\) = frequency-domain symbol on the \(k\)-th subcarrier
  • \(x_n\) = time-domain OFDM sample
  • \(N\) = total number of subcarriers
  • Normalization factor \(1/\sqrt{N}\) ensures constant average power

At the receiver, the Fast Fourier Transform (FFT) recovers the transmitted symbols:

$$ Y_k = \frac{1}{\sqrt{N}} \sum_{n=0}^{N-1} y_n \, e^{-j 2 \pi k n / N}, \quad k = 0, 1, ..., N-1 $$

Where:

  • \(y_n\) = received time-domain OFDM sample

Cyclic Prefix (CP)

To prevent ISI, a cyclic prefix is added. If \(x_n\) is the original OFDM symbol of length \(N\), the transmitted symbol with CP of length \(N_{CP}\) is:

$$ \tilde{x}_n = \begin{cases} x_{N-N_{CP}+n}, & 0 \le n < N_{CP} \\ x_{n-N_{CP}}, & N_{CP} \le n < N+N_{CP} \end{cases} $$

The sequence x̃â‚™ is formed by appending a cyclic prefix of length N_CP to the original signal xâ‚™. The first N_CP samples of x̃â‚™ are copies of the last N_CP samples of xâ‚™, while the remaining samples correspond to the original signal shifted by N_CP. This results in a new sequence where the end of the signal is repeated at the beginning, a technique commonly used in OFDM systems.

This ensures that linear convolution with the channel becomes circular convolution, preserving orthogonality of subcarriers.

Subcarrier Spacing and Orthogonality

The subcarrier spacing \(\Delta f\) is defined by the sampling frequency \(f_s\) and the number of subcarriers \(N\). It is also the reciprocal of the useful symbol duration \(T_{sym}\):

$$ \Delta f = \frac{f_s}{N} = \frac{1}{T_{sym}} $$

This specific spacing guarantees that the subcarriers are orthogonal (mutually independent):

$$ \sum_{n=0}^{N-1} e^{j 2 \pi (k-m) n / N} = \begin{cases} N, & k=m \\ 0, & k \ne m \end{cases} $$

Where \(k\) and \(m\) are subcarrier indices. Orthogonality ensures no inter-carrier interference (ICI) in ideal conditions.

OFDM Transmitter

ofdm_image
Fig 1: OFDM Transmitter Block Diagram

1. Modulation: The input message bits are mapped into complex symbols using digital modulation schemes such as Quadrature Amplitude Modulation (QAM) or Phase Shift Keying (PSK).
2. Serial-to-Parallel Conversion: The modulated symbols are grouped into blocks and converted from a serial stream into parallel streams, each corresponding to a subcarrier.
3. IFFT (Inverse Fast Fourier Transform): An N-point IFFT is applied to the parallel data to convert the frequency-domain symbols into a time-domain OFDM signal while maintaining orthogonality among subcarriers.
4. Cyclic Prefix Addition: A cyclic prefix is added to each OFDM symbol to reduce inter-symbol interference caused by multipath propagation. It is formed by copying the last portion of the symbol and appending it to the beginning.
5. Parallel-to-Serial Conversion: The parallel OFDM symbols are converted back into a serial stream to produce a continuous signal.
6. Digital-to-Analog Conversion and Filtering: The discrete-time OFDM signal is converted into a continuous-time analog signal using a digital-to-analog converter (DAC). A reconstruction filter is then applied to smooth the signal and remove unwanted spectral components.
7. Transmission: The resulting analog signal is transmitted over the communication channel.

OFDM Receiver

ofdm_image
Fig 2: OFDM Receiver Block Diagram

1. Signal Reception: Receive the incoming OFDM signal from the channel.
2. Filtering & Analog-to-Digital Conversion: Filter the received signal and convert it from analog to digital form for further processing.
3. Serial-to-Parallel Conversion: Convert the incoming serial data stream into parallel data blocks corresponding to OFDM symbols.
4. Cyclic Prefix Removal: Remove the cyclic prefix from each OFDM symbol to eliminate redundancy added during transmission.
5. N-Point FFT: Apply the FFT to transform the time-domain signal into the frequency domain and recover subcarrier data.
6. Parallel-to-Serial Conversion: Convert the parallel frequency-domain data back into a serial stream.
7. De-mapping: Map the received symbols back to their corresponding bit sequences to recover the transmitted bits.

People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

Amplitude, Frequency, and Phase Modulation Techniques (AM, FM, and PM)

📘 Overview 🧮 Amplitude Modulation (AM) 🧮 Online Amplitude Modulation Simulator 🧮 MATLAB Code for AM 🧮 Q & A and Summary 📚 Further Reading Amplitude Modulation (AM): The carrier signal's amplitude varies linearly with the amplitude of the message signal. An AM wave may thus be described, in the most general form, as a function of time as follows .                       When performing amplitude modulation (AM) with a carrier frequency of 100 Hz and a message frequency of 10 Hz, the resulting peak frequencies are as follows: 90 Hz (100 - 10 Hz), 100 Hz, and 110 Hz (100 + 10 Hz). Figure: Frequency Spectrums of AM Signal (Lower Sideband, Carrier, and Upper Sideband) A low-frequency message signal is modulated with a high-frequency carrier wave using a local oscillator to make communication possible. DSB, SSB, and VSB are common amplitude modulation techniques. We find a lot of bandwi...

Analog vs Digital Modulation Techniques | Advantages of Digital ...

Modulation Techniques Analog vs Digital Modulation Techniques... In the previous article, we've talked about the need for modulation and we've also talked about analog & digital modulations briefly. In this article, we'll discuss the main difference between analog and digital modulation in the case of digital modulation it takes a digital signal for modulation whereas analog modulator takes an analog signal.  Advantages of Digital Modulation over Analog Modulation Digital Modulation Techniques are Bandwidth efficient Its have good resistance against noise It can easily multiple various types of audio, voice signal As it is good noise resistant so we can expect good signal strength So, it leads high signal-to-noise ratio (SNR) Alternatively, it provides a high data rate or throughput Digital Modulation Techniques have better swathing capability as compared to Analog Modulation Techniques  The digital system provides better security than the a...

Shannon Limit Explained: Negative SNR, Eb/No and Channel Capacity

Understanding Negative SNR and the Shannon Limit Understanding Negative SNR and the Shannon Limit An explanation of Signal-to-Noise Ratio (SNR), its behavior in decibels, and how Shannon's theorem defines the ultimate communication limit. Signal-to-Noise Ratio in Shannon’s Equation In Shannon's equation, the Signal-to-Noise Ratio (SNR) is defined as the signal power divided by the noise power: SNR = S / N Since both signal power and noise power are physical quantities, neither can be negative. Therefore, the SNR itself is always a positive number. However, engineers often express SNR in decibels: SNR(dB) When SNR = 1, the logarithmic value becomes: SNR(dB) = 0 When the noise power exceeds the signal power (SNR < 1), the decibel representation becomes negative. Behavior of Shannon's Capacity Equation Shannon’s channel capacity formula is: C = B log₂(1 + SNR) For SNR = 0: log₂(1 + SNR) = 0 When SNR becomes smaller (in...

BER vs SNR for M-ary QAM, M-ary PSK, QPSK, BPSK, ...(MATLAB Code + Simulator)

📘 Overview of BER and SNR 🧮 Online Simulator for BER calculation of m-ary QAM and m-ary PSK 🧮 MATLAB Code for BER calculation of M-ary QAM, M-ary PSK, QPSK, BPSK, ... 📚 Further Reading 📂 View Other Topics on M-ary QAM, M-ary PSK, QPSK ... 🧮 Online Simulator for Constellation Diagram of m-ary QAM 🧮 Online Simulator for Constellation Diagram of m-ary PSK 🧮 MATLAB Code for BER calculation of ASK, FSK, and PSK 🧮 MATLAB Code for BER calculation of Alamouti Scheme 🧮 Different approaches to calculate BER vs SNR What is Bit Error Rate (BER)? The abbreviation BER stands for Bit Error Rate, which indicates how many corrupted bits are received (after the demodulation process) compared to the total number of bits sent in a communication process. BER = (number of bits received in error) / (total number of tran...

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   Start Simulator for binary ASK Modulation Message Bits (e.g. 1,0,1,0) Carrier Frequency (Hz) Sampling Frequency (Hz) Run Simulation Simulator for binary FSK Modulation Input Bits (e.g. 1,0,1,0) Freq for '1' (Hz) Freq for '0' (Hz) Sampling Rate (Hz) Visualize FSK Signal Simulator for BPSK Modulation ...

Comparing Baseband and Passband Implementations of m-ary QAM

  Let's assume your original message signal is: 1, 0, 1, 1, 1, 0, 1, 1, 0, 1. If you want to modulate it using 4-QAM, then your baseband signal will be: 4-QAM Symbols (Real + jImag) Symbol 0: -1.00 + j-1.00 Symbol 1: 1.00 + j-1.00 Symbol 2: -1.00 + j-1.00 Symbol 3: 1.00 + j-1.00 Symbol 4: 1.00 + j1.00   Now, if you want to transmit them through a typical wireless medium, you need to modulate the baseband signal with a carrier frequency (in our case, 50 Hz). The resulting passband signal looks like this               In the above code, the symbol rate is 5 symbols per second.   Detailed explanation 4-QAM Constellation Points In typical normalized 4-QAM, each symbol is mapped to a complex number: Bits Symbol (I + jQ) 00 -1 - 1j 01 -1 + 1j 11 +1 + 1j 10 +1 - 1j Each point lies on a square centered at the origin with I and Q values either +1 or -1. ...

Comparing Baseband and Passband Implementations of ASK, FSK, and PSK

📘 Overview 🧮 Baseband and Passband Implementations of ASK, FSK, and PSK 🧮 Difference betwen baseband and passband 📚 Further Reading 📂 Other Topics on Baseband and Passband ... 🧮 Baseband modulation techniques 🧮 Passband modulation techniques   Baseband modulation techniques are methods used to encode information signals onto a baseband signal (a signal with frequencies close to zero), allowing for efficient transmission over a communication channel. These techniques are fundamental in various communication systems, including wired and wireless communication. Here are some common baseband modulation techniques: Amplitude Shift Keying (ASK) [↗] : In ASK, the amplitude of the baseband signal is varied to represent different symbols. Binary ASK (BASK) is a common implementation where two different amplitudes represent binary values (0 and 1). ASK is simple but susceptible to noise...

MATLAB code for BER vs SNR for M-QAM, M-PSK, QPSk, BPSK, ...(with Online Simulator)

🧮 MATLAB Code for BPSK, M-ary PSK, and M-ary QAM Together 🧮 MATLAB Code for M-ary QAM 🧮 MATLAB Code for M-ary PSK 📚 Further Reading MATLAB Script for BER vs. SNR for M-QAM, M-PSK, QPSK, BPSK % Written by Salim Wireless clc; clear; close all; num_symbols = 1e5; snr_db = -20:2:20; psk_orders = [2, 4, 8, 16, 32]; qam_orders = [4, 16, 64, 256]; ber_psk_results = zeros(length(psk_orders), length(snr_db)); ber_qam_results = zeros(length(qam_orders), length(snr_db)); for i = 1:length(psk_orders) psk_order = psk_orders(i); for j = 1:length(snr_db) data_symbols = randi([0, psk_order-1], 1, num_symbols); modulated_signal = pskmod(data_symbols, psk_order, pi/psk_order); received_signal = awgn(modulated_signal, snr_db(j), 'measured'); demodulated_symbols = pskdemod(received_signal, psk_order, pi/psk_order); ber_psk_results(i, j) = sum(data_symbols ~= demodulated_symbols) / num_symbols; end end for i...