Efficient Computation of The DFT
Efficient Computation of The DFT
x[n]
– Multiplication by a constant x[n]+y[n]
y[n]
– Delay
a
x[n] ax[n]
z-1
x[n] x[n-1]
• Let
N 2 where log 2 (N)
• (log2(N) columns)(N/2 butterflys/column)(2
mults/butterfly)
N log 2 (N)
or ~ multiplys
10/20/20 DFT - Hafiz Malik 12
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 byWNr
WNr 1
10/20/20 DFT - Hafiz Malik 13
Alternate FFT structures
x(n) (1)
( N / 2 ) 1
k
x( n N / 2) WNnk
n 0
x(n) (1)
( N / 2 ) 1
X (k ) 2r
( 1) x(n ( N / 2)) WNn ( 2 r 1)
n 0
( N / 2 ) 1
x(n) x(n ( N / 2))W W
n 0
n
N
nr
N /2
• Comment:
– We will revisit transposed forms again in our discussion of
filter implementation
N 1
X[k] x[n]WNnk
n0
q1 1 q1 1 q1 1
p1rk ( p1r1)k ( p r 2)k
x[ p1r]WN x[ p1r 1]WN x[ p1r 2]WN 1 ...
r0 r0 r0
10/20/20 DFT - Hafiz Malik 34
Non-radix 2 FFTs (continued)
• An arbitrary term of the sum on the previous
panel is
q1 1
x[ p1r l]WN( p1rl)k
r0
q1 1 q1 1
p1rk lk
x[ p1r l]WN WN WN x[ p1r l]Wqrk
lk
1
r0 r0
p1 1 q1 1
X[k] WNlk x[ p1r l]Wqrk
1
l 0 r0
• Comments:
– This procedure can be repeated for subsequent factors of
N
– The amount of computational savings depends on the
extent to which N is “composite”, able to be factored into
small integers
– Generally the smallest factors possible used, with the
exception of some use of radix-4 and radix-8 FFTs
Direct DFT
N FFT
26 64 .02 sec .002 sec
29 512 1 .02 sec
212 4096 67 .2
215 32768 1 hr 11 mins 2
218 262144 3 days 4 hrs 19