You are on page 1of 8
Efficient Computation of the DFT: Fast Fourier Transform Algorithms As we have observed the preseding chapter, the dsrte our transform (DFT) plays an important role in many applications of digital signal processing, includi linear filtering, correlation analysis, and spectrum analysis. A major importance is the existence of efficient algorithms for computing the DFT. The main topic of this chapter is the description of computationally efficient algorithms for evaluating the DFT. Two different approaches are described. One is, a divide-and-conquer approach in which a DFT of size V, where N is a composite ‘number, is reduced to the computation of smaller DFTs from which the larget DFT is computed. In particular, we present important computational algorithms, called fast Fourier transform (FFT) algorithms, for computing the DFT when the size N is, a power of 2 and when itis a power of 4 ‘The second approach is based on the formulation of the DFT as a linear filtering operation on the data. This approach leads to two algorithms, the Goertzel algorithm ‘and the chirp-z transform algorithm, for computing the DFT via linear filtering of the data sequence. son for its 8.1 Efficient Computation of the DFT: FFT Algorithms In this section we present several methods for computing the DFT efficiently. In view of the importance of the DFT in various digital signal processing applications, such as linear filtering, correlation analysis, and spectrum analysis its efficient computation is a topic that has received considerable attention by many mathematicians, engineers, and applied scientists Basically, the computational problem for the DFT is to compute the sequence {X(@)} of N complex-valued numbers given another sequence of data (x(n)} of length 511 512 Chapter ficient Computation ofthe DFT: Fast Fourier Transform Algorithms N, according to the formula x@M= DT x@wy (1.1) Wy =e /8 (8.1.2) In general, the data sequence x(n) is also assumed to be complex valued. Similarly, the IDFT becomes ye . xn) = XGW ° (813) Since the DFT and IDFT involve basically the same type of computations, our discus. sion of efficient computational algorithms for the DFT applies as well to the efficient computation of the IDFT. We observe that for each value of k, direct computation of X(k) involves ‘complex multiplications (4N real multiplications) and N—1 complex additions (4N — 2 real additions). Consequently, to compute all N values of the DFT requires N? ‘complex multiplications and N? — N complex additions. Direct computation of the DFT is basically inefficient, primarily because it does not exploit the symmetry and periodicity properties of the phase factor Wy. In particular, these two properties are: Symmetry property: WA"? = —Wh Periodicity property: WA" = Wh The computationally efficient algorithms described in this section, known collectively as fast Fourier transform (FFT) algorithms, exploit these two basic properties of the phase factor. 8.1.1 Direct Computation of the DFT valued sequence x(n) of N points, the DFT may be expressed as ] 616) 17 For a comple) Xn(k) [xt e08™ + xp(n)sin x) =—¥ [satin 2a The direct computation of (8.1.6) and (8.1.7) requires: L 2. 4N? real multiplications, 3. 4N(N ~ 1) real additions. 4, A number of indexing and addressing operations. N? evaluations of trigonometric functions. ‘These operat and tc compt 8.1.2 Thed sible decor proac as FF 1 DFT, The: sequ ? Isi and Fig valued. (8.13) tations, our discus- well to the efficient £ X(k) involves ditions (4N— DFT requires N? rly bee se factor W (4) (8.5) known collectively properties of the ne expressed as (8.1.6) 8.1 Efficient Computation ofthe OFT FFT Algorthns 513 These operations are typical of DFT computational algorithms. The operations in items 2 and 3 result in the DFT values X p(k) and X,(k). The indexing and addressing operations are necessary to fetch the data x(n), 0

You might also like