This action might not be possible to undo. Are you sure you want to continue?

BooksAudiobooksComicsSheet Music### Categories

### Categories

### Categories

Editors' Picks Books

Hand-picked favorites from

our editors

our editors

Editors' Picks Audiobooks

Hand-picked favorites from

our editors

our editors

Editors' Picks Comics

Hand-picked favorites from

our editors

our editors

Editors' Picks Sheet Music

Hand-picked favorites from

our editors

our editors

Top Books

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Audiobooks

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Comics

What's trending, bestsellers,

award-winners & more

award-winners & more

Top Sheet Music

What's trending, bestsellers,

award-winners & more

award-winners & more

Welcome to Scribd! Start your free trial and access books, documents and more.Find out more

Maxim Raginsky

BME 171: Signals and Systems Duke University

October 17, 2008

Maxim Raginsky

Lecture XI: The Fast Fourier Transform (FFT) algorithm

This lecture Plan for the lecture: 1 2 3 4 5 Recap: the DTFT Limitations of the DTFT The discrete Fourier transform (DFT) Computational limitations of the DFT The Fast Fourier Transform (FFT) algorithm decimation in time main idea analysis 6 Applications of the FFT Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm .

the frequency Ω. the DTFT X (Ω) is deﬁned as ∞ X (Ω) = n=−∞ x[n]e−jnΩ . we have learned about one way of representing discrete-time signals in the frequency domain: the discrete-time Fourier transform (DTFT). It is a 2π -periodic function of a continuous variable. Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm .Recap: discrete-time Fourier transform In the last lecture. For a signal x[n].

). Hence. 3. Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . . 2. . we can use another frequency-domain representation of discrete-time signals: the discrete Fourier transform (DFT). retrieved.Limitations of the DTFT. and processed using digital techniques. discrete Fourier transform (DFT) Most discrete-time signal processing is done on digital computers. It can therefore be stored in memory. unless X (Ω) can be computed in closed form. The DFT is characterized by the memory (or record) length N (= 1. storing it in computer memory and manipulating it is diﬃcult. . and represents a discrete-time signal x[n] by a vector with N complex components. To cope with memory limitations.

the DFT loses some information. if the signal is nonzero outside this range of n. However. . x[N − 1]. we can recover it from {Xk } via the formula 1 x[n] = N N −1 Xk ej 2πnk/N k=0 Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . . . to compute the DFT. the N -point DFT of x[n] is deﬁned as a vector (X0 . . XN −1 ). Hence.Deﬁnition of the DFT Given N . X1 . Note that. k = 0. . we use only the values x[0]. . if the signal is nonzero only for n = 0. . . . . . 1. . where N −1 Xk = n=0 x[n]e−j 2πnk/N . . x[1]. . . N − 1. . N − 1.

1. Thus. . N − 1. (X0 . . XN −1 ) are the values of X (Ω) sampled at Ωk = 2πk/N . . . . . . . Indeed. Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . then the DFT {Xk } can be viewed as a sampled version of the DTFT X (Ω). . k = 0. . . Then N −1 X (Ωk ) = n=0 N −1 x[n]e−jnΩk x[n]e−j 2πnk/N n=0 = = Xk . N − 1. let Ωk = 2πk/N . for k = 0.DFT and DTFT If x[n] = 0 for n < 0 and n ≥ N . . 1.

so we will only count multiplications. Note: it should be pointed out that the procedure discovered by Cooley and Tukey goes back at least to Carl F. we need N 2 complex multiplications. computing it for large values of N is very intensive. requiring on the order of N log2 N multiplications. Fortunately. . we need N complex multiplications and N − 1 additions.) Overall. . that each complex multiplication requires four real multiplications. Gauss (around 1805). XN −1 . in 1965 James Cooley and John Tukey discovered an eﬃcient way of computing the FFT. . (Keep in mind. which is computationally expensive. . A multiplication step is more expensive computationally than an addition step.Computational complexity of the DFT Despite the fact that the DFT is a vector with ﬁnite size. to compute the entire N values X0 . Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . though. In order to compute each N −1 Xk = n=0 x[n]e−j 2πnk/N .

.e. i.e. The FFT algorithm relies on the fact that the task of computing the N -point DFT of a signal can be broken down into two tasks. . N WN = (e−j 2π/N )N = 1. 2. Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . .. This process can be continued recursively.The FFT algorithm We will assume from now on that N is a power of 2.. i. . until we end up with 1-point DFTs. N = 2r for some integer r = 1. To describe this method. we introduce the notation WN = e−j 2π/N Note that WN is the N -th root of unity. each involving an N/2-point DFT. which is referred to as FFT by decimation in time.

. N/2 − 1. . b[n] = x[2n + 1]. N/2 − 1. . . . N/2 − 1 Bk = n=0 b[n]e −j 2πnk/(N/2) = n=0 . k = 0. . 1. n = 0. . Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . . We can compute the N/2-point DFT’s of a[n] and b[n]: N/2−1 N/2−1 Ak = n=0 N/2−1 a[n]e −j 2πnk/(N/2) = n=0 N/2−1 . given x[n]. 1. 1. deﬁne two signals a[n] and b[n] as follows: a[n] = x[2n]. . . . . . .The FFT algorithm We can write N −1 N −1 Xk = n=0 x[n]e−j 2πnk/N = k=0 kn WN . . Now. N/2 − 1 n = 0. 1. k = 0. .

N/2 − 1 k Ak−N/2 − WN Bk . . k = N/2. we need to compute two N/2-point DFTs. the FFT requires only on the order of N log2 N 2 operations. . In this way. . k = 0. Ak and Bk .and odd-numbered components. rather than the N 2 required by the direct method. in order to compute the N -point DFT Xk . . Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . . Note that we can repeat this procedure separately on a[n] and b[n]: split them into even. and then combine the results according to this formula. N/2 + 1. compute the corresponding DFT’s.The FFT algorithm The main idea behind the FFT algorithm lies in the fact that Xk = k Ak + WN Bk . N − 1 Thus. etc. . . 1. .

The FFT algorithm We will prove the FFT formula only for k = 0. . N/2−1 k Ak + WN Bk = n=0 N/2 N/2−1 nk a[n]WN/ 2+ n=0 n=0 k nk b[n]WN/ 2 WN . . WN/ 2 = (e Substituting. . we get N/2 N/2−1 2nk a[n]WN n=0 Ak + k WN Bk = + n=0 b[n]WN (2n+1)k Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . note that −j 2π/(N/2) nk 2nk nk ) = (e−j 2π/N )2nk = WN . . N/2 − 1. 1. k a[n]e−j 2πnk/(N/2) + WN n=0 N/2−1 b[n]e−j 2πnk/(N/2) = Now. the second one is proved in the same way.

Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . Q.The FFT algorithm N/2−1 N/2−1 2nk x[2n]WN + n=0 N −1 n=0 N −1 n ¯k x[¯ n]WN + n ¯ =0 n ¯ even n ¯ =1 n ¯ odd = = N −1 x[2n + 1]WN n ¯k x[¯ n]WN (2n+1)k = n=0 N −1 nk x[n]WN = n=0 x[n]e−j 2πnk/N = Xk .D.E. The same principles can be used to derive the FFT algorithm for the inverse DFT.

N − 1 removal of noise from sampled data – the idea is that “white noise” has a very special frequency-domain behavior. Maxim Raginsky Lecture XI: The Fast Fourier Transform (FFT) algorithm . . provided x[n] and v [n] are zero outside some common range n = 0. which makes it easy to detect and remove. . . Some applications include: eﬃcient approximation of continuous-time Fourier transforms eﬃcient computation of convolutions using the relation x[n] ⋆ v [n] ↔ X (Ω)V (Ω).Applications of FFT The FFT is widely used in signal analysis. .

about fft

about fft

Are you sure?

This action might not be possible to undo. Are you sure you want to continue?

We've moved you to where you read on your other device.

Get the full title to continue

Get the full title to continue listening from where you left off, or restart the preview.

scribd