Skip to main content

OFDM Symbols and Subcarriers Explained


This article explains how OFDM (Orthogonal Frequency Division Multiplexing) symbols and subcarriers work. It covers modulation, mapping symbols to subcarriers, subcarrier frequency spacing, IFFT synthesis, cyclic prefix, and transmission.

Step 1: Modulation

First, modulate the input bitstream. For example, with 16-QAM, each group of 4 bits maps to one QAM symbol. Suppose we generate a sequence of QAM symbols:

s0, s1, s2, s3, s4, s5, …, s63

Step 2: Mapping Symbols to Subcarriers

Assume Nsub = 8 subcarriers. Each OFDM symbol in the frequency domain contains 8 QAM symbols (one per subcarrier):

Mapping (example)
  1. OFDM symbol 1 → s0, s1, s2, s3, s4, s5, s6, s7
  2. OFDM symbol 2 → s8, s9, s10, s11, s12, s13, s14, s15
  3. OFDM symbol 8 → s56, s57, …, s63
Note

Each QAM symbol occupies one FFT bin (frequency bin). You assign (map) symbols to these bins before computing the IFFT.

Step 3: Subcarrier Frequencies (Clarified)

Each element of an OFDM symbol (the frequency-domain vector) corresponds to a subcarrier. The subcarriers are spaced by:

$$\Delta f = \dfrac{1}{T_u} = \dfrac{f_s}{N}$$

  • \(f_s\) = sampling frequency
  • \(N\) = number of FFT/IFFT points
  • \(T_u = \dfrac{N}{f_s}\) = useful symbol duration

The frequency assigned to bin index \(k\) is:

$$f_k = k\dfrac{f_s}{N},\quad k = 0,1,\dots,N-1$$

(If you center bins with an FFT shift, indices run from \(-N/2\) to \(N/2-1\), and negative frequencies appear for bins \(k \ge N/2\).)

You map QAM symbols to these frequency bins before taking the IFFT. The IFFT then synthesizes the time-domain OFDM symbol, whose sinusoidal components oscillate at the \(f_k\) frequencies. This spacing \(\Delta f\) guarantees orthogonality between subcarriers over the symbol duration \(T_u\).

Step 4: Time-Domain Conversion

Take the IFFT of each frequency-domain OFDM symbol to convert it to the time domain. The discrete IFFT synthesis is:

\[ x[n] = \dfrac{1}{N} \sum_{k=0}^{N-1} X[k] e^{j 2 \pi \frac{k}{N} n}, \quad n=0,\dots,N-1 \]

  1. Add a Cyclic Prefix (CP) to mitigate inter-symbol interference.
  2. Convert the baseband signal to passband by modulation with a carrier.
  3. Transmit the passband OFDM signal.
  • The cyclic prefix length should exceed the channel delay spread to prevent inter-symbol interference.
     


(Get MATLAB Code)

In the above diagram, the graphical representation of the subcarrier signals is shown only for illustration purposes. In a real OFDM system, an IFFT is applied to the modulated baseband symbols (such as BPSK, QPSK, or QAM). This operation converts the signal into the time domain, while the subcarriers are automatically arranged with orthogonal frequency spacing in the frequency domain.

The resulting time-domain signal is then transmitted after being modulated onto a high-frequency carrier to convert it into a passband signal using:

Q(t)cos(ωct) + I(t)sin(ωct)

Q(t) = Baseband Real; I(t) = Baseband Imaginary

Run the interactive OFDM online simulator for a hands-on experience (click here)



Why OFDM is the Industry Standard

High Spectral Efficiency

Overlapping subcarriers allow more data to be transmitted over a limited bandwidth compared to FDM.

Multipath Resilience

The long symbol duration makes OFDM naturally resistant to echoes and multipath fading in urban environments.

Simple Equalization

Channel equalization is performed in the frequency domain, which is computationally cheaper than time-domain filters.

The "PAPR" Challenge in OFDM

One major drawback of OFDM is the High Peak-to-Average Power Ratio (PAPR). Since the time-domain signal is a sum of many sinusoids, they can occasionally align in phase, creating a massive power spike.

  • Requires high-linear range power amplifiers (expensive).
  • Reduces battery efficiency in mobile devices.
  • Mitigated by techniques like Selective Mapping (SLM) or Clipped Filtering.

OFDM vs. SC-FDMA

Feature OFDM (Downlink) SC-FDMA (Uplink)
Standard Usage 4G/5G Downlink, Wi-Fi 4G/5G Uplink (LTE)
PAPR Level High Low
Complexity Lower (at Tx side) Higher (due to extra DFT)
Read more about SC-FDMA (click here)

Where is OFDM Used?

5G New Radio (NR) Wi-Fi 6 (802.11ax) 4G LTE DVB-T2 (Digital TV) ADSL/VDSL

Frequently Asked Questions

What is the purpose of the Cyclic Prefix (CP)?

The CP acts as a guard interval to eliminate Inter-Symbol Interference (ISI) caused by multipath delay spread. It also turns the linear convolution of the channel into a circular convolution, simplifying frequency-domain equalization.

Why are subcarriers spaced at 1/T?

Spacing subcarriers at exactly \(\Delta f = 1/T_u\) ensures orthogonality. This means that at the peak frequency of one subcarrier, all other subcarriers are at their zero-crossing point, preventing interference.

Try Interactive Online Simulators


Further Reading

  1. OFDM (Theory)
  2. OFDM in MATLAB
  3. OFDM Spectrum Analysis Using MATLAB
  4. Single Carrier OFDM (SC‑OFDM): Benefits over OFDM in LTE/5G Uplink
  5. OFDM vs SC-OFDM
  6. DFTs-OFDM vs OFDM: Why DFT-Spread OFDM Reduces PAPR Effectively


Contact Us

Name

Email *

Message *

Popular Posts

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

Bit Error Rate (BER) & SNR Guide Analyze communication system performance with our interactive simulators and MATLAB tools. 📘 Theory 🧮 Simulators 💻 MATLAB Code 📚 Resources BER Definition SNR Formula BER Calculator MATLAB Comparison 📂 Explore M-ary QAM, PSK, and QPSK Topics ▼ 🧮 Constellation Simulator: M-ary QAM 🧮 Constellation Simulator: M-ary PSK 🧮 BER calculation for ASK, FSK, and PSK 🧮 Approaches to BER vs SNR Calculation What is Bit Error Rate (BER)? The BER indicates how many corrupted bits are received compared to the total number of bits sent. It is the primary figur...

MIMO Channel Matrix | Rank and Condition Number

MIMO / Massive MIMO MIMO Channel Matrix | Rank and Condition...   The channel matrix in wireless communication is a matrix that describes the impact of the channel on the transmitted signal. The channel matrix can be used to model the effects of the atmospheric or underwater environment on the signal, such as the absorption, reflection or scattering of the signal by surrounding objects. When addressing multi-antenna communication, the term "channel matrix" is used. Let's assume that only one TX and one RX are in communication and there's no surrounding object. Here, in our case, we can apply the proper threshold condition to a received signal and get the original transmitted signal at the RX side. However, in real-world situations, we see signal path blockage, reflections, etc.,  (NLOS paths [↗]) more frequently. The obstruction is typically caused by building walls, etc. Multi-antenna communication was introduced to address this issue. It makes diversity app...

UGC NET Electronic Science Previous Year Question Papers with Solutions

Home / Engineering & Other Exams / UGC NET 2026 PYQ ⬇️ Download Papers and Solutions 📋 Exam Pattern 💡 Preparation Tips ❓ FAQs 📊 Exam Highlights: Electronic Science (88) Feature Details Junior Research Fellowship (JRF) ₹37,000 + HRA per month Eligibility M.Sc/M.Tech in Electronics (55%) Validity of Certificate JRF (3 Years) | Lectureship (Lifetime) 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading 📂 View All Question Papers June 2025 - Question Paper Download PDF June 2025 - Solved Paper + Explanation ...

MATLAB Code for OTFS (Orthogonal Time Frequency Space)

MATLAB Code for OTFS (Orthogonal Time Frequency Space) %% Clear workspace clc; clear; close all ; %% Step 1: OTFS Parameters N_delay = 4; % Number of delay bins (rows) N_doppler = 4; % Number of Doppler bins (columns) N_sym = N_delay * N_doppler; modOrder = 4; % QPSK SNR_dB = 20; % Noise level %% Step 2: Generate random data symbols data = randi([0 modOrder-1], N_sym, 1); txSymbols = pskmod(data, modOrder, pi/4); disp( 'Transmitted Delay-Doppler symbols:' ); disp(reshape(txSymbols, N_delay, N_doppler)); %% Step 3: Map Delay-Doppler → Time-Frequency (ISFFT) % ISFFT: Inverse Symplectic Finite Fourier Transform % 1. Take IDFT along Doppler (columns) % 2. Take DFT along Delay (rows) ddSymbols = reshape(txSymbols, N_delay, N_doppler); % Step 3a: IDFT along columns (Doppler) tfGrid = ifft(ddSymbols, N_doppler, 2); %IFFT (accross columns) along Doppler → spreads in time (Delay → Time) %FFT (accross rows)along Delay → spreads in frequency (Delay → Frequency) % Step 3b: DFT along ...

How to Mount Google Drive in Google Colab

How to Mount Google Drive in Google Colab Google Colab provides temporary storage during a session. Any files stored in the /content directory will be deleted when the runtime disconnects. To store datasets, trained models, and results permanently, it is recommended to mount your Google Drive in Colab. Mounting Google Drive allows your notebook to access files directly from your Drive and save outputs there so they remain available even after the Colab session ends. Step 1: Import the Drive Module First import the Google Colab drive module. from google.colab import drive Step 2: Mount Google Drive Run the following command to mount your Google Drive. from google.colab import drive drive.mount('/content/drive') After running the command: A link will appear in the output. Click the link and log in to your Google account. Copy the authentication code provided. Paste the code back into the notebook. Or, a Google authentication page will a...

Online Simulator for ASK, FSK, and PSK Signal Generation

Interactive Digital Signal Processing (DSP) Tutorial and Simulator for ASK, FSK, and BPSK modulation techniques. Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Digital Modulation Visualizer: ASK, FSK, & BPSK Simulator Learn and visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. Perfect for DSP students and engineers. 📡 ASK Simulator 📶 FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics 1. ASK (Amplitude Shift Keying) Simulat...

QPSK Online Simulator (Signal Generation)

Simulator for QPSK Modulation Quadrature (4-PSK) Bitstream (Even length) Carrier Freq (Hz) Samples Per Symbol Run QPSK Simulation The Math Behind QPSK Quadrature Phase Shift Keying (QPSK) is a form of digital modulation that transmits two bits per symbol by changing the phase of a carrier wave. s(t) = A cos(2Ï€f c t + θ n ) Phase (θ n ): Each pair of bits (dibit) corresponds to a specific phase shift. In Gray coding, we use: "00" → Ï€/4 (45°) "01" → 3Ï€/4 (135°) "11" → 5Ï€/4 (225°) "10" → 7Ï€/4 (315°) Efficiency: Since 4 phases are used, QPSK carries double the data of BPSK in the same bandwidth. ...