Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for...
-
Upload
caren-price -
Category
Documents
-
view
223 -
download
2
Transcript of Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for...
![Page 1: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/1.jpg)
Chapter 12
Fast Fourier Transform
![Page 2: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/2.jpg)
1. Metropolis algorithm for Monte Carlo
2. Simplex method for linear programming
3. Krylov subspace iteration (CG)
4. Decomposition approach to matrix computation (LU, Singular value)
5. The Fortran compiler
6. QR algorithm for eigenvalues
7. Quick sort
8. Fast Fourier transform
9. Integer relation detection
10. Fast multipole
![Page 3: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/3.jpg)
Definition of Fourier Transform
2
2
( ) ( ) , 1
( ) ( ) , 2
i f t
i f t
H f h t e dt i
h t H f e df f
![Page 4: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/4.jpg)
Convolution, Correlation, and Power
( ) ( ) ( ) ( ) ( ) ( )g h t g h t d G f H f
[ * ]( ) ( ) ( ) ( ) ( )g h t g h t d G f H f
Autocorrelation if g = h. Autocorrelation is equal to power spectrum |G(f)|2 in frequency space.
2 2| ( ) | | ( ) |h t dt H f df
Total power:
![Page 5: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/5.jpg)
Sampling Theorem• Let Δ be the spacing in time domain, with hn=h(nΔ), n = …,-2,-1,0,1,2,…, the sampled value of continuous function h(t). Let
fc=1/(2Δ) [Nyquist critical frequency]. Then if H( f ) = 0 for all | f | ≥ fc, then the function h(t) is completely determined by hn. sin 2 ( )
( )( )
cn
n
f t nh t h
t n
![Page 6: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/6.jpg)
AliasingFigure 12.1.1. The continuous function shown in (a) is nonzero only for a finite interval of time T. It follows that its Fourier transform, whose modulus is shown schematically in (b), is not bandwidth limited but has finite amplitude for all frequencies. If the original function is sampled with a sampling interval Δ, as in (a), then the Fourier transform (c) is defined only between plus and minus the Nyquist critical frequency. Power outside that range is folded over or “aliased” into the range. The effect can be eliminated only by low-pass filtering the original function before sampling.
![Page 7: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/7.jpg)
From Continuous to Discrete
• Sample time at interval Δ for N points (N even), tk=kΔ, k = 0, 1, 2, …, N-1.
• Frequency takes values at fn=n/(NΔ), n=-N/2,-N/2+1, …, 0, 1, 2,…,N/2-1.
• Then 12 2
0
21
0
( ) ( ) n n k
Ni f t i f t
n kk
nkN iN
kk
H f h t e dt h e
h e
![Page 8: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/8.jpg)
Discrete Fourier Transform
• Definition
• Some propertiesF is symmetric, FT=F
(FT)* F = N I
F-1=F*/N (inverse transform is obtained by replacing i by –i, and dividing by N)
2 21
0
1 2 4
, ,
1 1 1 1
1 1 1 11 , ,
1 1 1 1 1 1
1 1
nk nkN i iN N
n k N N nkk
H h e or H F h F e
i iF F F
i i
![Page 9: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/9.jpg)
Basic Idea of FFT
• Where HN/2,e is the discrete Fourier transform of N/2 points formed from even set of points, and HN/2,o similar but from odd set of points. This calculation is performed recursively.
12 /
0
2 / 2 /
/ 2 1 / 2 12 /( / 2) 2 / 2 /( / 2)
2 2 10 0
/ 2, / 2,
( )
NN i jk Nk j
j
i jk N i jk Nj j
j even j odd
N Ni jk N i N k i jk N
j jj j
N e k N ok N k
H h e
h e h e
h e e h e
H H
![Page 10: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/10.jpg)
Example for N=8
2 3 4 5 6 70 1 2 3 4 5 6 7
2 4 6 2 4 60 2 4 6 1 3 5 7
4 2 4 4 2 40 4 2 6 1 5 3 7
2 /8
( ) ( ) ( ) ( )
k
i k
H h h h h h h h h
h h h h h h h h
h h h h h h h h
e
(A) The order of input data need to be rearranged (according to binary bit-reversed pattern.
(B) Values for all k can be evaluated in place. No additional memory is needed.
![Page 11: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/11.jpg)
Bit Reversal
![Page 12: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/12.jpg)
Example of FFT
x0
x1
x2
x3
x4
x5
x6
x7
x0
x4
x2
x6
x1
x5
x3
x7
Swap data according to bit reversal
Spacing =1
x0–x4
x2+x6
x2–x6
x1+x5
x1–x5
x3+x7
x3–x7
x0+x4
4= eik 2= eik/2
Spacing =2
x0+x4+x2+x6
x0-x4+i(x2-x6)
x0+x4-(x2+x6)
x0-x4-i(x2-x6)
x1+x5+x3+x7
x1-x5+i(x3-x7)
x1+x5-(x3+x7)
x1-x5-i(x3-x7)
= eik/4
Spacing =4
x0+x4+x2+x6+x1+x5+x3+x7
x0-x4+i(x2-x6)+ei/4 (x1-x5+i(x3-x7))
x0+x4-x2-x6+i(x1+x5-x3-x7)
x0-x4-i(x2-x6)+ ei3/4(x1-x5-i(x3-x7))
x0+x4+x2+x6-(x1+x5+x3+x7)
x0-x4+i(x2-x6)-ei/4 (x1-x5+i(x3-x7))
x0+x4-x2-x6-i(x1+x5-x3-x7)
x0-x4-i(x2-x6)- ei3/4(x1-x5-i(x3-x7))
FT of x in place
F2
F4
F8
![Page 13: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/13.jpg)
Cooley-Tukey bit reversal FFT program
FFT runs in O(N log N)
![Page 14: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/14.jpg)
Input Output
![Page 15: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/15.jpg)
Wavelets
• Fourier transform is local in frequency domain and nonlocal in time
• Wavelet transforms are generalization that is local in both
• Discrete wavelet transform is some kind of matrix transform y = Fx, where FTF=I
• Wavelets are used in data compression and efficient representation of functions
![Page 16: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/16.jpg)
Daubechies Wavelet Filter
The coefficients ci are determined by requirements of orthogonality (FTF=I), and certain “vanishing moments”.
F =
![Page 17: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/17.jpg)
Discrete Wavelet Transform
F
F
F
Apply F to the upper half of the vector only
![Page 18: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/18.jpg)
Suggested Reading and Software
• For a in-depth discussion of FFT algorithms, see C van Loan, “Computational Frameworks for the Fast Fourier Transform”
• For state-of-the-art free software, use FFTW at http://www.fftw.org/
![Page 19: Chapter 12 Fast Fourier Transform. 1.Metropolis algorithm for Monte Carlo 2.Simplex method for linear programming 3.Krylov subspace iteration (CG) 4.Decomposition.](https://reader036.fdocuments.us/reader036/viewer/2022062516/56649daa5503460f94a990cf/html5/thumbnails/19.jpg)
Problem set 8• In the mode-coupling theory of heat transport through materials, one
need to solve a set of coupled nonlinear integral-differential equations numerically as follows:
• (a) Transform the first equation into frequency domain and solve (algebraically) g in terms of . (b) Describe a procedure to solve the system iteratively using FFT.
2
0
mod
( ) ( ) ( ) ( ) 0, 0,1, 2,..., 1
( ) ( ) ( )
(0) 1, (0) 0
( ) 0 and ( ) 0 for 0
t
k k k k k
k i ji j k N
k k
k k
g t t s g s ds g t k N
t g t g t
g g
g t t t
Where k2 are given, and
gk(t) and k(t) are unknown real functions. Dot means time derivative.