0% found this document useful (0 votes)
49 views

Decimation in Time Algorithm

The Cooley-Tukey algorithm decomposes the computation of a discrete Fourier transform (DFT) of size N into smaller DFTs by splitting the indices into even and odd parts. This decomposition results in two DFTs of size N/2 that can be further broken down recursively. The algorithm can be represented using a signal flow graph notation involving adders, multipliers, and delays. It computes the DFT using on the order of NlogN multiplications compared to N multiplications for the direct DFT algorithm, providing a significant computational savings, especially for large problem sizes.

Uploaded by

Jane B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views

Decimation in Time Algorithm

The Cooley-Tukey algorithm decomposes the computation of a discrete Fourier transform (DFT) of size N into smaller DFTs by splitting the indices into even and odd parts. This decomposition results in two DFTs of size N/2 that can be further broken down recursively. The algorithm can be represented using a signal flow graph notation involving adders, multipliers, and delays. It computes the DFT using on the order of NlogN multiplications compared to N multiplications for the direct DFT algorithm, providing a significant computational savings, especially for large problem sizes.

Uploaded by

Jane B
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

The Cooley-Tukey decimation-in-time algorithm


 Consider the DFT algorithm for an integer power of 2, N  2
N 1 N 1
X[k]   x[n]WN nk   x[n]e  j 2nk / N ; WN  e  j2 / N
k 0 k 0
 Create separate sums for even and odd values of n:

 x[n]WN   x[n]WN
nk nk
X [k ] 
n even n odd

 Letting n  2r for n even and n  2r 1 for n odd, we obtain


 N / 21  N / 2 1
X[k]   x[2r]WN 2rk   x[2r 1]WN 2r1k
r 0 r 0

Carnegie
Mellon Slide 1 ECE Department
The Cooley-Tukey decimation in time algorithm

 Splitting indices in time, we have obtained


 N / 2 1  N / 2 1
 
2 rk k 2
X [k ]  x[2r ](WN ) WN x[2r  1](WN ) rk
r 0 r 0

 But W 2  e  j 2 2 / N  e  j2 /(N / 2)  W and W 2rkW k  W k W rk


N N/2 N N N N/2
So …
(N/ 2)1 ( N/ 2)1
X[k]   x[2r]WNrk/ 2  WNk  x[2r 1]WNrk/ 2
n0 n0

N/2-point DFT of x[2r] N/2-point DFT of x[2r+1]

Carnegie
Mellon Slide 2 ECE Department
Savings so far …

 We have split the DFT computation into two halves:


N 1
X[k]   x[n]WN nk
k 0
( N/ 2)1 ( N/ 2)1
  x[2r]WNrk/ 2  WNk  x[2r 1]WNrk/ 2
n0 n0

 Have we gained anything? Consider the nominal number of


multiplications for
N8
– Original form produces multiplications
8 2  64
– New form produces multiplications
2(4 2 )  8  40
– 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]
a
– Multiplication by a constant x[n] ax[n]
z-1
– Delay x[n] x[n-1]

Carnegie
Mellon Slide 4 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:


1 1
X[k]   x[n]W2nk   x[n]e  j 2nk / 2
n0 n0
 Evaluating for k  0,1 we obtain
X[0]  x[0]  x[1]
X[1]  x[0]  e  j 21 / 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 ~ multiplys
N log2 (N)
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
2 2
 Let 1  N log2 (N) / N ;  2  [3(N log2 (N))  N] / N
N a2 a1
16 .8124 .25 Note: 1024-point FFT
Accomplishes a speedup of ~100
32 .50 .156
64 .297 .0935 for filtering~ 30
128 .171 .055
256 .097 .031
1024 .0302 .0097

Carnegie
Mellon Slide 11 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 W N / 2  1 we can reducing computation by 2 by
N
premultiplying by W r
N

Carnegie
Mellon WNr Slide 12 ECE1
Department

You might also like