Skip to main content

Linear vs Circular Convolution


Linear vs Circular Convolution


Linear convolution vs circular convolution

Linear convolution (what nature does)

If:

  • x[n] = transmitted signal
  • h[n] = channel impulse response (multipath)

Then the received signal is:

y[n] = x[n] * h[n]

This means:

  • Past symbols spill into future symbols
  • Causes inter-symbol interference (ISI)
  • DFT of y[n] is not a simple product

Circular convolution (what DFT assumes)

The DFT assumes periodic signals:

y[n] = x[n] ⊛ h[n], where indices wrap around modulo N

Only under circular convolution does the DFT satisfy:

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

This is what enables one-tap frequency-domain equalization.


What happens in the real channel (linear convolution)

The channel performs linear convolution:

y[n] = Σl=0Lh−1 h[l] x[n-l]

But because:

  • CP absorbs the “spillover”
  • Receiver discards CP before DFT

The useful part of the received symbol becomes:

y[n] = Σl=0Lh−1 h[l] x[(n-l) mod N]

Modulo indexing = circular convolution



Linear vs Circular Convolution Deep Dive

Linear convolution example

Let:

x[n] = [1, 2, 3]

h[n] = [4, 5]

Compute linear convolution:

y[0] = 1*4 = 4
y[1] = 1*5 + 2*4 = 13
y[2] = 2*5 + 3*4 = 22
y[3] = 3*5 = 15

y[n] = [4, 13, 22, 15]

Length = 3 + 2 - 1 = 4 → output longer than input

Circular convolution example

x[n] = [1, 2, 3], h[n] = [4, 5, 0] (padded to length 3)

y[0] = 1*4 + 2*0 + 3*5 = 19
y[1] = 1*5 + 2*4 + 3*0 = 13
y[2] = 1*0 + 2*5 + 3*4 = 22

y[n] = [19, 13, 22]

Summary of differences

Feature Linear Convolution Circular Convolution
Signal length N+M-1 N
Wrap-around No Yes (mod N)
DFT property No simple product Y[k] = X[k] · H[k]
Natural / artificial Nature (channel) FFT assumption
OFDM role Causes ISI if unchecked Enables one-tap equalization

Understanding mod N in Circular Convolution

Linear Convolution

For two discrete-time sequences x[n] and h[n],

y[n] = x[n] * h[n] = Σ x[k] · h[n − k]
       (k = −∞ to ∞)
      
  • Output length: Lx + Lh − 1
  • Signals are assumed to be zero outside their defined duration
  • Used to model LTI systems and physical communication channels

Circular Convolution

For two N-point sequences x[n] and h[n],

y[n] = x[n] ⊛ h[n] = Σ x[k] · h[(n − k) mod N]
       (k = 0 to N − 1)
      
  • Output length: N
  • Signals are assumed to be periodic with period N
  • Commonly used in DFT/FFT-based systems (e.g., OFDM)

Key Mathematical Difference

  • Linear convolution uses h[n − k] (no wrapping)
  • Circular convolution uses h[(n − k) mod N], causing wrap-around

1. What does mod N mean?

“mod N” means wrap around when you reach N.

Think of a clock:

  • 13 mod 12 = 1
  • 14 mod 12 = 2

The same idea applies in circular convolution.

2. Why do we need mod N?

In circular convolution, signals are assumed to be periodic.

  • If the index becomes negative → wrap to the end
  • If the index exceeds N−1 → wrap to the beginning

3. Simple Example (N = 4)

x[n] = [x₀, x₁, x₂, x₃]
h[n] = [h₀, h₁, h₂, h₃]
      

Circular convolution formula:

y[n] = Σ x[k] · h[(n − k) mod 4]
       (k = 0 to 3)
      

4. Compute One Output Sample (n = 1)

y[1] = x[0]h[(1−0) mod 4]
     + x[1]h[(1−1) mod 4]
     + x[2]h[(1−2) mod 4]
     + x[3]h[(1−3) mod 4]
      
Expression Value
(1−0) mod 4 1
(1−1) mod 4 0
(1−2) mod 4 −1 → 3
(1−3) mod 4 −2 → 2
y[1] = x₀h₁ + x₁h₀ + x₂h₃ + x₃h₂
      

This shows how negative indices wrap around using mod N.

5. Visual Interpretation

0 → 1 → 2 → 3 → back to 0
      
  • −1 → 3
  • −2 → 2
  • 4 → 0

6. Summary

  • Linear convolution → no wrapping
  • Circular convolution → indices wrap using mod N
  • mod N enforces periodicity


Further Reading


People are good at skipping over material they already know!

View Related Topics to







Contact Us

Name

Email *

Message *

Popular Posts

How to use MATLAB Simulink

Introduction to MATLAB Simulink MATLAB Simulink is a popular add-on of MATLAB. Here, you can use different blocks like modulator, demodulator, AWGN channel, etc. And you can do experiments on your own. Steps to Get Started 1. Go to the 'Simulink' tab at the top navbar of MATLAB. If not found, click on the add-on tab, search 'Simulink,' and then click on it to add. 2. Once you installed the simulation, click the 'new' tap at the top left corner. 3. Then, search the required blocks in the 'Simulink library.' Then, drag it to the editor space. 4. You can double-click on the blocks to see the input parameters. 5. Then, connect the blocks by dragging a line from one block's output terminal to another block's input. 6. If the connection is complete, click the 'run' tab in the middle of the top navbar. 7. After clicking on the run ...

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 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 figure of merit for a...

Theoretical vs. simulated BER vs. SNR for ASK, FSK, and PSK (MATLAB Code + Simulator)

📘 Overview 🧮 Simulator 💻 Theoretical Code 📊 Simulated Code 📚 Resources Overview BER vs. SNR denotes how many bits in error are received for a given signal-to-noise ratio, typically measured in dB. Common noise types in wireless systems: 🚀 1. Additive White Gaussian Noise (AWGN) 🌊 2. Rayleigh Fading AWGN adds random noise; Rayleigh fading attenuates the signal variably. A good SNR helps reduce these effects. Bit Error Rate (BER) Equations BER formulas for ASK, FSK, and PSK modulation schemes. ASK BER = 0.5 × erfc(0.5 × √SNR) FSK BER = 0.5 × erfc(√(SNR / 2)) PSK BER = 0.5 × erfc(√SNR) erfc / Q-function (Click here) Live BER S...

Rayleigh vs Rician Fading (with MATLAB + Simulator)

  In Rayleigh fading , the channel coefficients tend to have a Rayleigh distribution, which is characterized by a random phase and magnitude with an exponential distribution. This means the magnitude of the channel coefficient follows an exponential distribution with a mean of 1. In Rician fading , there is a dominant line-of-sight component in addition to the scattered components. The channel coefficients in Rician fading can indeed tend towards 1, especially when the line-of-sight component is strong. When the line-of-sight component dominates, the Rician fading channel behaves more deterministically, and the channel coefficients may tend towards the value of the line-of-sight component, which could be close to 1.   MATLAB Script clc; clear all; close all; % Define parameters numSamples = 1000; % Number of samples K_factor = 5; % K-factor for Rician fading SNR_dB = 20; % Signal-to-noise ratio (in dB) % Generate complex Gaussian random variable for Rayleigh fading channel h_r...

UGC-NET Electronic Science Question Paper With Answer Key and Full Explanation [Dec 2023]

    UGC-NET Electronic Science Question Paper With Answer Key Download Pdf [Dec 2023] Download Question Paper               See Answers   2025 | 2024 | 2023 | 2022 | 2021 | 2020 UGC-NET Electronic Science  2023 Answers with Explanations 51. (A): The stacking fault is the most common area defect found in silicon. These faults typically occur along the 111 plane. In the crystalline structure of silicon, atoms are arranged in a specific pattern known as a diamond lattice. A stacking fault refers to a disruption in the normal order of atomic layers within this lattice, which usually occurs in the 111 plane due to the geometric arrangement of the atoms. This type of defect can affect the electrical and mechanical properties of the material, such as the mobility of charge carriers and mechanical strength. 52. (C): The important figure of merit for the microwave application of a Schot...

UGC NET Electronic Science Previous Year Question Papers

Home / Engineering & Other Exams / UGC NET 2022 PYQ 📥 Download UGC NET Electronics PDFs Complete collection of previous year question papers, answer keys and explanations for Subject Code 88. Start Downloading UGC-NET (Electronics Science, Subject code: 88) Subject_Code : 88; Department : Electronic Science; 📂 View All Question Papers Q. UGC Net Electronic Science Question Paper [June 2025] A. UGC Net Electronic Science Question Paper With Answer Key Download Pdf [June 2025] with full explanation Q. UGC Net Electronic Science Question Paper [December 2024] A. UGC Net Electronic Science Question Paper With Answer Key Download Pdf [December 2024] Q. UGC Net Electronic Science Question Paper [Aug 2024] A. UGC Net Electronic Scien...

Constellation Diagrams of ASK, PSK, and FSK (with MATLAB Code + Simulator)

Constellation Diagrams: ASK, FSK, and PSK Comprehensive guide to signal space representation, including interactive simulators and MATLAB implementations. 📘 Overview 🧮 Simulator ⚖️ Theory 📚 Resources Definitions Constellation Tool Key Points MATLAB Code 📂 Other Topics: M-ary PSK & QAM Diagrams ▼ 🧮 Simulator for M-ary PSK Constellation 🧮 Simulator for M-ary QAM Constellation BASK (Binary ASK) Modulation Transmits one of two signals: 0 or -√Eb, where Eb​ is the energy per bit. These signals represent binary 0 and 1. BFSK (Binary FSK) Modulation Transmits on...

Online Simulator for ASK, FSK, and PSK

Try our new Digital Signal Processing Simulator!   •   Interactive ASK, FSK, and BPSK tools updated for 2025. Start Now Interactive Modulation Simulators Visualize binary modulation techniques (ASK, FSK, BPSK) in real-time with adjustable carrier and sampling parameters. 📡 ASK Simulator 📶 FSK Simulator 🎚️ BPSK Simulator 📚 More Topics ASK Modulator FSK Modulator BPSK Modulator More Topics Simulator for Binary ASK Modulation Digital Message Bits Carrier Freq (Hz) Sampl...