Computation of The Discrete Fourier Transform: 49 Minutes
Computation of The Discrete Fourier Transform: 49 Minutes
Lecture 18 49 minutes
N-1
XWk
2~N X(2r+1) W 2 i rk + 2 7-r~ X(20%/N + %r0N/ 2 r=0 r=0 , y POINT DFT N POINT DFT 2 2 H(k) G(k)
18.1
x(O)GOx(2)-x(4)X(o) 0G(3)
G(0)
x()
x(5)DFT
X(k)=G(k)+WNH(k)
18.2
x (0),
x(2),
x (4)
WN = WN2 WN
18.3
x(2)
N = 2" I N POINT DFT 2 2 POINT DFT'S+ 4 N POINT DFT'S+ 8 t8 POINT DFT'S+ N2 2 (}) +N
4(A) +N+N
8()+N+N+N 4 (A 2
2(N 2 N 4M + 2 N2 N 2 4) + 4 ---.2(N 2 N 2)
N 2 N
6)+ 8
N+N+---+N y TIMES
W(r+
N)
WN
(r+) r
WN =WNWN N .2y N WN =e N2
"v=-i
18.4
-1
-1
18.5
2.
Comments
The most direct computation of the DFT requires an amount of computation proportional to N where N is the length of the transform. However by exploiting symmetry and periodicity properties of the complex exponential sequences it is possible to reduce dramatically the amount of computation required. In this lecture we begin a discussion of the set of algorithms which result.
3.
4.
Problems
Problem 18.1 In figure 9.3 of the text (page 589) is shown the flowgraph for
implementing an eight-point DFT by first computing two four-point DFT's. Draw the corresponding flow-graph for implementing a sixteenpoint DFT by first computing two eight-point DFT's. Problem 18.2 Suppose that a program is available for evaluating a DFT, N-1 X(k) = n=0 Show how this same program can be used to compute the inverse DFT,
N-1
x(n)
=
x(n)e-j(2/N)kn,
k=0,1,...,N-1
0,1,... ,N
k=0
18.6
Problem 18.3 Consider the FFT algorithm for N a power of 2, implemented in the form characterized by Figure 9.10 in the text. We are assuming that N is an arbitrary power of 2, not that N = 8. In indexing through the data in an array, we shall assume that points in an array are stored in consecutive complex (double) registers numbered 0 through N - 1. The arrays are numbered 0 through log 2 N. The array holding the initial data is the zero-- array. The output of the first stage of butterflies is the first array, etc. All of the following questions relate to the computation of the m-- arraywhere l< m < log 2 N. The answer should be in terms of m. All of the questions can be answered by generalizing the results for N = 8. (a) (b) How many butterflies are to be computed? th What are the powers of WN involved in computing the m- array
(m
-
from the
1)st array?
(c)
input points to a butterfly? (d) What is the separation between the addresses of the first points
of butterflies utilizing the same coefficients? Problem 18.4 In computing the DFT of real sequences it is possible to reduce the amount of computation by utilizing the fact that the sequence is real. In particular, consider two real-valued sequences x1 (n) and x2 (n) with DFT's X1 (k) and X2 (k) respectively. Let g(n) be the complex sequence given by g(n) = x1 (n) + j x2 (n), and let G(k) be its DFT. Let GOR(k), GER(k), G0 I(k) and GEI(k) denote, respectively, the odd part of the real part, the even part of the real part, the odd part of the imaginary part, and the even part of the imaginary part of G(k). Using the fact that for a real sequence, the real part of its DFT is even and its imaginary part is odd (see Table 8.2, page 547 of the text), determine xl(k) and x2 (k) in terms of OR (k), GER(k), GOI(k) and GEI (k).
The result derived in this problem is commonly utilized in one of two ways. If there are two real sequences for which we want the DFT, we can compute their transforms simultaneously and then separate the transforms using the result in the problem. As a second possibility, we can separate a real sequence into two subsequences, consisting of its even and odd numbered points, simultaneously compute the DFT of each of these subsequences, and then combine these to obtain the DFT of the total sequence according to equation (9.14) in the text. 18.7
The following may not correspond to a particular course on MIT OpenCourseWare, but has been provided by the author as an individual learning resource.
For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.