<< Chapter < Page Chapter >> Page >
The FFT, an efficient way to compute the DFT, is introduced and derived throughout this module.

FFT
(Fast Fourier Transform) An efficient computational algorithm for computing the DFT .

The fast fourier transform fft

DFT can be expensive to compute directly k 0 k N 1 X k n 0 N 1 x n 2 k N n

For each k , we must execute:

  • N complex multiplies
  • N 1 complex adds
The total cost of direct computation of an N -point DFT is
  • N 2 complex multiplies
  • N N 1 complex adds
How many adds and mults of real numbers are required?

This " O N 2 " computation rapidly gets out of hand, as N gets large:

N 1 10 100 1000 10 6
N 2 1 100 10,000 10 6 10 12

The FFT provides us with a much more efficient way of computing the DFT. The FFT requires only " O N N " computations to compute the N -point DFT.

N 10 100 1000 10 6
N 2 100 10,000 10 6 10 12
N 10 logbase --> N 10 200 3000 6 6

How long is 10 12 sec ? More than 10 days! How long is 6 6 sec ?

The FFT and digital computers revolutionized DSP (1960 - 1980).

How does the fft work?

  • The FFT exploits the symmetries of the complex exponentials W N k n 2 N k n
  • W N k n are called " twiddle factors "

Complex conjugate symmetry

W N k N n W N k n W N k n 2 k N N n 2 k N n 2 k N n

Periodicity in n and k

W N k n W N k N n W N k N n 2 N k n 2 N k N n 2 N k N n W N 2 N

Decimation in time fft

  • Just one of many different FFT algorithms
  • The idea is to build a DFT out of smaller and smaller DFTs by decomposing x n into smaller and smaller subsequences.
  • Assume N 2 m (a power of 2)

Derivation

N is even , so we can complete X k by separating x n into two subsequences each of length N 2 . x n N 2 n even N 2 n odd k 0 k N 1 X k n 0 N 1 x n W N k n X k n 2 r x n W N k n n 2 r 1 x n W N k n where 0 r N 2 1 . So

X k r 0 N 2 1 x 2 r W N 2 k r r 0 N 2 1 x 2 r 1 W N 2 r 1 k r 0 N 2 1 x 2 r W N 2 k r W N k r 0 N 2 1 x 2 r 1 W N 2 k r
where W N 2 2 N 2 2 N 2 W N 2 . So X k r 0 N 2 1 x 2 r W N 2 k r W N k r 0 N 2 1 x 2 r 1 W N 2 k r where r 0 N 2 1 x 2 r W N 2 k r is N 2 -point DFT of even samples ( G k ) and r 0 N 2 1 x 2 r 1 W N 2 k r is N 2 -point DFT of odd samples ( H k ). k 0 k N 1 X k G k W N k H k Decomposition of an N -point DFT as a sum of 2 N 2 -point DFTs.

Why would we want to do this? Because it is more efficient!

Cost to compute an N -point DFT is approximately N 2 complex mults and adds.
But decomposition into 2 N 2 -point DFTs + combination requires only N 2 2 N 2 2 N N 2 2 N where the first part is the number of complex mults and adds for N 2 -point DFT, G k . The second part is the number of complex mults and adds for N 2 -point DFT, H k . The third part is the number of complex mults and adds for combination. And the total is N 2 2 N complex mults and adds.

Savings

For N 1000 , N 2 10 6 N 2 2 N 10 6 2 1000 Because 1000 is small compared to 500,000, N 2 2 N 10 6 2

Got questions? Get instant answers now!

So why stop here?! Keep decomposing. Break each of the N 2 -point DFTs into two N 4 -point DFTs, etc. , ....

We can keep decomposing: N 2 1 N 2 N 4 N 8 N 2 m 1 N 2 m 1 where m 2 logbase --> N times

Computational cost: N -pt DFTtwo N 2 -pt DFTs. The cost is N 2 2 N 2 2 N . So replacing each N 2 -pt DFT with two N 4 -pt DFTs will reduce cost to 2 2 N 4 2 N 2 N 4 N 4 2 2 N N 2 2 2 2 N N 2 2 p p N As we keep going p 3 4 m , where m 2 logbase --> N . We get the cost N 2 2 2 logbase --> N N 2 logbase --> N N 2 N N 2 logbase --> N N N 2 logbase --> N N N 2 logbase --> N is the total number of complex adds and mults.

For large N , cost N 2 logbase --> N or " O N 2 logbase --> N ", since N 2 logbase --> N N for large N .

N 8 point FFT. Summing nodes W n k twiddle multiplication factors.

Weird order of time samples

This is called "butterflies."

Questions & Answers

What is an atom
Mabel Reply
what are the connective tissue
Faith Reply
which part of the brain that controls human body
Mozanto Reply
describe the stage of eghopoisis
alupe Reply
what is a blood vessels
Sani Reply
what is plasma and is component
Fad Reply
what is the anterior
Tito Reply
Means front part of the body
Ibrahim
what is anatomy
Ruth Reply
describe the stage of ehopoisis
alupe
study of structure
Sakinat
To better understand how the different part of the body works. To understand the physiology of the various structures in the body. To differentiate the systems of the human body .
Roseann Reply
what is hypogelersomia
aliyu Reply
what are the parts of the female reproductive system?
Orji Reply
what is anatomy
Divinefavour Reply
what are the six types of synovial joints and their ligaments
Darlington Reply
draw the six types of synovial joint and their ligaments
Darlington
System of human beings
Katumi Reply
System in humans body
Katumi
Diagram of animals and plants cell
Favour Reply
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Fundamentals of signal processing. OpenStax CNX. Nov 26, 2012 Download for free at http://cnx.org/content/col10360/1.4
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Fundamentals of signal processing' conversation and receive update notifications?

Ask