Understanding FFT and IFFT in OFDM
- Venkateshu
- Jun 19
- 4 min read
1. Introduction
Orthogonal Frequency Division Multiplexing (OFDM) is a powerful modulation technique used in modern wireless communication systems like Wi-Fi, LTE, and 5G. A key part of making OFDM work efficiently is the use of mathematical tools called the Fast Fourier Transform (FFT) and its inverse (IFFT). This guide aims to break down these concepts and explain why and how they're used in OFDM.
2. What Are FFT and IFFT?
FFT (Fast Fourier Transform) converts a time-domain signal into its frequency-domain representation.
IFFT (Inverse Fast Fourier Transform) does the opposite: it converts frequency-domain samples into a time-domain waveform.
These transforms are computationally efficient ways to move between how signals look in time and how they look in frequency.
Why Are FFT and IFFT Used in Wireless Communication?
Wireless signals are transmitted and received over time, but many digital modulation schemes (like QAM or PSK) are designed in the frequency domain. Antennas can only transmit time-domain waveforms, so we need a way to bridge the gap:
· IFFT at the transmitter takes frequency-domain data (modulated symbols on subcarriers) and turns it into a time-domain waveform.
· FFT at the receiver recovers the original frequency-domain symbols from the received time-domain signal.
Without IFFT/FFT, you’d need hundreds or thousands of oscillators to separately transmit each subcarrier. This is impractical, expensive, and power-hungry.
3. How OFDM Uses IFFT and FFT
To know more details of OFDM, refer to my latest article on Understanding and Mitigating PAPR in OFDM Systems
Transmitter Flow (IFFT)
1. Bits to Symbols: Input bits are mapped to QAM symbols.
2. Frequency Domain Representation: Symbols are placed into the frequency bins of a 512-point vector.
3. Apply IFFT: Converts the frequency bins into a composite time-domain waveform.
4. Add Cyclic Prefix: A portion of the end of the symbol is copied to the beginning to prevent ISI.
5. Transmit: The time-domain signal is sent through a DAC and modulated onto a carrier.
Receiver Flow (FFT)
1. Receive Signal: Downconvert and sample the received signal.
2. Remove Cyclic Prefix.
3. Apply FFT: Converts the received time-domain signal back into the frequency domain.
4. Equalize and Demap Symbols: Recover original QAM symbols and decode to bits.
Lets take an example of IFFT/FFT:
System Parameters:
· Bandwidth: 5 MHz
· Subcarrier spacing: 15 kHz
· FFT size: 512 (gives 7.68 MHz sample rate)
· Active subcarriers: ~300 (rest are guard bands)
· Modulation: 16-QAM
· OFDM Symbol Duration: 66.67 µs
Let’s take a single OFDM symbol for a 5 MHz channel:
1. Input bits:
Input bits: 0100 1101 1010 0111 ... (modulated using 16-QAM)
2. QAM Mapping → Frequency Bins:
symbols = [ -1+3j, 1+1j, -3+1j, ..., # 300 active subcarriers]
freq_domain = [0]*512
freq_domain[106:406] = symbols # center-aligned in spectrum
3. IFFT to Time-Domain:
time_domain = ifft(freq_domain) # 512-point IFFT
Now, time_domain is a time waveform of 66.67 µs, sampled at 7.68 MHz → ~512 samples.
4. Add Cyclic Prefix:
cp = time_domain[-128:] # 128-sample CP (1/4 of 512)
ofdm_tx = concatenate([cp, time_domain]) # 640 total samples
5. Transmit → Channel → Receive → Remove CP → FFT
received = ofdm_rx[128:] # remove CP
received_freq = fft(received) # 512-point FFT
Now received_freq[106:406] contains your noisy QAM symbols.
5.What is an FFT Bin?
An FFT bin refers to one frequency point in the FFT output — in OFDM, each bin corresponds to one subcarrier.
To calculate the FFT size for any combination of bandwidth (BW) and subcarrier spacing (SCS) in 5G NR:
Formula:
FFT size=( BW×1.08 ) / SCS
(BW x 1.08) is called as Sampling Rate (SR).
SCS – SubCarrier Spacing
Constant 1.08 is the oversampling factor to account for guard bands (can vary slightly based on implementation).
Steps for calculating FFT bin value:
1. Calculate FFT size.
2. Round to nearest power-of-2.
3. Use oversampling factor (typically 1.08) to include guard bands.
4. Max FFT size is kept small (typically ≤ 4096) for hardware efficiency and latency reasons.
Example: 100 MHz BW with 30 kHz SCS
Step 1: Calculate Sampling Rate
SR=100 MHz×1.08=108 MHz
Step 2: Calculate FFT Size
FFT size=108 MHz x 30 kHz=3600
Step 3: Round to next power-of-2 (for efficient radix FFT)
Closest power-of-2 ≥ 3600 is 4096
Answer: FFT size = 4096
How to Calculate FFT Sizes for Different SCS and Bandwidths
Here’s a structured approach:
BW (MHz) | SCS (kHz) | Sampling Rate (MHz) | FFT Size (rounded to power of 2) |
20 | 15 | 20 × 1.08 = 21.6 | 2048 |
40 | 30 | 40 × 1.08 = 43.2 | 2048 |
100 | 30 | 100 × 1.08 = 108 | 4096 |
100 | 60 | 108 | 2048 |
400 | 120 | 432 | 4096 / 8192 (depends on hardware) |
Higher SCS → smaller FFT size, because fewer subcarriers are needed to span the bandwidth.
Lower SCS → larger FFT, because more narrow subcarriers fit in the same BW.
5.Mathematical Formulas for IFFT and FFT
IFFT (Used at Transmitter):
Converts frequency-domain symbols to time-domain samples :
For an N-point IFFT, converting X[k] (frequency-domain samples) to x[n]

X[k]: Complex symbol on subcarrier
x[n]: Output time-domain sample
𝑁: Total number of subcarriers (e.g., 512 or 1024)
𝑒𝑗2𝜋𝑘𝑛/𝑁: Complex sinusoid basis function
IFFT "synthesizes" the time waveform by summing all the frequency tones (subcarriers) with proper amplitudes and phases.
FFT (Used at Receiver):
Converts time-domain samples to frequency-domain symbols :
These transformations are the mathematical bridge that enables the efficient operation of OFDM.
For an N-point FFT, converting x[n] (time samples) to X[k] (frequency components):

x[n]: Received time-domain sample
X[k]: Recovered frequency-domain symbol on subcarrier 𝑘
FFT "analyzes" the composite time waveform, extracting each frequency bin (subcarrier) separately.
6. Summary
The use of IFFT and FFT in OFDM is not just a clever trick — it's the foundation that makes modern digital communication systems work. By converting between frequency-domain and time-domain representations, we can transmit complex, high-throughput signals efficiently, reliably, and flexibly.
Understanding these concepts is essential for any wireless engineer or enthusiast stepping into the world of 4G, 5G, and beyond.
References:
Comentarios