Ce 40763 digital signal processing fall 1992 fast fourier transform fft
Download
1 / 43

CE 40763 Digital Signal Processing Fall 1992 Fast Fourier transform (FFT) - PowerPoint PPT Presentation


  • 131 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' CE 40763 Digital Signal Processing Fall 1992 Fast Fourier transform (FFT)' - kalb


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Ce 40763 digital signal processing fall 1992 fast fourier transform fft

CE 40763Digital Signal ProcessingFall 1992Fast Fourier transform (FFT)

HosseinSameti

Department of Computer Engineering

Sharif University of Technology


Motivation
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


Motivation1
Motivation

Direct computation:

Ideal case:

FFT:

Example:

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Algorithms for calculating fft
Algorithms for calculating FFT

FFT

Decimation in time

Decimation in frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in time
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


Decimation in time1
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


Decimation in time2
Decimation in time

Suppose:

  • What are G(k) and H(k)?


Decimation in time3
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


Decimation in time4
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


Decimation in time5
Decimation in time

pt. DFT

g(r)

pt. DFT

h(r)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Example of decimation in time n 8
Example of Decimation in time (N=8)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Example of decimation in time n 81
Example of Decimation in time (N=8)

N/2 pt. DFT block

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Example of decimation in time n 82
Example of Decimation in time (N=8)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Example of decimation in time n 83
Example of Decimation in time (N=8)

r(0)

r(1)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Example of decimation in time n 84
Example of Decimation in time (N=8)

r(0)

r(1)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Example of decimation in time n 85
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


Example of decimation in time n 86
Example of Decimation in time (N=8)

How many stages do we have?

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


General form of a butterfly
General form of a butterfly

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Revised form of a butterfly
Revised form of a butterfly

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Revised form of a butterfly1
Revised form of a butterfly

2 mults+ 2 adds

1 mult+ 2 adds

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Final figure for 8 pt dft
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


Computational complexity
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


Indexing of the inputs and outputs
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


Bit reversing
Bit reversing

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Re arranging the input order
Re-arranging the input order

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Re arranging the input order1
Re-arranging the input order

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency
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


Decimation in frequency1
Decimation in frequency

1

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency2
Decimation in frequency

N/2 pt. DFT of g(n)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency3
Decimation in frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency4
Decimation in frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency5
Decimation in frequency

-1

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency6
Decimation in frequency

N/2 pt. DFT of h(n)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency7
Decimation in frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology



Format of the last stage butterfly in decimation in frequency
Format of the Last stage Butterfly in Decimation in frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency9
Decimation in frequency frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency re order the output
Decimation in frequency (re-order the output) frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Decimation in frequency ordered input and output
Decimation in frequency frequency (ordered input and output)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Transposition theorem
Transposition theorem frequency

  • 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


Decimation in frequency10
Decimation in frequency frequency

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Transposed version of the previous figure decimation in time
Transposed version of the previous figure (Decimation in Time)

Hossein Sameti, Dept. of Computer Eng., Sharif University of Technology


Practical issues
Practical issues Time)

  • 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


ad