Fast%20Fourier%20Transform - PowerPoint PPT Presentation

About This Presentation
Title:

Fast%20Fourier%20Transform

Description:

plays the role of Dirac's delta or impulse. How does matrix ... Record the sound of a clap in the bathroom. Record your voice outside. Convolve the two signals! ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 34
Provided by: diego9
Category:

less

Transcript and Presenter's Notes

Title: Fast%20Fourier%20Transform


1
Fast Fourier Transform
  • A bunch of smart people

2
Outline (hopefully)
  • Finite discrete signals
  • Linear shift-invariant filters
  • Impulse responses
  • Circular convolutions
  • Discrete Fourier Transform
  • The Fast Fourier Transform

3
Continuous signals
4
Finite signals
  • Usually come from regular discretization

5
Finite signals
  • Usually come from regular discretization
  • Might as well think of them as vectors!

6
Discrete Fourier Transform
Complexity O(N2)
FFT is just an O(N log N) algorithm
7
Transformations on vectors
8
Transformations on vectors
Linear (i.e., matrices)
Shift invariant
(in a circular way)
9
Closer look at shift invariance
10
Closer look at shift invariance
L is shift invariant iff
11
The canonic basis of RN
12
How does matrix L look like?
h is the impulse response of L
It captures all information about L!
13
How does matrix L look like?
14
How do we multiply L by v?
This is why we care about convolutions!
15
The circular convolution
Complexity O(N2)
16
What we have so far
  • We discretized a continuous function turning it
    into a vector in RN
  • We defined a class of transformations from RN to
    RN that we care about
  • Each linear shift-invariant transformations L can
    be written as a circular convolution
  • The convolution is with the impulse response h of
    the transformation L
  • We can compute it in O(N2)

17
This is too abstract!
  • Want to make a recording of your voice sound as
    if you were inside a bathroom?
  • Your bathroom transform sound in a linear, shift
    invariant way.
  • Record the sound of a clap in the bathroom.
  • Record your voice outside.
  • Convolve the two signals!

18
Easy to do in Matlab
  • a wavread('bathroom-ip.wav')
  • b wavread('laugh.wav')
  • a a / max(abs(a))
  • b b / max(abs(b))
  • c conv(a, b)
  • c c / max(abs(c))
  • p audioplayer(c, 44000)
  • play(p, 1 length(c))

19
Better convolution strategy
O(N2)
Lv
v
convolution
FFT
IFFT
F-1LF F-1v
O(N)
F-1v
product
20
Diagonalizing L
  • Need a basis of eigenvectors for L. Trick is to
    look at P first!
  • Assume for now that P has distinct eigenvalues.
  • If wi is an eigenvector of P, then it is also an
    eigenvector of L!
  • Lwi is an eigenvector of P, with the same
    eigenvalue
  • We must have
  • wi is also eigenvector of L (for some other
    eigenvalue)
  • Since P has a full set of wi, L is diagonalized
    by the same wi!

21
The eigenvalues of P
Indeed, P has a full set!
22
The eigenvectors wk of P
23
The eigenvectors wk of P
24
Better convolution strategy
O(N2)
Lv
v
convolution
FFT
IFFT
F-1LF F-1v
O(N)
F-1v
product
Not only does F exist. It does not depend on L!
25
How do F and F-1 look like?
26
How to compute F-1v?
27
The eigenvalues of L
Finally!!!
28
Discrete Fourier Transform
FFT is just an O(N log N) algorithm
29
Better convolution strategy
O(N2)
Lv
v
convolution
FFT
IFFT
F-1LF F-1v
O(N)
F-1v
product
30
Fast Fourier Transform
31
Fast Fourier Transform
  • Coley and Tukey, 1965
  • Gauss, 1805

32
Better convolution strategy
O(N2)
Lv
v
convolution
FFT
IFFT
F-1LF F-1v
O(N)
F-1v
product
33
Easy to do in Matlab
  • a wavread('bathroom-ip.wav')
  • b wavread('laugh.wav')
  • a a / max(abs(a))
  • b b / max(abs(b))
  • c fftfilt(a, b)
  • c c / max(abs(c))
  • p audioplayer(c, 44000)
  • play(p, 1 length(c))
Write a Comment
User Comments (0)
About PowerShow.com