1 / 43

CE 40763 Digital Signal Processing Fall 1992 Fast Fourier transform (FFT)

CE 40763 Digital Signal Processing Fall 1992 Fast Fourier transform (FFT). Hossein Sameti Department of Computer Engineering Sharif University of Technology. Motivation.

kalb
Download Presentation

CE 40763 Digital Signal Processing Fall 1992 Fast Fourier transform (FFT)

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. CE 40763Digital Signal ProcessingFall 1992Fast Fourier transform (FFT) HosseinSameti Department of Computer Engineering Sharif University of Technology

  2. Motivation • Many real-life systems can be modeled by LTI systems  use convolution for computing the output  use DFT to compute convolution • Fast Fourier Transform (FFT) is a method for calculating Discrete Fourier Transform (DFT) Only faster! • Definition of DFT: • How many computations? N pt. DFT of x(n) Q: For each k: How many adds and how many mults? A: (N-1) complex adds and N complex mults. How many k values do we have? N Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  3. Motivation Direct computation: Ideal case: FFT: Example: Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  4. Algorithms for calculating FFT FFT Decimation in time Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  5. Decimation in time • The main idea: use the divide and conquer method • It works by recursively breaking down a problem into two or more sub-problems of the same (or related) type, until these become simple enough to be solved directly. • The solutions to the sub-problems are then combined to give a solution to the original problem. Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  6. Decimation in time N: power of 2 n: even n: odd n: even n=2r n:0N-2 r:0N/2-1 n: odd n=2r+1 n:1N-1 r:0N/2-1 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  7. Decimation in time Suppose: • What are G(k) and H(k)?

  8. Decimation in time • In G(k) and H(k), k varies between 0 and N/2-1. • However, in X(k) , k varies between 0 and N-1. Solution: use the relationship between DFS and DFT. We thus need to replicate G(k) and H(k) “once”, to get X(k). Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  9. Decimation in time pt. DFT g(r) After replication + pt. DFT h(r) (twiddle factor) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  10. Decimation in time pt. DFT g(r) pt. DFT h(r) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  11. Example of Decimation in time (N=8) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  12. Example of Decimation in time (N=8) N/2 pt. DFT block Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  13. Example of Decimation in time (N=8) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  14. Example of Decimation in time (N=8) r(0) r(1) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  15. Example of Decimation in time (N=8) r(0) r(1) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  16. Example of Decimation in time (N=8) Flow graph of a the 2-pt. DFT Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  17. Example of Decimation in time (N=8) How many stages do we have? Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  18. General form of a butterfly Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  19. Revised form of a butterfly Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  20. Revised form of a butterfly 2 mults+ 2 adds 1 mult+ 2 adds Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  21. Final figure for 8-pt DFT In-place computation (only N storage locations are needed) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  22. Computational complexity • How many stages do we have • Each stage has N inputs and N outputs. • Each butterfly has 2 inputs and 2 outputs. • Each stage has butterflies. • Each butterfly needs 1 mult and 2 adds. Total number of operations: adds mults Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  23. Indexing of the inputs and outputs Output indexing is in order. input indexing is shuffled. Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  24. Bit reversing Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  25. Re-arranging the input order Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  26. Re-arranging the input order Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  27. Decimation in frequency • The main idea: use the divide and conquer method (this time in the frequency domain) • Divide the computation into two parts: even indices of k and odd indices of k. Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  28. Decimation in frequency 1 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  29. Decimation in frequency N/2 pt. DFT of g(n) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  30. Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  31. Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  32. Decimation in frequency -1 Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  33. Decimation in frequency N/2 pt. DFT of h(n) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  34. Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  35. Decimation in frequency

  36. Format of the Last stage Butterfly in Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  37. Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  38. Decimation in frequency (re-order the output) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  39. Decimation in frequency (ordered input and output) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  40. Transposition theorem • Change x with X (i.e., input nodes with output nodes) • Change X with x (i.e., output nodes with input nodes) • Reverse the order of the flow graphs. • The same system function is achieved. Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  41. Decimation in frequency Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  42. Transposed version of the previous figure (Decimation in Time) Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

  43. Practical issues • How can we deal with twiddle factors? • Should we store them in a table (i.e, use a lookup table) or should we calculate them? • What happens if N is not a factor of 2? • It can be shown that if N=RQ, then an N pt. DFT can be expressed in terms of R Q-pt. DFT or Q R pt. DFTs (Cooley-Tukey algorithm). Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology

More Related