Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.
|
|
- Christian Ezra Wood
- 5 years ago
- Views:
Transcription
1 Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 018 Instructor: Dr. Sateesh Mane c Sateesh R. Mane Lecture 30 April 7, 018 Fourier Series In this lecture, we continue our study of Fourier series. We shall treat functions of one variable only. We shall study algorithms to perform computations for Fourier series. We shall study the Discrete Fourier Transform (DFT). A particularly important concept is the Fast Fourier Transform (FFT). This lecture requires knowledge of complex numbers. 1
2 30.1 Fourier series using sines and cosines This is a review from a previous lecture, reproduced here for ease of reference. Let f(θ) be a periodic function of and angle θ with period π. We assume f is sufficiently well behaved to justify the relevant calculations or algorithms. 1. For example, the function is absolutely integrable around a circle: π 0 f(θ) dθ <. (30.1.1). The function also has at most a finite number of discontinuities in the interval 0 θ < π. Then f can be expressed (or expanded) in a Fourier series as follows: f(θ) = 1 a 0 + a 1 cos(θ) + a cos(θ) + a 3 cos(3θ) + + b 1 sin(θ) + b sin(θ) + b 3 sin(3θ) + = 1 a [ 0 + aj cos(jθ) + b j sin(jθ) ]. j=1 (30.1.) The coefficients a j and b j are obtained from the function f(θ) via a j = 1 π b j = 1 π π 0 π 0 f(θ) cos(jθ) dθ (j 0), f(θ) sin(jθ) dθ (j > 0). (30.1.3)
3 30. Representation using complex exponentials In all the examples we have studied, the function f(θ) is real, hence all the Fourier coefficients a j amd bj are real. However, this is not the best formulation for efficient numerical computation. Let us reexpress eq. (30.1.) using complex exponentials. Note that e ijθ + e ijθ e ijθ e ijθ a j cos(jθ) + b j sin(jθ) = a j + b j i = 1 [ ] (a j ib j ) e ijθ + (a j + ib j ) e ijθ. (30..1) Let us therefore define complex Fourier harmonics via F 0 = a 0, F j = a j ib j, F j = a j + ib j (j > 0). (30..) The Fourier series using complex Fourier harmonics is given by f(θ) = j= F j e ijθ. (30..3) This is a discrete sum, not an integral, but has the appearance of an inverse Fourier transform. Note the following orthogonality and normalization relations: 1 π e i(m n)θ = δ mn ( < m, n < ). (30..4) π 0 Then the value of F j is obtained from the function f(θ) via F j = 1 π π 0 f(θ) e ijθ dθ ( < j < ). (30..5) The integral is over a finite domain, not the entire real line, but has the appearance of a Fourier transform. 3
4 30.3 Example using complex Fourier harmonics Let us study the same example treated previously for a Fourier series. Let us examine the results when we employ complex Fourier harmonics. The example function is f ex (θ) = 1 A 0 + A 1 cos(θ) + B 1 sin(θ) + A cos(θ) + B sin(θ). (30.3.1) We employ n = 4 points. Hence θ k = kπ/4 = kπ/, for k = 0, 1,, 3. Hence we evaluate the integral in eq. (30..5) using a discrete sum with n points: F j = 1 n n 1 f(θ k ) e ijθ k (j = 0,..., n 1). (30.3.) k=0 For n = 4 and the example function in eq. (30.3.1), this yields F j = 1 [ ] f ex (0) + f ex ( 1 4 π)e ijπ/ + f ex (π)e ijπ + f ex ( 3 π)e ijπ/ = 1 [ ( 1 4 A 0 + A 1 + A ) + ( 1) j ( 1 A 0 + B 1 A ) ] + ( 1) j ( 1 A 0 A 1 + A ) + i j ( 1 A 0 B 1 A ). (30.3.3) We obtain the following results for F 0,..., F 3 : F 0 = 1 4 F 1 = 1 4 F = 1 4 F 3 = 1 4 [ ] ( 1 A 0+A 1 +A )+( 1 A 0+B 1 A )+( 1 A 0 A 1 +A )+( 1 A 0 B 1 A ) [ ( 1 A 0+A 1 +A ) i( 1 A 0+B 1 A ) ( 1 A 0 A 1 +A )+i( 1 A 0 B 1 A ) [ ] ( 1 A 0+A 1 +A ) ( 1 A 0+B 1 A )+( 1 A 0 A 1 +A ) ( 1 A 0 B 1 A ) [ ( 1 A 0+A 1 +A )+i( 1 A 0+B 1 A ) ( 1 A 0 A 1 +A ) i( 1 A 0 B 1 A ) ] ] = 1 A 0, (30.3.4a) = A 1 ib 1, (30.3.4b) =A, (30.3.4c) = A 1 + ib 1. (30.3.4d) The values of F 0 and F 1 are as expected. We calculated the Fourier coefficient F 3 as opposed to F 1, but we obtained the value of F 1 anyway: F 1 = F 3 = A 1 + ib 1. (30.3.5) In general, for any value of n (at least if n is even), the Fourier coefficients wrap around because of the periodicity of the function: F j = F n j. (30.3.6) The Fourier coefficient F n/, i.e. F in our example, yields F n/ = A n/ not 1 A n/. Is this a problem? Not necessarily. 4
5 30.4 Consequences of employing complex Fourier harmonics Let us sum the Fourier series obtained in the example in Sec We obtain the following sum, using eq. (30..3): f sum (θ) = F 0 + F 1 e iθ + F 1 e iθ + F e iθ = 1 A 0 + A 1 ib 1 e iθ + A 1 + ib 1 e iθ + A e iθ = 1 A [ ] 0 + A 1 cos(θ) + B sin(θ) + A cos(θ)+i sin (θ). (30.4.1) We obtain an extra term ia sin(θ) which does not exist in the original function. As we know, we do not obtain the term B sin(θ), which does exist in the original function. Clearly the sum of the series is inaccurate for the j = n/ harmonic, i.e. θ in this example. However, are we making unrealistic demands? We evaluated the function f ex (θ) at only four points. It is unreasonable to expect that the resulting Fourier series will match the original function exactly for all values of θ. Let us evaluate the sum of the series only at the input points θ k = kπ/n, i.e. only at the input values of θ used to derive the series. Then sin(θ) = 0 at all the points θ k = kπ/n, hence the sum of the series equals the original function exactly: f sum (0) = 1 A 0 + A 1 + A =f ex (0), (30.4.a) f sum ( 1 π) = 1 A 0 + B 1 A =f ex ( 1 π), (30.4.b) f sum (π) = 1 A 0 A 1 + A =f ex (π), (30.4.c) f sum ( 3 π) = 1 A 0 B 1 A =f ex ( 3 π). (30.4.d) We therefore deduce the following important fact: In general, for any value of n, the sum of the Fourier series, using complex Fourier harmonics, exactly equals the original function at the n input points θ k = kπ/n. The claim exactly equals the original function must however be interpreted with care. 1. If a continuous signal is sampled using a finite number of values, the input data will in general contain aliased information.. Recall the statements in previous lectures about the Nyquist frequency and aliasing. The statement the sum of the Fourier series,..., exactly equals the original function at the n input points θ k = kπ/n is correct, but the original data may contain aliased information. Using complex Fourier coefficients does not solve the aliasing problem. 5
6 30.5 Convolution of discrete series In the continuous case, the convolution of two functions f(x) and g(x) is given by (f g)(x) = For periodic functions, the convolution is given by a discrete sum. Let the periodic functions be f(θ) and g(θ). f(u)g(x u) du. (30.5.1) We calculate both functions at n points θ k = kπ/n, where k = 0,..., n 1. Denote the resulting function values by f k = f(θ k ) and g k = g(θ k ), respectively. Note also the wrap around relations f k = f n k and h k = g n k. Then for k = 0,..., n 1, the convolution of two discrete series h = f g is given by { n 1 k l (k l 0) h k = (f g) k = f l g κ where κ = (30.5.) n + k l (k l < 0). l=0 In the same way, the convolution H = F G of two Fourier series F j and G j is given by n 1 H j = (F G) j = F l G κ where κ = l=0 { j l (j l 0) n + j l (j l < 0). (30.5.3) 6
7 30.6 Cross-correlation & autocorrelation of discrete series The same ideas in Sec also apply to cross correlation and autocorrelation. In the continuous case, the cross correlation of two functions f(x) and g(x) is given by (f g)(x) = f (u)g(x + u) du. (30.6.1) Employing the same definitions as in Sec. 30.5, the cross correlation of two discrete series h = f g is given by { n 1 h k = (f g) k = fl g k + l (k + l < n) κ where κ = (30.6.) k + l n (k + l n). l=0 The cross correlation H = F G of two Fourier series F j and G j is given by { n 1 H j = (F G) j = Fl G j + l (j + l < n) κ where κ = j + l n (j + l n). l=0 (30.6.3) For autocorrelation we simply set f = g or F = G. Parseval s theorem for discrete series states 1 n n 1 f k = k=0 n 1 F j. (30.6.4) j=0 Let us verify eq. (30.6.4) for the example function f ex. 1. The sum of the absolute squares of the Fourier coefficients is 3 F j = A 0 4 j=0 + A 1 + B 1 + A. (30.6.5). The sum of the absolute squares of the function values is 3 k=0 f k = 1 A 0 + A 1 + A + 1 A 0 + B 1 A + 1 A 0 A 1 + A + 1 A 0 B 1 A (30.6.6) = A 0 + A 1 + B A. 3. Hence Parseval s theorem eq. (30.6.4) is satisfied for the example function f ex : f k = k=0 3 F j = A 0 4 j=0 + A 1 + B 1 + A. (30.6.7) 7
8 30.7 Change of notation Since we shall eventually want to write programming code, it is confusing to use the notation f[k] for the function array and F[j] for the Fourier coefficients array. We change notation to X(θ) for the function. Hence we write X k = X(θ k ). Recall θ k = kπ/n, where k = 0,..., n 1. We continue to denote the Fourier coefficients by F j, where j = 0,..., n 1. 8
9 30.8 Discrete Fourier Transform (DFT) We now define the Discrete Fourier Transform (DFT). We employ n equally spaced data points around the circle θ k = kπ/n, where k = 0,..., n 1. The function values are X k = X(θ k ). Let ω be a primitive n th root of unity, i.e. ω n = 1 and choose ω = e iπ/n. The complex Fourier coefficients are denoted by (F 0,..., F n 1 ). Both (X 0,..., X n 1 ) and (F 0,..., F n 1 ) are complex, in general. The Discrete Fourier Transform (DFT) is given by the following sum: n 1 F j = X(θ k ) e ijθ k = k=0 n 1 ω jk X k (j, k = 0,..., n 1). (30.8.1) k=0 The inverse Discrete Fourier Transform computes (f 0,..., f n 1 ) from (F 0,..., F n 1 ): X k = 1 n 1 F j e ikθ j = 1 n 1 (ω ) jk F j (j, k = 0,..., n 1). (30.8.) n n j=0 j=0 The inverse transform sums the series only at the input points θ = kπ/n, hence it returns the original data values X k exactly. The inverse transform is obtained by the same procedure as the discrete Fourier transform, replacing ω by ω and dividing the sum by n. To avoid the asymmetry of 1/n between eqs. (30.8.1) and (30.8.), many authors prefer to divide by 1/ n in both formulas and write F j = 1 n 1 ω jk X k, X k = 1 n 1 (ω ) jk F j (j, k = 0,..., n 1). (30.8.3) n n k=0 The inverse transform in eq. (30.8.3) is given by simply replacing ω by ω. The standard convention in physics is to employ eqs. (30.8.1) and (30.8.). j=0 We shall employ eqs. (30.8.1) and (30.8.) in this course. Naïvely, the calculations in eqs. (30.8.1) and (30.8.) require O(n ) computations. The Fast Fourier Transform (FFT) can calculate the sums in eqs. (30.8.1) and (30.8.) using O(n log n) computations. The breakthrough was published by Cooley and Tukey in With hindsight, it is now known that others had published O(n log n) algorithms for discrete Fourier transforms before, going back to Gauss in 1805, but the significance of those earlier algorithms was not recognized until after Cooley and Tukey s publication. We shall study the FFT algorithm later in this lecture. 9
10 30.9 FFT: warmup exercise n = 4 Let us consider a Discrete Fourier Transform (DFT) with n = 4 points. Set ω = e iπ/n = e iπ/4. The initial data values are (X 0,..., X n 1 ) = (X 0, X 1, X, X 3 ). The transformed data values are (F 0,..., F n 1 ) = (F 0, F 1, F, F 3 ). We write out the equations in eq. (30.8.1) explicitly to obtain F 0 = X 0 + X 1 + X + X 3, F 1 = X 0 + ωx 1 + ω X + ω 3 X 3, F = X 0 + ω X 1 + ω 4 X + ω 6 X 3, F 3 = X 0 + ω 3 X 1 + ω 6 X + ω 9 X 3. Collect terms on the right hand side in odd/even pairs. Also use ω n = ω 4 = 1. F 0 = X 0 + X + X 1 + X 3, F 1 = X 0 + ω X + ω(x 1 + ω X 3 ), F = X 0 + X + ω (X 1 + X 3 ), F 3 = X 0 + ω X + ω 3 (X 1 + ω X 3 ). (30.9.1) (30.9.) Notice that the X k come in only four combinations. Use E and O for even and odd: E 0 = X 0 + X, O 0 = X 1 + X 3, E 1 = X 0 + ω X = X 0 X, O 1 = X 1 + ω X 3 = X 1 X 3. (30.9.3) This can clearly be formalized, so as to generalize to larger values of n. Define Ω via ( ) 1 0 Ω =. (30.9.4) 0 ω Then note that, using ω n/ = ω = 1, ( ) ( ) ( ) ( F0 E0 1 0 O0 = + F 1 E 1 0 ω O 1 ( ) ( ) ( ) ( F E0 1 0 O0 = 0 ω F 3 E 1 O 1 ) = ) = ( E0 E 1 ( E0 E 1 ) ( O0 + ωo 1 ) ), ). ωo 1 ( O0 (30.9.5) We define F + and F via F + = ( F0 F 1 ), F = ( F F 3 ). (30.9.6) Then we see from above that F + = E + ΩO, F = E ΩO. (30.9.7) 10
11 30.10 FFT: second exercise n = 8 Next let us see how this works for for n = 8 points. Set ω = e iπ/n = e iπ/8. The initial data values are (X 0,..., X n 1 ) = (X 0,..., X 7 ). The transformed data values are (F 0,..., F n 1 ) = (F 0,..., F 7 ). Write this out explicitly (in even/odd blocks) to obtain F 0 F 1 F F 3 F 4 = F 5 F 6 F 7 X 0 +X +X 4 +X 6 +(X 1 +X 3 +X 5 +X 7 ) X 0 +ω X +ω 4 X 4 +ω 6 X 6 +ω(x 1 +ω X 3 +ω 4 X 5 +ω 6 X 7 ) X 0 +ω 4 X +ω 8 X 4 +ω 1 X 6 +ω (X 1 +ω 4 X 3 +ω 8 X 5 +ω 1 X 7 ) X 0 +ω 6 X +ω 1 X 4 +ω 18 X 6 +ω 3 (X 1 +ω 6 X 3 +ω 1 X 5 +ω 18 X 7 ) X 0 +ω 8 X +ω 16 X 4 +ω 4 X 6 +ω 4 (X 1 +ω 8 X 3 +ω 16 X 5 +ω 4 X 7 ) X 0 +ω 10 X +ω 0 X 4 +ω 30 X 6 +ω 5 (X 1 +ω 10 X 3 +ω 0 X 5 +ω 30 X 7 ) X 0 +ω 1 X +ω 4 X 4 +ω 36 X 6 +ω 6 (X 1 +ω 1 X 3 +ω 4 X 5 +ω 36 X 7 ) X 0 +ω 14 X +ω 8 X 4 +ω 4 X 6 +ω 7 (X 1 +ω 14 X 3 +ω 8 X 5 +ω 4 X 7 ). ( ) Use ω n = ω 8 = 1 and ω n/ = ω 4 = 1 to simplify some exponents (but maintain a pattern): F 0 X 0 +X +X 4 +X 6 X 1 +X 3 +X 5 +X 7 X 0 +ω X +ω 4 X 4 +ω 6 X 6 X 0 +ω 4 X +ω 8 X 4 +ω 1 X 6 + ω(x 1 +ω X 3 +ω 4 X 5 +ω 6 X 7 ) ω (X 1 +ω 4 X 3 +ω 8 X 5 +ω 1 X 7 ) X 0 +ω 6 X +ω 1 X 4 +ω 18 X 6 ω 3 (X 1 +ω 6 X 3 +ω 1 X 5 +ω 18 X 7 ) F 1 F F 3 F 4 = F 5 F 6 F 7 X 0 +X +X 4 +X 6 X 0 +ω X +ω 4 X 4 +ω 6 X 6 X 0 +ω 4 X +ω 8 X 4 +ω 1 X 6 X 0 +ω 6 X +ω 1 X 4 +ω 18 X 6 X 1 +X 3 +X 5 +X 7 ω(x 1 +ω X 3 +ω 4 X 5 +ω 6 X 7 ) ω (X 1 +ω 4 X 3 +ω 8 X 5 +ω 1 X 7 ) ω 3 (X 1 +ω 6 X 3 +ω 1 X 5 +ω 18 X 7 ) (30.10.) As before, we observe there are only two independent sets of terms that we need to compute.. We define two blocks E and O as follows: E = O = X 0 +X +X 4 +X 6 X 0 +ω X +ω 4 X 4 +ω 6 X 6 X 0 +ω 4 X +ω 8 X 4 +ω 1 X 6 X 0 +ω 6 X +ω 1 X 4 +ω 18 X 6 X 1 +X 3 +X 5 +X 7 X 1 +ω X 3 +ω 4 X 5 +ω 6 X 7 X 1 +ω 4 X 3 +ω 8 X 5 +ω 1 X 7 X 1 +ω 6 X 3 +ω 1 X 5 +ω 18 X 7,. ( ) Notice that each block is the same as in eq. (30.9.1), with ω = e iπ/4, which is exactly the primitive root of unity in eq. (30.9.1). 11
12 Therefore we can calculate each block E and O usng the algorithm for n = 4. To complete the procedure, we define Ω as follows: 1 Ω = ω ω. ( ) ω 3 We define F + and F (with four components) via F + = F 0 F 1 F F 3, F = F 4 F 5 F 6 F 7. ( ) Then we see from above that once again F + = E + ΩO, F = E ΩO. ( ) 1
13 30.11 FFT: general case n = s The pattern established above for n = 4 and 8 clearly generalizes to n = s for any k 1. We define the primitive root of unity ω s = e iπ/n = e iπ/s. We group the X k into even/odd combinations with n/ components each: X 0 +X +X 4 + +X n X 0 +ωsx +ωsx ωs n X n E k = X 0 +ωsx 4 +ωsx ωs (n ) X n,. X 0 +ωs n X +ωs (n ) X 4 + +ω (n ) / s X n X 1 +X 3 +X 5 + +X n 1 X 1 +ωsx 3 +ωsx ωs n X n 1 O k = X 1 +ωsx 4 3 +ωsx ωs (n ) X n 1.. X 1 +ωs n X 3 +ωs (n ) X 5 + +ω (n ) / s X n 1 ( ) Each block is a Discrete Fourier Transform of n/ points sampled at equal intervals, with ω s = e iπ/(n/) = e iπ/k 1, which is exactly the root of unity required for n/ = k 1. Therefore we calculate each block E k and O k recursively using the algorithm with n/. To complete the procedure, we define Ω k as follows: 1 Ω k = ω s... ω (n/) 1 s. (30.11.) We define F k+ and F k (with n/ components each) via F k,0 F k,1 F k+ =., F k = F k,(n/) 1 Then as before we have F k,n/ F k,(n/)+1. F k,n 1. ( ) F k+ = E k + Ω k O k, F k = E k Ω k O k. ( ) 13
14 30.1 Bit reversal The FFT implementation in Sec is a bit simplistic. At every step of the recursion, we have to collect the points into even/odd sets. Let us see how this works for n = 8, hence we have eight data points (X 0,..., X 7 ). At each stage of the recursion, we want to group the points into sets as follows: ( ) ) X 0 X 0 (X 0 ) X 0 X X 4 (X X 1 X 4 4 ( ) ) X X (X X 3 X ) 6 X 6 (X X 4 6 ( ) ) X 5 X 1 X 1 (X 1 ) X 6 X 3 X 5 (X X 7 X 5 5 ( ) ) X 3 (X 3 X ) 7 (X 7 X 7 (30.1.1) It would therefore be helpful if we sorted the points in the following order: X 0 X 1 X X 3 X 4 X 5 X 6 X 7 sort The sorting procedure is given by bit reversal. X 0 X 4 X X 6 X 1. (30.1.) X 5 X 3 X 7 Write the indices (0, 1,..., 7) in binary and reverse the binary digits. The result is the desired sort. j binary bit reverse sorted
15 What are the sums we obtain? X 0 + X 4 + (X + X 6 ) F 0 X 0 X 4 + (X X 6 )ω F 1 X 0 + X 4 (X + X 6 ) F F 3 X 0 X 4 (X X 6 )ω F 4 F 5 X 1 + X 5 + (X 3 + X 7 ) F 6 X 1 X 5 + (X 3 X 7 )ω F 7 X 1 + X 5 (X 3 + X 7 ) X 1 X 5 (X 3 X 7 )ω ( ) ) X 0 + X 4 (X 0 ) X 0 X 4 (X 4 ( ) ) X + X 6 (X ) X X 6 (X 6 ( ) ) X 1 + X 5 (X 1 ) X 1 X 5 (X 5 ( ) ) X 3 + X 7 (X 3 ) X 3 X 7 (X 7 (30.1.3) Do we obtain the correct answer? Let us check. Note that ω = ω 3 and ω4 3 = 1. F 0 = X 0 + X 4 + (X + X 6 ) + [X 1 + X 5 + (X 3 + X 7 )] = X 0 + X 1 + X + X 3 + X 4 + X 5 + X 3 + X 7, (30.1.4a) F 1 = X 0 X 4 + ω (X X 6 ) + ω 3 [X 1 X 5 + ω (X 3 X 7 )] = X 0 + ω 3 X 1 + ω 3X + ω 3 3X 3 + ω 4 3X 4 + ω 5 3X 5 + ω 6 3X 6 + ω 7 3X 7, (30.1.4b) F = X 0 + X 4 (X + X 6 ) + ω 3[X 1 + X 5 (X 3 + X 7 )] = X 0 + ω 3X 1 + ω 4 3X + ω 6 3X 3 + ω 8 3X 4 + ω 10 3 X 5 + ω 1 3 X 6 + ω 14 3 X 7, (30.1.4c) F 3 = X 0 X 4 ω (X X 6 ) + ω 3 3[X 1 X 5 ω (X 3 X 7 )] = X 0 + ω 3 3X 1 + ω 6 3X + ω 9 3X 3 + ω 1 3 X 4 + ω 15 3 X 5 + ω 18 3 X 6 + ω 1 3 X 7, (30.1.4d) F 4 = X 0 + X 4 + (X + X 6 ) [X 1 + X 5 + (X 3 + X 7 )] = X 0 + ω 4 3X 1 + ω 8 3X + ω 1 3 X 3 + ω 16 3 X 4 + ω 0 3 X 5 + ω 4 3 X 6 + ω 8 3 X 7, (30.1.4e) F 5 = X 0 X 4 + ω (X X 6 ) ω 3 [X 1 X 5 + ω (X 3 X 7 )] = X 0 + ω 5 3X 1 + ω 10 3 X + ω 15 3 X 3 + ω 0 3 X 4 + ω 5 3 X 5 + ω 30 3 X 6 + ω 35 3 X 7, (30.1.4f) F 6 = X 0 + X 4 (X + X 6 ) ω 3[X 1 + X 5 (X 3 + X 7 )] = X 0 + ω 6 3X 1 + ω 1 3 X + ω 18 3 X 3 + ω 4 3 X 4 + ω 30 3 X 5 + ω 36 3 X 6 + ω 4 3 X 7, (30.1.4g) F 7 = X 0 X 4 ω (X X 6 ) ω 3 3[X 1 X 5 ω (X 3 X 7 )] = X 0 + ω 7 3X 1 + ω 14 3 X + ω 1 3 X 3 + ω 8 3 X 4 + ω 35 3 X 5 + ω 4 3 X 6 + ω 49 3 X 7. (30.1.4h) Hence if we sort (or rearrange) the input data (X 0,..., X n 1 ) using bit-reversal, the algorithm in Sec can be implemented straightforwardly. Computational complexity. Observe that the number of computations (multiplications) is about = 8 3 = 8 log 8 = O(n log n). 15
16 30.13 Is bit reversal necessary? Recursion? Extra memory storage? Neither bit reversal, recursion nor extra memory storage are necessary. There exist FFT implementations which do not require bit reversal. Recursion: the FFT algorithm can be formulated using a set of nested loops. Extra memory storage: study the calculations in Sec At every step of the recursion (three steps because n = 3 = 8), we have n computed values. For example in the first calculation we have (X 0 + X 4, X 0 X 4, X + X 6, X X 6, X 1 + X 5, X 1 X 5, X 3 + X 7, X 3 X 7 ). The values can be held in an array of length n, which is (F 0,..., F n 1 ) itself. All the results of computations can be stored in place in the array (F 0,..., F n 1 ). The even/odd arrays E and O can be held in (F 0,..., F n 1 ) itself. A few temporary variables may be required, but no extra memory of length n or n/, etc. 16
17 30.14 FFT review Main routine Let us review the the steps of the FFT algorithm. We consider only inputs where the number of points n is a power of. There are FFT algorithms for other values of n but we do not consider them. We begin with a bit reversal of the input data (X 0,..., X n 1 ). 1. Some authors perform the bit reversal in place and overwrite the input data.. We store the bit reversed data in a separate array and do not overwrite the input data. 3. Let us denote the bit reversed array by R = (R 0,..., R n 1 ). We compute the primitive root of unity ω = e iπ/n. For the inverse we compute ω = e iπ/n. We call a lower level function to compute the FFT recursively, with inputs n, ω and R. For the inverse FFT, after the recursion is over, we divide (F 0,..., F n 1 ) by n Recursion If n = 1, we set F 0 = R 0 and return. If n =, we set F 0 = R 0 + R 1 and F 1 = R 0 R 1 and return. Note in this context that F and R are arrays which have been passed to a recursive function call. They are not the array indices F[0], F[1], R[0], R[1] of the original arrays in the top level FFT routine. If n >, we proceed as follows. First define a temporary variable w = ω. Declare temporary arrays Even and Odd of length n/. The arrays Even and Odd do not require additional memory. They can be implemented as pointers to sections of the array F. Call the FFT routine recursively twice, once to compute Even and once for Odd. 1. The inputs to the recursive calls are n/, w and suitable sections of the array R.. Note that in a recursive function call, the parameters n and ω do not necessarily have the same values as in the top level routine. 3. The compiler will take care of the details. After both recursive calls have completed, compute F + and F from Even and Odd. Both F + and F can be stored in place in the array F. 17
18 30.15 FFT code Bit reversal There are multiple ways to code the bit reversal. int bit_reverse(int num_bits, int n) { int r = 0; for (int i=0; i < num_bits; ++i) { int rem = (n & 1); r = r* + rem; n /= ; return r; int bit_reverse(int num_bits, int n) { const int nmax = 1 << (num_bits-1); // ^(num_bits-1) int r = 0; for (int i = 0; i < num_bits; ++i) { int j = (1 << i); if (n & j) { int k = nmax >> i; r = k; return r; 18
19 FFT recursion static void FFT_recursion(int npts, const std::complex<double> & omega, const std::complex<double> * R, std::complex<double> * F) { if (npts == 1) { F[0] = R[0]; return; if (npts == ) { F[0] = R[0] + R[1]; F[1] = R[0] - R[1]; return; const std::complex<double> w = omega*omega; const int nhalf = npts/; std::complex<double> * Even = F; std::complex<double> * Odd = F + nhalf; FFT_recursion(nhalf, w, R, Even); // use array f, no extra storage required FFT_recursion(nhalf, w, R+nhalf, Odd); // use array f, no extra storage required std::complex<double> wtmp(1.0, 0.0); for (int i = 0; i < nhalf; ++i) { std::complex<double> Fplus = Even[i] + wtmp*odd[i]; // Even + Omega*Odd std::complex<double> Fminus = Even[i] - wtmp*odd[i]; // Even - Omega*Odd F[i] = Fplus; F[i+nhalf] = Fminus; wtmp *= omega; 19
20 FFT top level function static void FFT_top(bool inverse, int num_bits, int npts, const std::complex<double> * X, std::complex<double> * F) { // bit reversal std::complex<double> R[npts]; for (int i = 0; i < npts; ++i) { int i_rev = bit_reverse(num_bits, i); R[i_rev] = X[i]; // primitive root of unity const double pi = 4.0*atan(1.0,1.0); double ang =.0*pi/npts; if (inverse) ang = -ang; std::complex<double> omega(cos(ang), -sin(ang)); // note the minus sign // FFT recursion FFT_recursion(npts, omega, R, F); if (inverse) { double ndbl = double(npts); for (int i = 0; i < npts; ++i) { F[i] /= ndbl; 0
Computational Methods CMSC/AMSC/MAPL 460
Computational Methods CMSC/AMSC/MAPL 460 Fourier transform Balaji Vasan Srinivasan Dept of Computer Science Several slides from Prof Healy s course at UMD Last time: Fourier analysis F(t) = A 0 /2 + A
More informationQueens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.
Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane c Sateesh R. Mane 2018 3 Lecture 3 3.1 General remarks March 4, 2018 This
More information6 Lecture 6b: the Euler Maclaurin formula
Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Fall 217 Instructor: Dr. Sateesh Mane c Sateesh R. Mane 217 March 26, 218 6 Lecture 6b: the Euler Maclaurin formula
More informationE The Fast Fourier Transform
Fourier Transform Methods in Finance By Umberto Cherubini Giovanni Della Lunga Sabrina Mulinacci Pietro Rossi Copyright 2010 John Wiley & Sons Ltd E The Fast Fourier Transform E.1 DISCRETE FOURIER TRASFORM
More informationFFTs in Graphics and Vision. Homogenous Polynomials and Irreducible Representations
FFTs in Graphics and Vision Homogenous Polynomials and Irreducible Representations 1 Outline The 2π Term in Assignment 1 Homogenous Polynomials Representations of Functions on the Unit-Circle Sub-Representations
More informationSolutions to Tutorial for Week 3
The University of Sydney School of Mathematics and Statistics Solutions to Tutorial for Week 3 MATH9/93: Calculus of One Variable (Advanced) Semester, 08 Web Page: sydney.edu.au/science/maths/u/ug/jm/math9/
More informationDiscrete Fourier Transform
Last lecture I introduced the idea that any function defined on x 0,..., N 1 could be written a sum of sines and cosines. There are two different reasons why this is useful. The first is a general one,
More informationScientific Computing: An Introductory Survey
Scientific Computing: An Introductory Survey Chapter 12 Prof. Michael T. Heath Department of Computer Science University of Illinois at Urbana-Champaign Copyright c 2002. Reproduction permitted for noncommercial,
More informationMATH 220: INNER PRODUCT SPACES, SYMMETRIC OPERATORS, ORTHOGONALITY
MATH 22: INNER PRODUCT SPACES, SYMMETRIC OPERATORS, ORTHOGONALITY When discussing separation of variables, we noted that at the last step we need to express the inhomogeneous initial or boundary data as
More informationLecture Notes for Math 251: ODE and PDE. Lecture 12: 3.3 Complex Roots of the Characteristic Equation
Lecture Notes for Math 21: ODE and PDE. Lecture 12: 3.3 Complex Roots of the Characteristic Equation Shawn D. Ryan Spring 2012 1 Complex Roots of the Characteristic Equation Last Time: We considered the
More informationAdvanced Computational Fluid Dynamics AA215A Lecture 2 Approximation Theory. Antony Jameson
Advanced Computational Fluid Dynamics AA5A Lecture Approximation Theory Antony Jameson Winter Quarter, 6, Stanford, CA Last revised on January 7, 6 Contents Approximation Theory. Least Squares Approximation
More informationQueens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.
Queens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane c Sateesh R. Mane 2018 8 Lecture 8 8.1 Matrices July 22, 2018 We shall study
More information3 rd class Mech. Eng. Dept. hamdiahmed.weebly.com Fourier Series
Definition 1 Fourier Series A function f is said to be piecewise continuous on [a, b] if there exists finitely many points a = x 1 < x 2
More informationCSCI Honor seminar in algorithms Homework 2 Solution
CSCI 493.55 Honor seminar in algorithms Homework 2 Solution Saad Mneimneh Visiting Professor Hunter College of CUNY Problem 1: Rabin-Karp string matching Consider a binary string s of length n and another
More informationJim Lambers ENERGY 281 Spring Quarter Lecture 5 Notes
Jim ambers ENERGY 28 Spring Quarter 27-8 ecture 5 Notes These notes are based on Rosalind Archer s PE28 lecture notes, with some revisions by Jim ambers. Fourier Series Recall that in ecture 2, when we
More information8.2 Graphs of Polar Equations
8. Graphs of Polar Equations Definition: A polar equation is an equation whose variables are polar coordinates. One method used to graph a polar equation is to convert the equation to rectangular form.
More informationInterpolation on the unit circle
Lecture 2: The Fast Discrete Fourier Transform Interpolation on the unit circle So far, we have considered interpolation of functions at nodes on the real line. When we model periodic phenomena, it is
More information23.6. The Complex Form. Introduction. Prerequisites. Learning Outcomes
he Complex Form 3.6 Introduction In this Section we show how a Fourier series can be expressed more concisely if we introduce the complex number i where i =. By utilising the Euler relation: e iθ cos θ
More informationPhysics 6303 Lecture 11 September 24, LAST TIME: Cylindrical coordinates, spherical coordinates, and Legendre s equation
Physics 6303 Lecture September 24, 208 LAST TIME: Cylindrical coordinates, spherical coordinates, and Legendre s equation, l l l l l l. Consider problems that are no axisymmetric; i.e., the potential depends
More informationFrequency-domain representation of discrete-time signals
4 Frequency-domain representation of discrete-time signals So far we have been looing at signals as a function of time or an index in time. Just lie continuous-time signals, we can view a time signal as
More informationx (2) k even h n=(n) + (n+% x(6) X(3), x (5) 4 x(4)- x(), x (2), Decomposition of an N-point DFT into 2 N/2-point DFT's.
COMPUTATION OF DISCRETE FOURIER TRANSFORM - PART 2 1. Lecture 19-49 minutes k even n.o h n=(n) + (n+% x (2), x (2) x(4)- x(6) Decomposition of an N-point DFT into 2 N/2-point DFT's. X(3), x (5) 4 x(),
More informationMath 489AB A Very Brief Intro to Fourier Series Fall 2008
Math 489AB A Very Brief Intro to Fourier Series Fall 8 Contents Fourier Series. The coefficients........................................ Convergence......................................... 4.3 Convergence
More informationFast Polynomial Multiplication
Fast Polynomial Multiplication Marc Moreno Maza CS 9652, October 4, 2017 Plan Primitive roots of unity The discrete Fourier transform Convolution of polynomials The fast Fourier transform Fast convolution
More informationFundamentals of the DFT (fft) Algorithms
Fundamentals of the DFT (fft) Algorithms D. Sundararajan November 6, 9 Contents 1 The PM DIF DFT Algorithm 1.1 Half-wave symmetry of periodic waveforms.............. 1. The DFT definition and the half-wave
More informationToday s lecture. The Fourier transform. Sampling, aliasing, interpolation The Fast Fourier Transform (FFT) algorithm
Today s lecture The Fourier transform What is it? What is it useful for? What are its properties? Sampling, aliasing, interpolation The Fast Fourier Transform (FFT) algorithm Jean Baptiste Joseph Fourier
More informationExamples of the Fourier Theorem (Sect. 10.3). The Fourier Theorem: Continuous case.
s of the Fourier Theorem (Sect. 1.3. The Fourier Theorem: Continuous case. : Using the Fourier Theorem. The Fourier Theorem: Piecewise continuous case. : Using the Fourier Theorem. The Fourier Theorem:
More informationTutorial 2 - Learning about the Discrete Fourier Transform
Tutorial - Learning about the Discrete Fourier Transform This tutorial will be about the Discrete Fourier Transform basis, or the DFT basis in short. What is a basis? If we google define basis, we get:
More informationCS711008Z Algorithm Design and Analysis
CS711008Z Algorithm Design and Analysis Lecture 5 FFT and Divide and Conquer Dongbo Bu Institute of Computing Technology Chinese Academy of Sciences, Beijing, China 1 / 56 Outline DFT: evaluate a polynomial
More informationThe Fourier Transform (and more )
The Fourier Transform (and more ) imrod Peleg ov. 5 Outline Introduce Fourier series and transforms Introduce Discrete Time Fourier Transforms, (DTFT) Introduce Discrete Fourier Transforms (DFT) Consider
More information8/19/16. Fourier Analysis. Fourier analysis: the dial tone phone. Fourier analysis: the dial tone phone
Patrice Koehl Department of Biological Sciences National University of Singapore http://www.cs.ucdavis.edu/~koehl/teaching/bl5229 koehl@cs.ucdavis.edu Fourier analysis: the dial tone phone We use Fourier
More informationSEISMIC WAVE PROPAGATION. Lecture 2: Fourier Analysis
SEISMIC WAVE PROPAGATION Lecture 2: Fourier Analysis Fourier Series & Fourier Transforms Fourier Series Review of trigonometric identities Analysing the square wave Fourier Transform Transforms of some
More informationDiscrete Fourier Transform
Discrete Fourier Transform Valentina Hubeika, Jan Černocký DCGM FIT BUT Brno, {ihubeika,cernocky}@fit.vutbr.cz Diskrete Fourier transform (DFT) We have just one problem with DFS that needs to be solved.
More informationf(x)e ikx dx. (1) f(k)e ikx dk. (2) e ikx dx = 2sinak. k f g(x) = g f(x) = f(s)e iks ds
Mathematical Methods: Page 15 2 Fourier transforms 2.1 Integral transforms The Fourier transform is studied in this chapter and the Laplace transform in the next. They are both integral transforms that
More informationSequential Fast Fourier Transform (PSC ) Sequential FFT
Sequential Fast Fourier Transform (PSC 3.1 3.2) 1 / 18 Applications of Fourier analysis Fourier analysis studies the decomposition of functions into their frequency components. Piano Concerto no. 9 by
More informationFast Fourier Transform
Why Fourier Transform? Fast Fourier Transform Jordi Cortadella and Jordi Petit Department of Computer Science Polynomials: coefficient representation Divide & Conquer Dept. CS, UPC Polynomials: point-value
More informationMARN 5898 Fourier Analysis.
MAR 5898 Fourier Analysis. Dmitriy Leykekhman Spring 2010 Goals Fourier Series. Discrete Fourier Transforms. D. Leykekhman - MAR 5898 Parameter estimation in marine sciences Linear Least Squares 1 Complex
More informationProject 2 The Threaded Two Dimensional Discrete Fourier Transform
ECE6122/6122 Spring Semester, 2017 Project 2 The Threaded Two Dimensional Discrete Fourier Transform Assigned: Feb 1, 2017 Due: Feb 15, 2017, 11:59pm Given a one dimensional array of complex or real input
More information!Sketch f(t) over one period. Show that the Fourier Series for f(t) is as given below. What is θ 1?
Second Year Engineering Mathematics Laboratory Michaelmas Term 998 -M L G Oldfield 30 September, 999 Exercise : Fourier Series & Transforms Revision 4 Answer all parts of Section A and B which are marked
More information[ ], [ ] [ ] [ ] = [ ] [ ] [ ]{ [ 1] [ 2]
4. he discrete Fourier transform (DF). Application goal We study the discrete Fourier transform (DF) and its applications: spectral analysis and linear operations as convolution and correlation. We use
More informationFOURIER SERIES, HAAR WAVELETS AND FAST FOURIER TRANSFORM
FOURIER SERIES, HAAR WAVELETS AD FAST FOURIER TRASFORM VESA KAARIOJA, JESSE RAILO AD SAMULI SILTAE Abstract. This handout is for the course Applications of matrix computations at the University of Helsinki
More information2.161 Signal Processing: Continuous and Discrete Fall 2008
MIT OpenCourseWare http://ocw.mit.edu 2.161 Signal rocessing: Continuous and Discrete Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Massachusetts
More informationThe Fast Fourier Transform. Andreas Klappenecker
The Fast Fourier Transform Andreas Klappenecker Motivation There are few algorithms that had more impact on modern society than the fast Fourier transform and its relatives. The applications of the fast
More informationChapter 2 Algorithms for Periodic Functions
Chapter 2 Algorithms for Periodic Functions In this chapter we show how to compute the Discrete Fourier Transform using a Fast Fourier Transform (FFT) algorithm, including not-so special case situations
More information1 Complex Numbers. 1.1 Sums and Products
1 Complex Numbers 1.1 Sums Products Definition: The complex plane, denoted C is the set of all ordered pairs (x, y) with x, y R, where Re z = x is called the real part Imz = y is called the imaginary part.
More information23. The Finite Fourier Transform and the Fast Fourier Transform Algorithm
23. The Finite Fourier Transform and the Fast Fourier Transform Algorithm 23.1 Introduction: Fourier Series Early in the Nineteenth Century, Fourier studied sound and oscillatory motion and conceived of
More informationFourier Transforms For additional information, see the classic book The Fourier Transform and its Applications by Ronald N. Bracewell (which is on the shelves of most radio astronomers) and the Wikipedia
More informationC. Complex Numbers. 1. Complex arithmetic.
C. Complex Numbers. Complex arithmetic. Most people think that complex numbers arose from attempts to solve quadratic equations, but actually it was in connection with cubic equations they first appeared.
More informationErrata List Numerical Mathematics and Computing, 7th Edition Ward Cheney & David Kincaid Cengage Learning (c) March 2013
Chapter Errata List Numerical Mathematics and Computing, 7th Edition Ward Cheney & David Kincaid Cengage Learning (c) 202 9 March 203 Page 4, Summary, 2nd bullet item, line 4: Change A segment of to The
More informationCS168: The Modern Algorithmic Toolbox Lecture #11: The Fourier Transform and Convolution
CS168: The Modern Algorithmic Toolbox Lecture #11: The Fourier Transform and Convolution Tim Roughgarden & Gregory Valiant May 8, 2015 1 Intro Thus far, we have seen a number of different approaches to
More informationAlgorithms of Scientific Computing
Algorithms of Scientific Computing Discrete Fourier Transform (DFT) Michael Bader Technical University of Munich Summer 2018 Fast Fourier Transform Outline Discrete Fourier transform Fast Fourier transform
More informationComputational Methods for Astrophysics: Fourier Transforms
Computational Methods for Astrophysics: Fourier Transforms John T. Whelan (filling in for Joshua Faber) April 27, 2011 John T. Whelan April 27, 2011 Fourier Transforms 1/13 Fourier Analysis Outline: Fourier
More informationInformation and Communications Security: Encryption and Information Hiding
Short Course on Information and Communications Security: Encryption and Information Hiding Tuesday, 10 March Friday, 13 March, 2015 Lecture 5: Signal Analysis Contents The complex exponential The complex
More informationLecture 7 January 26, 2016
MATH 262/CME 372: Applied Fourier Analysis and Winter 26 Elements of Modern Signal Processing Lecture 7 January 26, 26 Prof Emmanuel Candes Scribe: Carlos A Sing-Long, Edited by E Bates Outline Agenda:
More informationQuick Sort Notes , Spring 2010
Quick Sort Notes 18.310, Spring 2010 0.1 Randomized Median Finding In a previous lecture, we discussed the problem of finding the median of a list of m elements, or more generally the element of rank m.
More informationLecture 5. The Digital Fourier Transform. (Based, in part, on The Scientist and Engineer's Guide to Digital Signal Processing by Steven Smith)
Lecture 5 The Digital Fourier Transform (Based, in part, on The Scientist and Engineer's Guide to Digital Signal Processing by Steven Smith) 1 -. 8 -. 6 -. 4 -. 2-1 -. 8 -. 6 -. 4 -. 2 -. 2. 4. 6. 8 1
More informationPhysics 250 Green s functions for ordinary differential equations
Physics 25 Green s functions for ordinary differential equations Peter Young November 25, 27 Homogeneous Equations We have already discussed second order linear homogeneous differential equations, which
More informationFast Convolution; Strassen s Method
Fast Convolution; Strassen s Method 1 Fast Convolution reduction to subquadratic time polynomial evaluation at complex roots of unity interpolation via evaluation at complex roots of unity 2 The Master
More informationELEG 305: Digital Signal Processing
ELEG 5: Digital Signal Processing Lecture 6: The Fast Fourier Transform; Radix Decimatation in Time Kenneth E. Barner Department of Electrical and Computer Engineering University of Delaware Fall 8 K.
More informationThe Gibbs Phenomenon
The Gibbs Phenomenon Eli Dean & Britton Girard Math 572, Fall 2013 December 4, 2013 1. Introduction 1 S N f(x) := f(n)e inx := 1 2π n N n N denotes the partial Fourier sum for f at the point x f(x)e inx
More informationFast and Small: Multiplying Polynomials without Extra Space
Fast and Small: Multiplying Polynomials without Extra Space Daniel S. Roche Symbolic Computation Group School of Computer Science University of Waterloo CECM Day SFU, Vancouver, 24 July 2009 Preliminaries
More informationMathematical Methods for Computer Science
Mathematical Methods for Computer Science Computer Laboratory Computer Science Tripos, Part IB Michaelmas Term 2016/17 Professor J. Daugman Exercise problems Fourier and related methods 15 JJ Thomson Avenue
More informationQueens College, CUNY, Department of Computer Science Numerical Methods CSCI 361 / 761 Spring 2018 Instructor: Dr. Sateesh Mane.
Queens College, CUNY, Department of Computer Scence Numercal Methods CSCI 361 / 761 Sprng 2018 Instructor: Dr. Sateesh Mane c Sateesh R. Mane 2018 16 Lecture 16a May 3, 2018 Numercal soluton of systems
More informationFourier and Partial Differential Equations
Chapter 5 Fourier and Partial Differential Equations 5.1 Fourier MATH 294 SPRING 1982 FINAL # 5 5.1.1 Consider the function 2x, 0 x 1. a) Sketch the odd extension of this function on 1 x 1. b) Expand the
More informationResponse to Periodic and Non-periodic Loadings. Giacomo Boffi.
Periodic and Non-periodic http://intranet.dica.polimi.it/people/boffi-giacomo Dipartimento di Ingegneria Civile Ambientale e Territoriale Politecnico di Milano March 7, 218 Outline Undamped SDOF systems
More informationSparse Fourier Transform (lecture 1)
1 / 73 Sparse Fourier Transform (lecture 1) Michael Kapralov 1 1 IBM Watson EPFL St. Petersburg CS Club November 2015 2 / 73 Given x C n, compute the Discrete Fourier Transform (DFT) of x: x i = 1 x n
More informationCSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication )
CSE 548: Analysis of Algorithms Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 2015 Coefficient Representation
More informationDesign and Analysis of Algorithms
Design and Analysis of Algorithms CSE 5311 Lecture 5 Divide and Conquer: Fast Fourier Transform Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms
More informationComputational Data Analysis!
12.714 Computational Data Analysis! Alan Chave (alan@whoi.edu)! Thomas Herring (tah@mit.edu),! http://geoweb.mit.edu/~tah/12.714! Concentration Problem:! Today s class! Signals that are near time and band
More informationIntroduction to Quantum Computing
Introduction to Quantum Computing The lecture notes were prepared according to Peter Shor s papers Quantum Computing and Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a
More informationImage Analysis. 3. Fourier Transform
Image Analysis Image Analysis 3. Fourier Transform Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL) Institute for Business Economics and Information Systems & Institute for Computer
More information000=0 001=1 010=2 011=3 100=4 101=5 110=6 111=7 000=0 100=4 010=2 110=6 001=1 101=5 011=3 111=7
8 CHAPTER : Fourier Series The second idea behind the FFT concerns how to get the correct h k s into the final DFT s of size. If the subscripts to 7 of the h k s are written in binary form, as shown in
More informationCONVERGENCE OF THE FOURIER SERIES
CONVERGENCE OF THE FOURIER SERIES SHAW HAGIWARA Abstract. The Fourier series is a expression of a periodic, integrable function as a sum of a basis of trigonometric polynomials. In the following, we first
More informationFFTs in Graphics and Vision. The Laplace Operator
FFTs in Graphics and Vision The Laplace Operator 1 Outline Math Stuff Symmetric/Hermitian Matrices Lagrange Multipliers Diagonalizing Symmetric Matrices The Laplacian Operator 2 Linear Operators Definition:
More informationFourier Series Example
Fourier Series Example Let us compute the Fourier series for the function on the interval [ π,π]. f(x) = x f is an odd function, so the a n are zero, and thus the Fourier series will be of the form f(x)
More informationIn Z: x + 3 = 2 3x = 2 x = 1 No solution In Q: 3x = 2 x 2 = 2. x = 2 No solution. In R: x 2 = 2 x = 0 x = ± 2 No solution Z Q.
THE UNIVERSITY OF NEW SOUTH WALES SCHOOL OF MATHEMATICS AND STATISTICS MATH 1141 HIGHER MATHEMATICS 1A ALGEBRA. Section 1: - Complex Numbers. 1. The Number Systems. Let us begin by trying to solve various
More information) z r θ ( ) ( ) ( ) = then. Complete Solutions to Examination Questions Complete Solutions to Examination Questions 10.
Complete Solutions to Examination Questions 0 Complete Solutions to Examination Questions 0. (i We need to determine + given + j, j: + + j + j (ii The product ( ( + j6 + 6 j 8 + j is given by ( + j( j
More informationSET 1. (1) Solve for x: (a) e 2x = 5 3x
() Solve for x: (a) e x = 5 3x SET We take natural log on both sides: ln(e x ) = ln(5 3x ) x = 3 x ln(5) Now we take log base on both sides: log ( x ) = log (3 x ln 5) x = log (3 x ) + log (ln(5)) x x
More informationThe Fourier transform allows an arbitrary function to be represented in terms of simple sinusoids. The Fourier transform (FT) of a function f(t) is
1 Introduction Here is something I wrote many years ago while working on the design of anemometers for measuring shear stresses. Part of this work required modelling and compensating for the transfer function
More informationChapter 17. Fourier series
Chapter 17. Fourier series We have already met the simple periodic functions, of the form cos(ωt θ). In this chapter we shall look at periodic functions of more complicated nature. 1. The basic results
More informationOutline. Introduction
Outline Periodic and Non-periodic Dipartimento di Ingegneria Civile e Ambientale, Politecnico di Milano March 5, 4 A periodic loading is characterized by the identity p(t) = p(t + T ) where T is the period
More informationMATH 241 Practice Second Midterm Exam - Fall 2012
MATH 41 Practice Second Midterm Exam - Fall 1 1. Let f(x = { 1 x for x 1 for 1 x (a Compute the Fourier sine series of f(x. The Fourier sine series is b n sin where b n = f(x sin dx = 1 = (1 x cos = 4
More informationlim when the limit on the right exists, the improper integral is said to converge to that limit.
hapter 7 Applications of esidues - evaluation of definite and improper integrals occurring in real analysis and applied math - finding inverse Laplace transform by the methods of summing residues. 6. Evaluation
More information1 What s the big deal?
This note is written for a talk given at the graduate student seminar, titled how to solve quantum mechanics with x 4 potential. What s the big deal? The subject of interest is quantum mechanics in an
More informationFluid mechanics, topology, and complex analysis
Fluid mechanics, topology, and complex analysis Takehito Yokoyama Department of Physics, Tokyo Institute of Technology, 2-12-1 Ookayama, Meguro-ku, Tokyo 152-8551, Japan (Dated: April 30, 2013 OMPLEX POTENTIAL
More informationA Tridiagonal Matrix
A Tridiagonal Matrix We investigate the simple n n real tridiagonal matrix: α β 0 0... 0 0 0 1 0 0... 0 0 β α β 0... 0 0 1 0 1 0... 0 0 0 β α β... 0 0 0 1 0 1... 0 0 M =....... = αi + β....... = αi + βt,
More informationCOMPLEX ANALYSIS TOPIC V: HISTORICAL REMARKS
COMPLEX ANALYSIS TOPIC V: HISTORICAL REMARKS PAUL L. BAILEY Historical Background Reference: http://math.fullerton.edu/mathews/n2003/complexnumberorigin.html Rafael Bombelli (Italian 1526-1572) Recall
More information3. Lecture. Fourier Transformation Sampling
3. Lecture Fourier Transformation Sampling Some slides taken from Digital Image Processing: An Algorithmic Introduction using Java, Wilhelm Burger and Mark James Burge Separability ² The 2D DFT can be
More informationFourier Series. (Com S 477/577 Notes) Yan-Bin Jia. Nov 29, 2016
Fourier Series (Com S 477/577 otes) Yan-Bin Jia ov 9, 016 1 Introduction Many functions in nature are periodic, that is, f(x+τ) = f(x), for some fixed τ, which is called the period of f. Though function
More informationKey Intuition: invertibility
Introduction to Fourier Analysis CS 510 Lecture #6 January 30, 2017 In the extreme, a square wave Graphic from http://www.mechatronics.colostate.edu/figures/4-4.jpg 2 Fourier Transform Formally, the Fourier
More informationComplex numbers. Reference note to lecture 9 ECON 5101 Time Series Econometrics
Complex numbers. Reference note to lecture 9 ECON 5101 Time Series Econometrics Ragnar Nymoen March 31 2014 1 Introduction This note gives the definitions and theorems related to complex numbers that are
More informationOne of the powerful themes in trigonometry is that the entire subject emanates from a very simple idea: locating a point on the unit circle.
2.24 Tanz and the Reciprocals Derivatives of Other Trigonometric Functions One of the powerful themes in trigonometry is that the entire subject emanates from a very simple idea: locating a point on the
More informationResponse to Periodic and Non-periodic Loadings. Giacomo Boffi. March 25, 2014
Periodic and Non-periodic Dipartimento di Ingegneria Civile e Ambientale, Politecnico di Milano March 25, 2014 Outline Introduction Fourier Series Representation Fourier Series of the Response Introduction
More informationRearrangement on Conditionally Convergent Integrals in Analogy to Series
Electronic Proceedings of Undergraduate Mathematics Day, Vol. 3 (8), No. 6 Rearrangement on Conditionally Convergent Integrals in Analogy to Series Edward J Timko University of Dayton Dayton OH 45469-36
More informationChapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn
Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide
More informationThe O () notation. Definition: Let f(n), g(n) be functions of the natural (or real)
The O () notation When analyzing the runtime of an algorithm, we want to consider the time required for large n. We also want to ignore constant factors (which often stem from tricks and do not indicate
More informationQM and Angular Momentum
Chapter 5 QM and Angular Momentum 5. Angular Momentum Operators In your Introductory Quantum Mechanics (QM) course you learned about the basic properties of low spin systems. Here we want to review that
More informationExample 2.1. Draw the points with polar coordinates: (i) (3, π) (ii) (2, π/4) (iii) (6, 2π/4) We illustrate all on the following graph:
Section 10.3: Polar Coordinates The polar coordinate system is another way to coordinatize the Cartesian plane. It is particularly useful when examining regions which are circular. 1. Cartesian Coordinates
More informationMultiplying huge integers using Fourier transforms
Fourier transforms October 25, 2007 820348901038490238478324 1739423249728934932894??? integers occurs in many fields of Computational Science: Cryptography Number theory... Traditional approaches to
More informationComputer Problems for Fourier Series and Transforms
Computer Problems for Fourier Series and Transforms 1. Square waves are frequently used in electronics and signal processing. An example is shown below. 1 π < x < 0 1 0 < x < π y(x) = 1 π < x < 2π... and
More informationFourier Series. Now we need to take a theoretical excursion to build up the mathematics that makes separation of variables possible.
Fourier Series Now we need to take a theoretical excursion to build up the mathematics that makes separation of variables possible Periodic functions Definition: A function f is periodic with period p
More information