III Digital Audio III.4 (Mo Oct 16) Fast Fourier Transform (FFT)

Slides:



Advertisements
Similar presentations
DCSP-13 Jianfeng Feng Department of Computer Science Warwick Univ., UK
Advertisements

10.4 Complex Vector Spaces.
Leo Lam © Signals and Systems EE235. Courtesy of Phillip Leo Lam ©
Guerino Mazzola (Fall 2014 © ): Introduction to Music Technology IIIDigital Audio III.3 (Fr Oct 10) Complex Fourier representation (preliminaries to FFT)
Leo Lam © Signals and Systems EE235 Leo Lam.
Lecture 15 Orthogonal Functions Fourier Series. LGA mean daily temperature time series is there a global warming signal?
Recursive Definitions and Structural Induction
Chapter 5 Orthogonality
Lecture 9 Second Order Linear Differential Equations:
EECS 20 Chapter 8 Part 21 Frequency Response Last time we Revisited formal definitions of linearity and time-invariance Found an eigenfunction for linear.
Deconstructing periodic driving voltages (or any functions) into their sinusoidal components: It's easy to build a periodic functions by choosing coefficients.
Orthogonality and Least Squares
5. Similarity I.Complex Vector Spaces II.Similarity III.Nilpotence IV.Jordan Form Topics Goal: Given H = h B → B, find D s.t. K = h D → D has a simple.
Transforms: Basis to Basis Normal Basis Hadamard Basis Basis functions Method to find coefficients (“Transform”) Inverse Transform.
The Fourier series A large class of phenomena can be described as periodic in nature: waves, sounds, light, radio, water waves etc. It is natural to attempt.
Orthogonal Transforms
Time and Frequency Representation
Unit 7 Fourier, DFT, and FFT 1. Time and Frequency Representation The most common representation of signals and waveforms is in the time domain Most signal.
Discrete Time Periodic Signals A discrete time signal x[n] is periodic with period N if and only if for all n. Definition: Meaning: a periodic signal keeps.
University of Texas at Austin CS395T - Advanced Image Synthesis Spring 2006 Don Fussell Orthogonal Functions and Fourier Series.
1 1.1 © 2012 Pearson Education, Inc. Linear Equations in Linear Algebra SYSTEMS OF LINEAR EQUATIONS.
Frequency Domain Representation of Sinusoids: Continuous Time Consider a sinusoid in continuous time: Frequency Domain Representation: magnitude phase.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
MA/CSSE 473 Day 03 Asymptotics A Closer Look at Arithmetic With another student, try to write a precise, formal definition of “t(n) is in O(g(n))”
Induction and recursion
CHAPTER FIVE Orthogonality Why orthogonal? Least square problem Accuracy of Numerical computation.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Orthogonal Functions and Fourier Series.
Vectors Vectors are represented by a directed line segment its length representing the magnitude and an arrow indicating the direction A B or u u This.
AN ORTHOGONAL PROJECTION
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
Karatsuba’s Algorithm for Integer Multiplication
Leo Lam © Signals and Systems EE235. Leo Lam © Today’s menu Happy May! Chocolates! Fourier Series Vote!
Applied Symbolic Computation1 Applied Symbolic Computation (CS 300) Karatsuba’s Algorithm for Integer Multiplication Jeremy R. Johnson.
Chapter 10 Real Inner Products and Least-Square
Guerino Mazzola (Fall 2015 © ): Introduction to Music Technology IIIDigital Audio III.2 (M Oct 12) Finite Fourier Theory.
Fourier Series Fourier Transform Discrete Fourier Transform ISAT 300 Instrumentation and Measurement Spring 2000.
CH#3 Fourier Series and Transform
Motivation: Wavelets are building blocks that can quickly decorrelate data 2. each signal written as (possibly infinite) sum 1. what type of data? 3. new.
AGC DSP AGC DSP Professor A G Constantinides©1 Signal Spaces The purpose of this part of the course is to introduce the basic concepts behind generalised.
Math Review Towards Fourier Transform
Guerino Mazzola (Fall 2015 © ): Introduction to Music Technology IIIDigital Audio III.4 (We Oct 28) Fast Fourier Transform (FFT)
Professor A G Constantinides 1 Discrete Fourier Transforms Consider finite duration signal Its z-tranform is Evaluate at points on z-plane as We can evaluate.
Fast Fourier Transform (FFT) Problem: we need an efficient way to compute the DFT. The answer is the FFT. Consider a data sequence and its DFT: We can.
CompSci 102 Discrete Math for Computer Science March 13, 2012 Prof. Rodger Slides modified from Rosen.
CS654: Digital Image Analysis Lecture 11: Image Transforms.
1 Objective To provide background material in support of topics in Digital Image Processing that are based on matrices and/or vectors. Review Matrices.
CH#3 Fourier Series and Transform 1 st semester King Saud University College of Applied studies and Community Service 1301CT By: Nour Alhariqi.
Unary, Binary, and Beyond Great Theoretical Ideas In Computer Science Steven RudichCS Spring 2003 Lecture 2Jan 16, 2003Carnegie Mellon University.
بسم الله الرحمن الرحيم Digital Signal Processing Lecture 14 FFT-Radix-2 Decimation in Frequency And Radix -4 Algorithm University of Khartoum Department.
Linear Equations in Linear Algebra
III Digital Audio III.2 (M Oct 02) Finite Fourier Theory.
Introduction to Transforms
DIGITAL SIGNAL PROCESSING ELECTRONICS
III Digital Audio III.9 (Wed Oct 25) Phase vocoder for tempo and pitch changes.
III Digital Audio III.3 (M Oct 09) Complex Fourier representation (preliminaries to FFT)
Fast Fourier Transforms Dr. Vinu Thomas
Lecture 03: Linear Algebra
Sinusoids: continuous time
EE360: Signals and System I
Lecture #17 INTRODUCTION TO THE FAST FOURIER TRANSFORM ALGORITHM
4.1 DFT In practice the Fourier components of data are obtained by digital computation rather than by analog processing. The analog values have to be.
III Digital Audio III.9 (Wed Oct 24) Phase vocoder for tempo and pitch changes.
Fast Fourier Transformation (FFT)
III Digital Audio III.2 (F Oct 05) Finite Fourier Theory.
Linear Algebra Lecture 39.
Linear Equations in Linear Algebra
Fourier Transforms University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell.
Linear Vector Space and Matrix Mechanics
ENEE222 Elements of Discrete Signal Analysis Lab 9 1.
Presentation transcript:

III Digital Audio III.4 (Mo Oct 16) Fast Fourier Transform (FFT)

Recall these facts: The representation wr = w(rΔ) = w(r/N) = ∑m = 0, 1, 2, 3, ... N-1 cm e i2.mr/N identifies the sequence w = (w0,w1,w2,…,wN-1) as a vector in the N-dimensional complex space ¬N. So our samples of fundamental frequency f = 1 are identified with the vectors w ∈ ¬N. We have a scalar product — similar to the highschool formula (u,v) = |u|.|v|.cos(u,v): Have N exponential functions e0, e1, e2,... eN-1 that are represented as vectors in ¬N em = (em(r) = ei2.mr/N)r = 0,1,2,...N-1 〈em, em〉 = 1, 〈em, ek〉 = 0 m ≠ k = orthogonality relations mentioned above! The e0, e1, e2,... eN-1 = orthonormal basis like for normal 3 space! (ortho ~ perpendicular, normal ~ length 1) They replace the sinusoidal functions! 90o em el ek u v

cm = 〈w, em〉 = 1/N.∑r = 0, 1, 2, 3, ... N-1 wr e-i2.mr/N And this: Every sound sample vector w = (w0,w1,w2,…,wN-1) in ¬N can be written as a linear combination w = ∑m = 0, 1, 2, 3, ... N-1 cm em of the exponential functions, and the (uniquely determined) coefficients cm are calculated via cm = 〈w, em〉 = 1/N.∑r = 0, 1, 2, 3, ... N-1 wr e-i2.mr/N 90o em el ek So we have to calculate the coefficients cm! The big question is:How fast can we do this? N can be very large!! Think of CD: 44100 samples/second

cm = 〈w, em〉 = 1/N.∑r = 0, 1, 2, 3, ... N-1 wr e-i2.mr/N The Fast Fourier Transform is an algorithm for a faster calculation of the coefficients cm = 〈w, em〉 = 1/N.∑r = 0, 1, 2, 3, ... N-1 wr e-i2.mr/N It was published 1965 in a 5-page (!) paper in Math. Comput. 19: 297–301 entitled An Algorithm for the Machine Calculation of Complex Fourier Series by James W. Cooley (IMB T.J. Watson Research Center) and John W. Tuckey (Princeton University and AT&T Bell Labs). This is one of the most cited papers. The algorithm was used already 1805 by the great mathematician Carl Friedrich Gauss for astronomical calculations, but not recognized since his text was written in Latin… Let us now see how much faster the FFT algorithm is. And faster than what? John W. Tuckey Carl F. Gauss

For the calculation of the N values cm = 〈w, em〉 = 1/N.∑r = 0, 1, 2, 3, ... N-1 wr e-i2.mr/N we suppose that the values wr for all r = 0,1,... N-1 E(N) = e-i2/N are all known. We have to calculate the powers e-i2.2/N = E(N)2,... e-i2.(N-1)/N = E(N)N-1 by N-2 multiplications. And then for all m, r the N2 multiplications wr × e-i2.mr/N And we have to add N-1 times the products and make one division by N per m, adding up to N2 additional operations. This all adds up to 2N2 + N-2 operations, which grows in a quadratic manner with respect to N. Example: N = 44100: 2N2 + N-2 = 3 889 664 098 ≈ 3.889 Billions

Compared to 3.889 × 109, we only get 2.048 × 105 here! The FFT algorithm allows instead of 2N2 + N-2 operations, which grows in a quadratic manner with respect to N. a growth of only N.log(N), which means a much lesser growth ans shown here for the quotient (2N2 + N-2)/N.log(N) Compared to 3.889 × 109, we only get 2.048 × 105 here!

The FFT algorithm supposes that N is a power of 2, N = 2M, not only an even number as before. We then have this fundamental fact when stepping to the double 2N of the sample size: Fourier(2N) ≤ 2.Fourier(N) + 8N where Fourier(N) means the growth function of N, we leave this as an intuitive concept for our needs, ok? Then the FFT growth formula Fourier(N) ≤ N.log(N) can be proved without efforts inductively (supposing N is large!), i.e. for 2N if we suppose it true for N: Fourier(2N) ≤ 2.Fourier(N) + 8N ≤ 2N.log(N) + 8N = 2N(log(N) +4) ~ 2N.(log(N)+log(2)) = 2N.log(2N) So we are left with the proof of the above fundamental fact!

Fourier(2N) ≤ 3 × 2N + 2N + 2.Fourier(N) = 2.Fourier(N) + 8N, QED. And this is the trick: The sound sample vector w = (w0,w1,w2,…,w2N-1) in ¬2N is split into two parts of length N each: w = (w0,w1,w2,…,w2N-1) ¬2N w+ = (w0, w2, w4,…,w2N-2) even w− = (w1, w3,…,w2N-1) odd ¬N c+ = (c+0, c+1, c+2,…,c+N-1) Fourier(N) c− = (c−0, c−1,…, c−N-1) Fourier(N) Have this decisive formula: cr = (c+r + e(N)r . c−r)/2, c±N+r = c±r, i.e. per r we have 2 multiplications, one addition and a total of 2N powers of e(N). Together with the 2.Fourier(N) operations for the c+ and c− we have Fourier(2N) ≤ 3 × 2N + 2N + 2.Fourier(N) = 2.Fourier(N) + 8N, QED.