Digital Signal Processing Fall 1992 Fast Fourier transform FFT Hossein Sameti Department of Computer Engineering Sharif University of Technology Many reallife systems can be modeled by LTI systems ID: 257309
Download Presentation The PPT/PDF document "CE 40763" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
CE 40763Digital Signal ProcessingFall 1992Fast Fourier transform (FFT)
Hossein SametiDepartment of Computer Engineering Sharif University of TechnologySlide2
Many real-life systems can be modeled by LTI systems use convolution for computing the output use DFT to compute convolutionFast Fourier Transform (FFT) is a method for calculating Discrete Fourier Transform (DFT) Only faster!Definition of DFT:How many computations?Motivation
2
N
pt. DFT of
x(n)
Q: For each
k
:
How many adds and how many mults?
A
: (N-1)
complex adds and
N complex mults.
How many k values do we have?
N
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide3
Motivation3
Direct computation:
FFT:
Ideal case:
N
Direct
FFT
10^3
O(10^6)
O(10^3*log10^3)=O(10^4)
10^6
O(10^12)
O(10^6*log10^6)=O(2*10^7)
Example:
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide4
4Algorithms for calculating FFT
FFTDecimation in timeDecimation in frequency
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide5
Decimation in time5
The main idea: use the
divide and conquer
method
It works by recursively breaking down a problem into two or more sub-problems of the same (or related) type, until these become simple enough to be solved directly.
The solutions to the sub-problems are then combined to give a solution to the original problem.
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide6
Decimation in time6
N
: power of 2
n
: even
n
: odd
n
: even
n=2r
r:0
N/2-1
n:0
N-2
n
: odd
n
=2
r
+1
r:0
N/2-1
n:1
N-1
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide7
7Decimation in time
Suppose:
What are
G(k)
and
H(k)
?Slide8
8Decimation in time
In
G(k)
and
H(k)
,
k
varies between 0 and
N/2-1
.
However, in
X(k) , k varies between 0 and N-1.
Solution: use the relationship between DFS and DFT.
We thus need to replicate G(k) and H(k) “once”, to get X(k).
Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology Slide9
9Decimation in time
g(r)
h(r)
pt. DFT
pt. DFT
+
(twiddle factor)
After replication
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide10
10Decimation in time
g(r)
h(r)
pt. DFT
pt. DFT
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide11
11Example of Decimation in time (
N=8)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide12
12Example of Decimation in time (
N=8)
N/2
pt. DFT block
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide13
13Example of Decimation in time (
N=8)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide14
14Example of Decimation in time (
N=8)
r(0)
r(1)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide15
15Example of Decimation in time (
N=8)
r(0)
r(1)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide16
16Example of Decimation in time (
N=8)
Flow graph of a the 2-pt. DFT
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide17
17Example of Decimation in time (
N=8)
How many stages do we have?
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide18
General form of a butterfly18
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide19
19Revised form of a butterfly
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide20
20Revised form of a butterfly
2 mults+ 2 adds
1 mult+ 2 adds
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide21
Final figure for 8-pt DFT21
In-place computation (only
N
storage locations are needed)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide22
Computational complexity22
How many stages do we have
Each stage has
N
inputs and
N
outputs.
Each butterfly has
2
inputs and
2
outputs.
Each stage has butterflies.
Each butterfly needs 1 mult and 2 adds.
Total number of operations:
adds
mults
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide23
Indexing of the inputs and outputs23
Output indexing is in order.
input indexing is shuffled.
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide24
Bit reversing24
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide25
Re-arranging the input order25
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide26
Re-arranging the input order26
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide27
Decimation in frequency27
The main idea: use the
divide and conquer
method (this time in the frequency domain)
Divide the computation into two parts: even indices of
k
and odd indices of
k
.
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide28
28Decimation in frequency
1
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide29
29Decimation in frequency
N/2 pt. DFT of
g(n)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide30
30
Decimation in frequency
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide31
31Decimation in frequency
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide32
32Decimation in frequency
-1
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide33
33Decimation in frequency
N/2 pt. DFT of
h(n)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide34
34
Decimation in frequency
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide35
35Decimation in frequencySlide36
Format of the Last stage Butterfly in Decimation in frequency 36
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide37
37Decimation in frequency
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide38
38Decimation in frequency (re-order the output)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide39
39Decimation in frequency (ordered input and output)
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide40
Change x with X (i.e., input nodes with output nodes)Change X with x (i.e., output nodes with input nodes)Reverse the order of the flow graphs.The same system function is achieved.
40
Transposition theorem
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide41
41Decimation in frequency
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide42
Transposed version of the previous figure (Decimation in Time)42
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology Slide43
How can we deal with twiddle factors?Should we store them in a table (i.e, use a lookup table) or should we calculate them?What happens if N is not a factor of 2?It can be shown that if N=RQ, then an N pt. DFT can be expressed in terms of R Q-pt. DFT or Q R pt. DFTs (Cooley-Tukey algorithm).
Practical issues
43
Hossein
Sameti, Dept. of Computer Eng., Sharif University of Technology