Fast Fourier Transform Lecture 6 Spoken Language Processing Prof. Andrew Rosenberg.

Slides:



Advertisements
Similar presentations
DFT & FFT Computation.
Advertisements

Fast Fourier Transform for speeding up the multiplication of polynomials an Algorithm Visualization Alexandru Cioaca.
Parallel Fast Fourier Transform Ryan Liu. Introduction The Discrete Fourier Transform could be applied in science and engineering. Examples: ◦ Voice recognition.
Polynomial and FFT. Topics 1. Problem 2. Representation of polynomials 3. The DFT and FFT 4. Efficient FFT implementations 5. Conclusion.
Instructor Neelima Gupta Table of Contents Divide and Conquer.
Dr. Deshi Ye Divide-and-conquer Dr. Deshi Ye
Instructor: Shengyu Zhang 1. Example 1: Merge sort 2.
FFT1 The Fast Fourier Transform. FFT2 Outline and Reading Polynomial Multiplication Problem Primitive Roots of Unity (§10.4.1) The Discrete Fourier Transform.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Administrative Oct. 2 Oct. 4 – QUIZ #2 (pages of DPV)
Richard Fateman CS 282 Lecture 101 The Finite-Field FFT Lecture 10.
CSE 421 Algorithms Richard Anderson Lecture 15 Fast Fourier Transform.
FFT1 The Fast Fourier Transform by Jorge M. Trabal.
Faster Multiplication, Powering of Polynomials
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Fast Fourier Transform Jean Baptiste Joseph Fourier ( ) These lecture.
5 - 1 § 5 The Divide-and-Conquer Strategy e.g. find the maximum of a set S of n numbers.
Reconfigurable Computing S. Reda, Brown University Reconfigurable Computing (EN2911X, Fall07) Lecture 16: Application-Driven Hardware Acceleration (1/4)
Richard Fateman CS 282 Lecture 51 Faster Multiplication, Powering of Polynomials Lecture 5.
CSE 421 Algorithms Richard Anderson Lecture 13 Divide and Conquer.
Introduction to Algorithms
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.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 14 Instructor: Paul Beame.
Fast Fourier Transform Irina Bobkova. Overview I. Polynomials II. The DFT and FFT III. Efficient implementations IV. Some problems.
Representing Acoustic Information
Drill #37 Factor the following polynomials Simplify.
1 Chapter 5 Divide and Conquer Slides by Kevin Wayne. Copyright © 2005 Pearson-Addison Wesley. All rights reserved.
1 Fingerprinting techniques. 2 Is X equal to Y? = ? = ?
CS 6068 Parallel Computing Fall 2013 Lecture 10 – Nov 18 The Parallel FFT Prof. Fred Office Hours: MWF.
A brief overview of Speech Recognition and Spoken Language Processing Advanced NLP Guest Lecture August 31 Andrew Rosenberg.
FFT1 The Fast Fourier Transform. FFT2 Outline and Reading Polynomial Multiplication Problem Primitive Roots of Unity (§10.4.1) The Discrete Fourier Transform.
5.6 Convolution and FFT. 2 Fast Fourier Transform: Applications Applications. n Optics, acoustics, quantum physics, telecommunications, control systems,
The Fast Fourier Transform
Advanced Algebraic Algorithms on Integers and Polynomials Prepared by John Reif, Ph.D. Analysis of Algorithms.
Karatsuba’s Algorithm for Integer Multiplication
Applied Symbolic Computation1 Applied Symbolic Computation (CS 300) Karatsuba’s Algorithm for Integer Multiplication Jeremy R. Johnson.
The Fast Fourier Transform and Applications to Multiplication
Inverse DFT. Frequency to time domain Sometimes calculations are easier in the frequency domain then later convert the results back to the time domain.
7- 1 Chapter 7: Fourier Analysis Fourier analysis = Series + Transform ◎ Fourier Series -- A periodic (T) function f(x) can be written as the sum of sines.
1 Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
CSE 421 Algorithms Lecture 15 Closest Pair, Multiplication.
1 Mathematical Algorithms 1. Arithmetic, (Pseudo) Random Numbers and all that 2. Evaluation & Multiplication of Polynomials I 3. Multiplication of Large.
Applied Symbolic Computation1 Applied Symbolic Computation (CS 567) The Fast Fourier Transform (FFT) and Convolution Jeremy R. Johnson TexPoint fonts used.
May 9, 2001Applied Symbolic Computation1 Applied Symbolic Computation (CS 680/480) Lecture 6: Multiplication, Interpolation, and the Chinese Remainder.
week 8Complexity of Algorithms1 Elementary Number Theory Given positive integers a and b, we use the notation a¦b to indicated that a divides b, i.e.,
Page : 1 bfolieq.drw Technical University of Braunschweig IDA: Institute of Computer and Network Engineering  W. Adi 2011 Lecture-5 Mathematical Background:
Chapter 2 Divide-and-Conquer algorithms
Chapter 2 Divide-and-Conquer algorithms
Lecture 16 Fast Fourier Transform
Data Structures and Algorithms (AT70. 02) Comp. Sc. and Inf. Mgmt
Polynomial + Fast Fourier Transform
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 300) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Copyright © Cengage Learning. All rights reserved.
Applied Symbolic Computation
FAST FOURIER TRANSFORM ALGORITHMS
DFT and FFT By using the complex roots of unity, we can evaluate and interpolate a polynomial in O(n lg n) An example, here are the solutions to 8 =
September 4, 1997 Applied Symbolic Computation (CS 300) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
The Fast Fourier Transform
Advanced Algorithms Analysis and Design
Applied Symbolic Computation
September 4, 1997 Applied Symbolic Computation (CS 567) Fast Polynomial and Integer Multiplication Jeremy R. Johnson.
Chapter 5 Divide and Conquer
Applied Symbolic Computation
Richard Anderson Lecture 14 Inversions, Multiplication, FFT
Applied Symbolic Computation
The Fast Fourier Transform
Applied Symbolic Computation
Fast Polynomial and Integer Multiplication
Mathematical Background: Extension Finite Fields
Presentation transcript:

Fast Fourier Transform Lecture 6 Spoken Language Processing Prof. Andrew Rosenberg

Overview Fast Fourier Transform –Multiplying Polynomials –Relationship between polynomial multiplication and Fourier Analysis 1

Multiplying polynomials Assume two polynomials of degree d. The Fast Fourier Transform is an efficient (divide-and-conquer) way to do this. 2

Multiplying polynomials Assume two polynomials of degree d. 3 Calculating c k takes Θ(d) steps. To calculate C(x) requires Θ(d 2 )

Fast Fourier Transform How to multiply polynomials efficiently. What this has to do with frequency decomposition. 4

Representing polynomials A d degree polynomial can be represented by d+1 points. –“any points determine a line” 5 Coefficients Values Evaluation Interpolation

Multiplication algorithm Input: coefficients of two polynomials A(x) and B(x) and degree d Output: Their product C = AB Selection Pick points x 0, x 1, x n-1 where n >= 2d+1 Evaluation Compute A(x 0 ), A(x 1 ),..., A(x n-1 ) and B(x 0 ), B(x 1 ),..., B(x n-1 ) Multiplication Compute C(x k ) = A(x k )B(x k ) for all k = 0,..., n-1 Interpolation Recover C(x) = c 0 + c 1 x c 2d x 2d 6

Divide and Conquer for multiplication How can we pick the n points used in evaluation? –Can we pick them to make the algorithm more efficient? If we choose positive and negative pairs, the calculations overlap a lot. 7

Example representation as even powers generally… 8 Where A e are the even coefficients and A o the odd. Degree of A e and A o are <= d/2

Divide and Conquer multiplication Evaluating A(x) at n paired points can be done by evaluating A e (x) and A o (x) at n/2 points. Recursively: –T(n) = 2T(n/2) + O(n) = O(n log n) 9

Visualization Evaluate A(x) 10 Evaluate A e (x) and A o (x) x0x0 -x 0 x1x1 -x 1 …x n/2-1 -x n/2-1 x02x02 x12x12 …x n/2-1 2 What’s the problem with this recursion?

Complex numbers After the top level of the recursion, none of the points are negative – no paired points anymore. Solution: Use complex numbers. 11

Complex roots of unity Assume the “bottom” of the recursion will use +1. Identify the n points to start with i-i n th roots are plus minus paired squaring them give the (n/2) th roots

Relationship between Complex Numbers and Trig. functions 13 Euler’s Theorem Discrete Fourier Transform

Interpolation We built the FFT to evaluate. To Interpolate: 14 Coefficients Values Evaluation Interpolation

function FFT(a, w) --- Input: an array a = (a 0,a 1,…,a n-1 ) for n a power of 2 and w, the inverse of a primitive nth root of unity. Output: coefficients --- if w = 1: return a (s 0,s 1,s n/2-1 ) = FFT(a 0,a 2,…,a n-2 ),w 2 ) (s’ 0,s’ 1,s’ n/2-1 ) = FFT(a 1,a 3,…,a n-1 ),w 2 ) for j = 0 to n/2 – 1: r j = s j + w j s’ j r j+n/2 = s j - w j s’ j return r 0,r 1,…,r n-1 Fast Fourier Transform 15

Frame Overlapping To construct a spectrogram, calculate the “Discrete Fourier Transform” (using the FFT) at overlapping frames ms

Example Spectrogram 17

Single Frame of FFT 18 Australian male /i:/ from “heed” FFT analysis window 12.8ms

Next Class Mel Frequency Cepstral Coefficients PLP/Rasta Features Reading: J&M