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 |