Skip to main content

Role of Cyclic Prefix in OFDM


Role of Cyclic Prefix in OFDM

The simple frequency-domain equalizer is possible only if the channel performs circular convolution. However, in practice, all wireless channels perform linear convolution.

This linear convolution is converted into circular convolution by adding a cyclic prefix (CP) in the OFDM architecture. The cyclic prefix makes the linear convolution imparted by the channel appear as circular convolution to the DFT process at the receiver.

Demonstration Concept

To demonstrate this, consider an OFDM signal s[n] of length 8 and a channel impulse response h[n] of length 3. When s[n] is convolved with h[n]:

  • Linear convolution and circular convolution give different results.
  • This mismatch causes interference in OFDM systems.

Adding Cyclic Prefix

A cyclic prefix is added by copying the last NCP samples of the OFDM symbol and appending them to the beginning. If the cyclic prefix length is at least equal to the channel delay spread, the following occurs:

  • Inter-symbol interference is confined to the cyclic prefix.
  • The useful received signal behaves as circular convolution.

Receiver Processing

At the receiver, the cyclic prefix samples are removed. The remaining samples correspond exactly to the circular convolution of the transmitted signal and the channel impulse response.

DFT Property

After removing the cyclic prefix, the received signal satisfies:

r[n] = IDFT { H[k] · S[k] }

This confirms that circular convolution in time domain corresponds to simple multiplication in the frequency domain.


Why OFDM needs circular convolution

In OFDM:

  • Each OFDM symbol is processed using an N-point DFT
  • DFT diagonalizes circular convolution, not linear convolution

So without CP:

DFT{x[n] * h[n]} ≠ X[k] H[k]

Subcarriers interfere → ICI + ISI

What the cyclic prefix actually does

The cyclic prefix:

  • Copies the last L samples of the OFDM symbol
  • Appends them to the front of the symbol
Original OFDM symbol:
[x0 x1 x2 ... x(N−1)]

After CP:
[x(N−L) ... x(N−1) | x0 x1 ... x(N−1)]

Where L ≥ channel delay spread

Mathematical proof

Let:

  • x[n] be an N-sample OFDM symbol
  • CP length L ≥ Lh - 1

Then after CP removal:

y[n] = x[n] ⊛ h[n]

Taking DFT:

Y[k] = X[k] H[k]

Equalization becomes:

ฤคX[k] = Y[k] / H[k]

One complex multiplication per subcarrier

Practical example (LTE / Wi-Fi numbers)

  • FFT size = 2048
  • CP ≈ 4.7 ยตs
  • Channel delay spread ≈ 1–3 ยตs

Because CP length > delay spread:

  • No ISI
  • No ICI
  • Simple frequency-domain equalizer works

Without CP:

  • Symbols overlap
  • Subcarriers mix
  • Equalizer becomes very complex

Physical interpretation

Think of CP as a guard interval in time, not frequency:

  • Absorbs multipath echoes
  • Makes each OFDM symbol appear periodic
  • DFT “sees” a periodic extension → circular convolution


What happens if CP is too short?

If CP length < channel delay spread:

  • Linear convolution leaks into FFT window
  • Circularity breaks
  • ISI + ICI appear
  • Orthogonality is lost

Summary

By adding a cyclic prefix, OFDM systems convert linear channel convolution into circular convolution, enabling low-complexity frequency-domain equalization and eliminating inter-symbol interference.

Cyclic prefix converts linear convolution into circular convolution, so that the FFT sees a diagonal frequency response, allowing simple frequency-domain equalization.



Further Reading


People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

MATLAB Codes for Various types of beamforming | Beam Steering, Digital...

๐Ÿ“˜ How Beamforming Improves SNR ๐Ÿงฎ MATLAB Code ๐Ÿ“š Further Reading ๐Ÿ“‚ Other Topics on Beamforming in MATLAB ... MIMO / Massive MIMO Beamforming Techniques Beamforming Techniques MATLAB Codes for Beamforming... How Beamforming Improves SNR The mathematical [↗] and theoretical aspects of beamforming [↗] have already been covered. We'll talk about coding in MATLAB in this tutorial so that you may generate results for different beamforming approaches. Let's go right to the content of the article. In analog beamforming, certain codebooks are employed on the TX and RX sides to select the best beam pairs. Because of their beamforming gains, communication created through the strongest beams from both the TX and RX side enhances spectrum efficiency. Additionally, beamforming gain directly impacts SNR improvement. Wireless communication system capacity = bandwidth*log2(1+SNR)...

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

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

MATLAB Code for Pulse Width Modulation (PWM) and Demodulation

๐Ÿ“˜ Overview & Theory ๐Ÿงฎ MATLAB Code for Pulse Width Modulation and Demodulation ๐Ÿงฎ Generating a PWM Signal in detail ๐Ÿงฎ Other Pulse Modulation Techniques (e.g., PWM, PPM, DM, and PCM) ๐Ÿงฎ Simulation results for comparison of PAM, PWM, PPM, DM, and PCM ๐Ÿ“š Further Reading   MATLAB Code for Analog Pulse Width Modulation (PWM) clc; clear all; close all; fs=30; %frequency of the sawtooth signal fm=3; %frequency of the message signal sampling_frequency = 10e3; a=0.5; % amplitide t=0:(1/sampling_frequency):1; %sampling rate of 10kHz sawtooth=2*a.*sawtooth(2*pi*fs*t); %generating a sawtooth wave subplot(4,1,1); plot(t,sawtooth); % plotting the sawtooth wave title('Comparator Wave'); msg=a.*sin(2*pi*fm*t); %generating message wave subplot(4,1,2); plot(t,msg); %plotting the sine message wave title('Message Signal'); for i=1:length(sawtooth) if (msg(i)>=sawtooth(i)) pwm(i)=1; %is message signal amplitude at i th sample is greater than ...

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