fft structures

Upload: swapnaanumolu6887

Post on 04-Apr-2018

247 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Fft Structures

    1/27

    18-791 Lecture #18FAST FOURIER TRANSFORM INVERSES

    AND ALTERNATE IMPLEMENTATIONS

    Department of Electrical and Computer Engineering

    Carnegie Mellon University

    Pittsburgh, Pennsylvania 15213

    Phone: +1 (412) 268-2535

    FAX: +1 (412) [email protected]

    http://www.ece.cmu.edu/~rms

    October 27, 2005

    Richard M. Stern

  • 7/30/2019 Fft Structures

    2/27

    CarnegieMellon Slide 2 ECE Department

    Introduction

    In our lecture last Tuesday we described and discussed thebasic decimation-in-time Cooley-Tuckey fast Fourier transformalgorithm for DFT sizes that are integer powers of 2 (radix 2)

    Today we will discuss some variations and extensions of the

    basic FFT algorithm: Alternate forms of the FFT structure

    Computation of the inverse DFT

    The decimation-in-frequency FFT algorithm

    FFT structures for DFT sizes that are not an integer power of 2

  • 7/30/2019 Fft Structures

    3/27

    CarnegieMellon Slide 3 ECE Department

    Alternate FFT structures

    We developed the basic decimation-in-time (DIT) FFT structure

    in the last lecture, but other forms are possible simply byrearranging the branches of the signal flowgraph

    Consider the rearranged signal flow diagrams on the followingpanels ..

  • 7/30/2019 Fft Structures

    4/27

    CarnegieMellon Slide 4 ECE Department

    Alternate DIT FFT structures (continued)

    DIT structure with input bit-reversed, output natural (OSB 9.10):

  • 7/30/2019 Fft Structures

    5/27

    CarnegieMellon Slide 5 ECE Department

    Alternate DIT FFT structures (continued)

    DIT structure with input natural, output bit-reversed (OSB 9.14):

  • 7/30/2019 Fft Structures

    6/27

    CarnegieMellon Slide 6 ECE Department

    Alternate DIT FFT structures (continued)

    DIT structure with both input and output natural (OSB 9.15):

  • 7/30/2019 Fft Structures

    7/27

    CarnegieMellon Slide 7 ECE Department

    Alternate DIT FFT structures (continued)

    DIT structure with same structure for each stage (OSB 9.16):

  • 7/30/2019 Fft Structures

    8/27

    CarnegieMellon Slide 8 ECE Department

    Comments on alternate FFT structures

    A method to avoid bit-reversal in filtering operations is:

    Compute forward transform using natural input, bit-reversed output (as

    in OSB 9.10)

    Multiply DFT coefficients of input and filter response (both in bit-reversed order)

    Compute inverse transform of product using bit-reversed input and

    natural output (as in OSB 9/14)

    Latter two topologies (as in OSB 9.15 and 9.16) are now rarelyused

  • 7/30/2019 Fft Structures

    9/27

    CarnegieMellon Slide 9 ECE Department

    Using FFTs for inverse DFTs

    Weve always been talking about forward DFTs in our

    discussion about FFTs . what about the inverse FFT?

    One way to modify FFT algorithm for the inverse DFTcomputation is:

    Replace by wherever it appears

    Multiply final output by

    This method has the disadvantage that it requires modifyingthe internal code in the FFT subroutine

    WNk

    WNk

    1/ N

    x[n] 1N

    k 0

    N1

    X[k]WNkn; X[k] n 0

    N1

    x[n]WNkn

  • 7/30/2019 Fft Structures

    10/27

    CarnegieMellon Slide 10 ECE Department

    A better way to modify FFT code forinverse DFTs

    Taking the complex conjugate of both sides of the IDFTequation and multiplying by N:

    This suggests that we can modify the FFT algorithm for theinverse DFT computation by the following:

    Complex conjugate the input DFT coefficients

    Compute the forwardFFT

    Complex conjugate the output of the FFT and multiply by

    This method has the advantage that the internal FFT code isundisturbed; it is widely used.

    Nx *[n] 1Nk0

    N1 X*[k]WN

    kn; or x[n] 1Nk0

    N1 X*[k]WN

    kn

    *

    1/ N

  • 7/30/2019 Fft Structures

    11/27

    CarnegieMellon Slide 11 ECE Department

    The decimation-in-frequency (DIF)FFT algorithm

    Introduction: Decimation in frequency is an alternate way of

    developing the FFT algorithm

    It is different from decimation in time in its development,

    although it leads to a very similar structure

  • 7/30/2019 Fft Structures

    12/27

    CarnegieMellon Slide 12 ECE Department

    The decimation in frequency FFT (continued)

    Consider the original DFT equation .

    Separate the first half and the second half of time samples:

    Note that these are notN/2-point DFTs

    X[k] n0

    N1 x[n]WN

    nk

    X[k] n0

    (N/ 2)1 x[n]WN

    nknN/ 2

    N1 x[n]WN

    nk

    n0

    (N/ 2)1 x[n]WN

    nk WN(N/ 2)k

    n0

    (N/ 2)1 x[n (N/2)]WN

    nk

    n0

    (N/ 2)1

    x[n] (1)kx[n (N/2)] WNnk

  • 7/30/2019 Fft Structures

    13/27

    CarnegieMellon Slide 13 ECE Department

    Continuing with decimation in frequency ...

    For k even, let

    For kodd, let

    These expressions are the N/2-point DFTs of

    X[k] n0

    (N/ 2)1 x[n] (1)kx[n (N/2)] WNnk

    k 2r

    X[k] n0

    (N/ 2)1

    x[n] (1)2rx[n (N/2)]

    WNn2r

    n0

    (N/ 2)1

    x[n] x[n (N/2)] WN/2nr

    k 2r1

    [k] n0

    (N/ 2)1

    x[n] (1)2r(1)x[n (N/ 2)] WNn(2r1)

    n0

    (N/ 2)1 x[n] x[n (N/2)] WN

    nWN/ 2nr

    x[n] x[n (N/ 2)] and [x[n] x[n (N/2)]]WNn

  • 7/30/2019 Fft Structures

    14/27

    CarnegieMellon Slide 14 ECE Department

    These equations describe the followingstructure:

  • 7/30/2019 Fft Structures

    15/27

    CarnegieMellon Slide 15 ECE Department

    Continuing by decomposing the odd and evenoutputpoints we obtain

  • 7/30/2019 Fft Structures

    16/27

    CarnegieMellon Slide 16 ECE Department

    and replacing the N/4-point DFTs bybutterflys we obtain

  • 7/30/2019 Fft Structures

    17/27

    CarnegieMellon Slide 17 ECE Department

    The DIF FFT is the transposeof the DIT FFT

    To obtain flowgraph transposes:

    Reverse direction of flowgraph arrows

    Interchange input(s) and output(s)

    DIT butterfly: DIF butterfly:

    Comment:

    We will revisit transposed forms again in our discussion of filter

    implementation

  • 7/30/2019 Fft Structures

    18/27

    CarnegieMellon Slide 18 ECE Department

    The DIF FFT is the transposeof the DIT FFT

    Comparing DIT and DIF structures:

    DIT FFT structure: DIF FFT structure:

    Alternate forms for DIF FFTs are similar to those of DIT FFTs

  • 7/30/2019 Fft Structures

    19/27

    CarnegieMellon Slide 19 ECE Department

    Alternate DIF FFT structures

    DIF structure with input natural, output bit-reversed (OSB 9.20):

  • 7/30/2019 Fft Structures

    20/27

    CarnegieMellon Slide 20 ECE Department

    Alternate DIF FFT structures (continued)

    DIF structure with input bit-reversed, output natural (OSB 9.22):

  • 7/30/2019 Fft Structures

    21/27

    CarnegieMellon Slide 21 ECE Department

    Alternate DIF FFT structures (continued)

    DIF structure with both input and output natural (OSB 9.23):

  • 7/30/2019 Fft Structures

    22/27

    CarnegieMellon Slide 22 ECE Department

    Alternate DIF FFT structures (continued)

    DIF structure with same structure for each stage (OSB 9.24):

  • 7/30/2019 Fft Structures

    23/27

    CarnegieMellon Slide 23 ECE Department

    FFT structures for other DFT sizes

    Can we do anything when the DFT size Nis not an integerpower of 2 (the non-radix 2 case)?

    Yes! Consider a value of Nthat is not a power of 2, but thatstill is highly factorable

    Then let

    Let N p1p2p3p4...p; q1 N/ p1, q2 N/ p1p2 ,etc.

    X[k] n0

    N1 x[n]WN

    nk

    x[p1r]WNp1rk

    r0

    q11

    x[p1r1]WN(p1r1)k

    r0

    q11

    x[p1r 2]WN(p1r2)k

    r0

    q11

    ...

  • 7/30/2019 Fft Structures

    24/27

    CarnegieMellon Slide 24 ECE Department

    Non-radix 2 FFTs (continued)

    An arbitrary term of the sum on the previous panel is

    This is, of course, a DFT of size of points spaced by

    r0

    q11

    x[p1r l]WN(p1rl)k

    r0

    q11

    x[p1r l]WNp1rkWNlk WNlk r0

    q11

    x[p1r l]Wq1rk

    q1 p1

  • 7/30/2019 Fft Structures

    25/27

    CarnegieMellon Slide 25 ECE Department

    Non-radix 2 FFTs (continued)

    In general, for the first decomposition we use

    Comments:

    This procedure can be repeated for subsequent factors ofN

    The amount of computational savings depends on the extent to which N

    is composite, able to be factored into small integers

    Generally the smallest factors possible used, with the exception of some

    use of radix-4 and radix-8 FFTs

    [k] WNlk

    l0

    p11

    r0

    q11

    x[p1r l]Wq1rk

  • 7/30/2019 Fft Structures

    26/27

    CarnegieMellon Slide 26 ECE Department

    An example . The 6-point DIT FFT

    P1 = 2; P2 = 3; X[k] l0

    1

    W6lkr0

    2

    x[2r l]W3rk

  • 7/30/2019 Fft Structures

    27/27

    CarnegieMellon Slide 27 ECE Department

    Summary

    This morning we considered a number of alternative ways of

    computing the FFT:

    Alternate implementation structures

    The decimation-in-frequency structure

    FFTs for sizes that are non-integer powers of 2

    Using standard FFT structures for inverse FFTs

    Starting on Tuesday we will begin to discuss digital filterimplementation structures