1 / 33

Fast Fourier Transform

Fast Fourier Transform. A bunch of smart people. Outline (hopefully). Finite discrete signals Linear shift-invariant filters Impulse responses Circular convolutions Discrete Fourier Transform The Fast Fourier Transform. Continuous signals. Finite signals.

dolf
Download Presentation

Fast Fourier Transform

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. Linear (i.e., matrices) 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. is the canonic basis for plays the role of Dirac's delta or impulse 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. But first... Better convolution strategy O(N2) v Lv 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! • Lwiis an eigenvector of P, with the same eigenvalue • We must have • wiis 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) v Lv convolution FFT IFFT F-1LF F-1v O(N) F-1v product Not only does F exist. It does not depend on L!

  25. We can also verify that... How do F and F-1 look like?

  26. Finally!!! 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) v Lv 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) v Lv 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)])

More Related