Digital Signal Processing Reference
In-Depth Information
•
Alternately, one could arrange the vector elements
x
1
(
m
) and
x
2
(
m
)
in
N =
8 equally spaced points around a circle, as shown in
Figure
2 8
of
x
2
(
m
) about the horizontal axis as shown in Figure 3.3b. The vector
x
2
((1
- m
)
8
) is obtained by shifting the elements of the vector
x
2
(
m
)
by one position counter-clockwise around the circle. Hence, the out-
put vector is
x
(
n
) = [22345432].
Using the
computer method
, the circular convolution of the two sequences,
x
1
(
n
) and
x
2
(
n
), can also be obtained by using the convolution property of
the DFT, which is listed as Property 2 in
Table 3.2
above. This method consists
of three steps.
•
Step 1:
Obtain the 8-point DFTs of the sequences
x
1
(
n
) and
x
2
(
n
):
xn
()
→
Xk
()
1
1
xn
()
→
Xk
()
2
2
•
Step 2:
Multiply the two sequences
X
1
(
k
) and
X
2
(
k
):
Xk
()
→
X kX k
()
()
, for
k =
0, 1, 2 … 7.
1
2
•
Step 3:
Obtain the 8-point IDFT of the sequence
X
(
k
)
,
to yield the
final output
x
(
n
):
Xk
()
→
xn
(),
for
n
=
0
,
1,2…7.
A brief MATLAB program to implement the procedure above is given
below:
% MATLAB Program for Circular Convolution
clear;
x1=[1 1 1 1 1 0 0 0] ; sequence
x
1
(
n
)
x2=[1 1 1 1 1 0 0 0] ; sequence
x
2
(
n
)
X1=fft(x1)
; DFT of
x
1
(
n
)
X2=fft(x2)
; DFT of
x
2
(
n
)
X=X1.*X2
; DFT of
x
(
n
)
x=ifft(X)
; IDFT of
X
(
k
)
Note:
MATLAB automatically utilizes a radix-2 FFT if N is a power of 2. If
N is not a power of 2, then it reverts to a non-radix-2 process. The FFT
process will be explained in the next section.