The Cooley-Tukey decimation-in-time algorithm Consider the DFT algorithm for an integer power of 2, N 2 X[k] N1 k 0 x[n]WN nk N1 k 0 x[n]e j 2nk / N ; WN e j2 / N Create separate sums for even and odd values of n: X [k ] x[n]WN x[n]WN nk n even nk n odd Letting n 2r for n even and n 2r 1 for n odd, we obtain X[k] N / 21 r 0 Carnegie Mellon N / 2 1 x[2r]WN 2rk Slide 1 r 0 x[2r 1]WN 2r1 k ECE Department The Cooley-Tukey decimation in time algorithm Splitting indices in time, we have obtained X [k ] N / 2 1 r 0 x[2r ](WN ) WN 2 rk k N / 2 1 r 0 x[2r 1](WN ) rk 2 But WN2 e j 2 2 / N e j2 /( N / 2) WN / 2 and WN2rk WNk WNk WNrk/ 2 So … X[k] (N/ 2)1 ( N/ 2)1 n0 n0 x[2r]WNrk/ 2 WNk N/2-point DFT of x[2r] Carnegie Mellon Slide 2 x[2r 1]WNrk/ 2 N/2-point DFT of x[2r+1] ECE Department Savings so far … We have split the DFT computation into two halves: X[k] N 1 x[n]WN nk k 0 ( N/ 2)1 ( N/ 2)1 n0 n0 x[2r]WNrk/ 2 WNk x[2r 1]WNrk/ 2 Have we gained anything? Consider the nominal number of multiplications for N 8 2 – Original form produces 8 64 multiplications 2 – New form produces 2(4 ) 8 40 multiplications – So we’re already ahead ….. Let’s keep going!! Carnegie Mellon Slide 3 ECE Department Signal flowgraph notation In generalizing this formulation, it is most convenient to adopt a graphic approach … Signal flowgraph notation describes the three basic DSP operations: – Addition x[n] x[n]+y[n] y[n] – Multiplication by a constant x[n] – Delay Carnegie Mellon x[n] Slide 4 a z-1 ax[n] x[n-1] ECE Department Signal flowgraph representation of 8-point DFT Recall that the DFT is now of the form X[k] G[k] WNk H[k] The DFT in (partial) flowgraph notation: Carnegie Mellon Slide 5 ECE Department Continuing with the decomposition … So why not break up into additional DFTs? Let’s take the upper 4-point DFT and break it up into two 2-point DFTs: Carnegie Mellon Slide 6 ECE Department The complete decomposition into 2-point DFTs Carnegie Mellon Slide 7 ECE Department Now let’s take a closer look at the 2-point DFT The expression for the 2-point DFT is: X[k] 1 n0 x[n]W2nk 1 x[n]e j 2nk / 2 n0 Evaluating for k 0,1 we obtain X[0] x[0] x[1] X[1] x[0] e j 21 / 2 x[1] x[0] x[1] which in signal flowgraph notation looks like ... This topology is referred to as the basic butterfly Carnegie Mellon Slide 8 ECE Department The complete 8-point decimation-in-time FFT Carnegie Mellon Slide 9 ECE Department Number of multiplys for N-point FFTs Let N 2 where log2 (N) (log2(N) columns)(N/2 butterflys/column)(2 mults/butterfly) or ~ N log2 (N) multiplys Carnegie Mellon Slide 10 ECE Department Comparing processing with and without FFTs “Slow” DFT requires N mults; FFT requires N log2(N) mults Filtering using FFTs requires 3(N log2(N))+2N mults Let a1 N log2 (N) / N 2 ; a 2 [3(N log2 (N)) N] / N 2 N a2 a1 16 .8124 .25 32 .50 .156 64 .297 .0935 128 .171 .055 256 .097 .031 1024 .0302 .0097 Carnegie Mellon Slide 11 Note: 1024-point FFT Accomplishes a speedup of ~100 for filtering~ 30 ECE Department Additional timesavers: reducing multiplications in the basic butterfly As we derived it, the basic butterfly is of the form WNr WNr N / 2 Since WNN / 2 1 we can reducing computation by 2 by premultiplying by WNr 1 Carnegie Mellon WNr Slide 12 1 ECE Department
© Copyright 2026 Paperzz