Download presentation
Presentation is loading. Please wait.
Published byRobert Brown Modified over 9 years ago
1
Hossein Sameti Department of Computer Engineering Sharif University of Technology
2
Many real-life systems can be modeled by LTI systems use convolution for computing the output use DFT to compute convolution Fast Fourier Transform (FFT) is a method for calculating Discrete Fourier Transform (DFT) Only faster! Definition of DFT: How many computations? 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
3
3 Direct computation: FFT: Ideal case: NDirectFFT 10^3O(10^6)O(10^3*log10^3)=O(10^4) 10^6O(10^12)O(10^6*log10^6)=O(2*10^7) Example: Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
4
4 FFT Decimation in time Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
5
5 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
6
6 N: power of 2 n: evenn: odd n: evenn=2r r:0 N/2-1 n:0 N-2 n: oddn=2r+1 r:0 N/2-1 n:1 N-1 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
7
7 Suppose: What are G(k) and H(k)?
8
8 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
9
9 g(r) h(r) pt. DFT + (twiddle factor) After replication Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
10
10 g(r) h(r) pt. DFT Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
11
11 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
12
12 N/2 pt. DFT block Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
13
13 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
14
14 r(0) r(1) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
15
15 r(0) r(1) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
16
16 Flow graph of a the 2-pt. DFT Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
17
17 How many stages do we have? Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
18
18 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
19
19 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
20
20 2 mults+ 2 adds 1 mult+ 2 adds Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
21
21 In-place computation (only N storage locations are needed) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
22
22 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
23
23 Output indexing is in order. input indexing is shuffled. Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
24
24 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
25
25 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
26
26 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
27
27 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
28
28 1 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
29
29 N/2 pt. DFT of g(n) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
30
30 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
31
31 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
32
32 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
33
33 N/2 pt. DFT of h(n) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
34
34 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
35
35
36
36 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
37
37 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
38
38 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
39
39 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
40
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 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
41
41 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
42
42 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
43
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). 43 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.