FAST FOURIER TRANSFORMATION 1/7
V´aclav Hlav´aˇc
Czech Technical University, Faculty of Electrical Engineering Center for Machine Perception, Prague, Czech Republic
hlavac@cmp.felk.cvut.cz
http://cmp.felk.cvut.cz/∼hlavac
2/7
DISCRETE FOURIER TRANSFORMATION
Let fn be an input signal (a sequence), n = 0, . . . , N − 1.
Let Fn be discrete Fourier transformation of fn. Discrete Fourier transformation
Fn ≡
N −1
X
k=0
fn e−2πjknN Inverse discrete Fourier transformation
fn ≡ 1 N
N −1
X
k=0
Fn e2πjknN
3/7
COMPUTATIONAL COMPLEXITY OF
THE DISCRETE FOURIER TRANSFORMATION
Let W be a complex number, W ≡ e−2πjN . Fn ≡
N −1
X
k=0
fn e−2πjknN =
N −1
X
k=0
W nk fk
The vector fk is multiplied by the matrix whose element (n,k) is the complex constant W to the power N · k.
This has the computational complexity O(N2).
4/7
FAST FOURIER TRANSFORMATION
FFT has the complexity O(N log2 N ).
Example:
A sequence of N = 106, 1 µsecond computer.
FFT 30 seconds of CPU time.
DFT 2 weeks of CPU time.
A FFT idea (Danielson, Lanczos, 1942): The DFT of length N can be expressed as sum of two DFTs of length N/2 consisting of odd, resp. even samples.
5/7
FFT, THE PROOF
Fi =
N −1
X
k=0
e−2πjkiN fi
=
(N/2)−1
X
k=0
e−2πji(2k)N f2k +
(N/2)−1
X
k=0
e−2πji(2k+1)
N f2k+1
=
(N/2)−1
X
k=0
e
−2πjik
N/2 f2k + W i
(N/2)−1
X
k=0
e
−2πjik
N/2 f2k+1
= Fie + W i Fio , i = 1, . . . , N
The crucial idea: recursiveness and N is power of 2.
Only log2 N iterations needed.
6/7
FFT, THE PROOF, cont.
Transformations Fie and Fio are periodic in i with length N/2.
What is Fourier transform o length 1? It is just identity.
For every pattern of log2 N e’s and o’s, there is a one-point transform that is just one of input numbers fn,
F eoeeoeo...oee
i = fi for some n .
The next trick is to utilize partial results =⇒ butterfly scheme.
7/7
FFT BUTTERFLY SCHEME