DSP - DFT Circular Convolution
Let us take two finite duration sequences x1n and x2n, having integer length as N. Their
DFTs are X1K and X2K respectively, which is shown below −
N −1
j2Πkn
X1 (K) = ∑ x1 (n)e N k = 0, 1, 2...N − 1
n=0
N −1
j2Πkn
X2 (K) = ∑ x2 (n)e N k = 0, 1, 2...N − 1
n=0
Now, we will try to find the DFT of another sequence x3n, which is given as X3K
X3 (K) = X1 (K) × X2 (K)
By taking the IDFT of the above we get
N −1
j2Πkn
1
x3 (n) = ∑ X3 (K)e N
N
n=0
After solving the above equation, finally, we get
N −1
x3 (n) = ∑ x1 (m)x2 [((n − m))N ]
m=0
m = 0, 1, 2...N − 1
Comparison points Linear Convolution Circular Convolution
Shifting Linear shifting Circular shifting
Samples in the convolution
N1 + N2 − 1 M ax(N1 , N2 )
result
Finding response of a filter Possible Possible with zero padding
Methods of Circular Convolution
Generally, there are two methods, which are adopted to perform circular convolution and
they are −
Concentric circle method,
Matrix multiplication method.
Concentric Circle Method
Let x1 (n) and x2 (n) be two given sequences. The steps followed for circular convolution
of x1 (n) and x2 (n) are
Take two concentric circles. Plot N samples of x1 (n) on the circumference of the
outer circle maintainingequaldistancesuccessivepoints in anti-clockwise
direction.
For plotting , plot N samples of
x2 (n) x2 (n)in clockwise direction on the inner
circle, starting sample placed at the same point as 0th sample of x (n)
1
Multiply corresponding samples on the two circles and add them to get output.
Rotate the inner circle anti-clockwise with one sample at a time.
Matrix Multiplication Method
Matrix method represents the two given sequence x1 (n) and x2 (n) in matrix form.
One of the given sequences is repeated via circular shift of one sample at a time to
form a N X N matrix.
The other sequence is represented as column matrix.
The multiplication of two matrices give the result of circular convolution.