Linear Convolution Using DFT
Linear Convolution Using DFT
The circular convolution property states that the product of two DFTs is equivalent to the circular
convolution of the corresponding time-domain sequence. But to determine the output of a real time
(linear) filter, the circular convolution is not suitable. Therefore in this section, the linear convolution
through circular convolution using DFT is explained.
Let x(n) be the finite duration sequence with the length of L and h(n id the impulse response of a
digital filter with length of M. The resultant output sequence will have a length of N=L+M-1 samples.
Therefore, the DFT of size N is required to represent y(n) in the frequency domain. The number of
samples in x(n) and x(n) has been increased to meet this condition using zero padding technique.
Adding zero at the end does not affect the frequency response of the system. Thus with zero padding,
the DFT can be used to perform linear filtering.
1. Using zero padding increase the length of x(n) and y(n) to N from L and M
respectively.
2. Compute N-point DFT for x(n) and h(n) and represent as X(k) and H(k)
respectively.
3. Compute Y(k)=X(k)H(k)
4. Compute Inverse DFT to obtain the y(n). i.e. y(n)=IDFT{Y(k)}.
Example
Perform the linear convolution of the two sequences given below using the DFT relations.
n, 0 n 3 1, n 1,1
h( n) and x(n)
0, otherwise 0, n0
Solution
L 4, M 3, therefore N 6
Computation of H(k)
2
3 j nk
H ( k ) h ( n )e N
n 0
2
3 j nk
h ( n )e 6
( N 6)
n 0
2
j k j k
e 2e
3
3e j ( k )
3
2 2
j k j k
X (k ) e e
6 6
Y(k)=H(k)X(k)
For k=0,1,2,…5 Y 0 H 0 X 0 12
Y 1 H 1 X 1 e j ( /3) 2e j (2 /3) 3e j ( ) e j (2 /6) e j (2 /6)
1 6e j (2 /3) 2e j ( ) 3e j (4 /3)
Y 2 H 2 .X 2 e j (2 /3) 2e j (4 /3) 3e j (2 ) e j (2 /3) e j (2 /3)
8
j
j (4 /3) j (2 /3) j (2 )
1 4e 2e 2e 3e 3
Y 3 H 3 X 3 e j ( )
2e j (2 )
3e j (3 ) e j ( ) 2e j (2 ) e j ( )
1 2e j 4e j 2 2e j 3 3e j 4
Y 4 H 4 X 4 e j (4 /3) 2e j (8 /3) 3e j (4 ) e j (4 /3) e j (4 /3)
8 4 16 12
j j j j
1 4e 2e 3 2e 3 2e 3
3
j 5 10
j
Y 5 H 5 X 5 e 3 2e 3 3e j (5 ) e j (5 /3) e j (5 /3)
10 5 15 20
j j j j
1 4e 3
2e 3
e 3
3e 3
Computation of y(n)
The Inverse Discrete Fourier Transform (IDFT) is given by
1 N 1
y ( n)
N i 0
Y (k )e j (2 K / N ) , 0 n N 1
1 5
Here N 6, y (n) Y (k )e j (2 nK /6)
6 k 0
The different values of y (n) can be evaluated using the above expression and the outputs obtained are
y(n)={0,1,2,4,2,3}