Dsp Disc Ch6

Embed Size (px)

Citation preview

  • 1

  • LOGO

    [email protected]

    Fast Fourier Transform

    (FFT)

  • 3

    -The Fast Fourier Transform (FFT) is a very efficient algorithm for performing a discrete Fourier transform.

    -The most widely used methods of FFT are based on decomposing or

    breaking the transform into smaller transforms, and combining them to give

    the total transform.

    -There are two methods to do this decomposition or decimation:

    (1) Decimation In Frequency domain

    (2) Decimation In Time domain

    Fast Fourier Transform (FFT)

  • 4

  • 5

  • 6

    2

    2

    2

    log ( )

    log ( ) 2

    *log ( )

    N

    NN

    N N

    stages

    complex multiplications

    complex additions

    2

    2

    N

    N N

    DFTFFT

  • 7

    DFT

    1

    0

    2

    ( ) ( ) , k=0,1,2,.......,N 1

    :

    Nkn

    N

    n

    jN

    N

    X k x n W

    where W e

    4

  • 8

    (1) Decimation in Time domain

  • 9

    x(n)={ 1,2,3,4} find DFT for first 4-points

    0 1 2 3

    2 2

    44

    j jNW e e j

    000000

    210011

    101102

    311113

    Example

    flip

    x(0)=1

    x(2)=3

    x(1)=2

    x(3)=4

    Decimation in Time domain

  • 104 W

    jW 14

    -1

    -1

    -1

    -1

    x(0)=1

    x(2)=3

    x(1)=2

    x(3)=4104 W

    104 W

    4

    -2

    6

    -2

    X(0 )= 10

    X(1)= -2+2j

    X(2)= -2

    X(3)= -2-2j

  • 11

    x(0)=1

    x(2)=3

    x(1)=2

    x(3)=4

    Stage#1

    104W

    4

    -2

    104W

    6

    -2

    1

    1

    0

    4 1W

    1

    4W j

    10

    -2+2j

    -2

    -2-2j

    Stage#2

    X(k)={10,-2+2j,-2,-2-2j}

    # stage2increment of

    NW

  • 12

    # stage # stage

    2

    4

    2 2

    4for stage#2 1

    2

    increment of of

    increment

    NW

    W

  • 13

    x(n)={ 1,1,3,5,0,0,1,3} find DFT for first 8-points

    2

    8 48

    0

    8

    1

    8

    2

    8

    3

    8

    1(1 )

    2

    1

    1(1 )

    2

    1( 1 )

    2

    j j

    W e e j

    W

    W j

    W j

    W j

    100000000

    041000011

    320100102

    161100113

    110011004

    051011015

    530111106

    371111117

    ExampleDecimation in Time domain

  • 14

    x(0)=1 X[0]=14

    X[1]=0.3-j4.12

    X[2]=-3+j7

    X[3]=1.7-j0.12

    X[4]=-4

    0

    8W

    0

    8W

    0

    8W

    0

    8W

    0

    8W

    2

    8W

    0

    8W

    2

    8W

    0

    8W

    1

    8W

    2

    8W

    3

    8W

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    x(4)=0

    x(2)=3

    x(6)=1

    x(1)=1

    x(5)=0

    x(3)=5

    x(7)=3

    1

    1

    4

    2

    1

    1

    8

    2

    5

    1-2j

    -3

    1+2j

    9

    1-2j

    -7

    1+2j

    X[5]=1.7+j0.12

    X[6]=-3-j7

    X[7]=0.3+j4.12

    X(k)={14,0.3-j4.12,-3+j7,1.7-j0.121,-4,1.7+j0.121

    ,-3-j7,0.3+j4.12}

    Stage#1 Stage#2 Stage#3

  • 15

    x(0)=1 X[0]=7

    X[1]=0.3-j4.12

    X[2]=-3+j7

    X[3]=1.7-j0.12

    X[4]=-4

    0

    8W

    0

    8W

    0

    8W

    0

    8W

    0

    8W

    2

    8W

    0

    8W

    2

    8W

    0

    8W

    1

    8W

    2

    8W

    3

    8W

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    x(4)=0

    x(2)=3

    x(6)=1

    x(1)=1

    x(5)=0

    x(3)=5

    x(7)=3

    1

    1

    4

    2

    1

    1

    8

    2

    5

    1-2j

    -3

    1+2j

    9

    1-2j

    -7

    1+2j

    X[5]=1.7+j0.12

    X[6]=-3-j7

    X[7]=0.3+j4.12

    X(k)={14,0.3-j4.12,-3+j7,1.7-j0.121,-4,1.7+j0.121

    ,-3-j7,0.3+j4.12}

    Stage#1 Stage#2 Stage#3

  • 16

    # stage # stage

    2

    3

    8

    2 2

    8for stage#2 2

    2

    8for stage#3 1

    2

    increment of of

    increment

    increment

    NW

    W

    W

  • 17

    IDFT :

    Decimation in Time domain

    2~

    (1)

    (2) divided final result by N

    jN

    NW e

  • 18

    X(k)={ 1,1+j2,1,1-j2} find x(n) IDFT for 4-points

    2 2~4

    4

    j jNW e e j

    000000

    210011

    101102

    311113

    ExampleDecimation in Time domain

  • 19

    X(0)=1

    X(2)=1

    X(1)=1+j2

    X(3)=1-2j

    Stage#1

    10~4W

    2

    0

    1

    2

    j4

    1

    1

    4

    -4

    0

    4

    Stage#2

    Divided by N=4 x(n)={1,-1,0,1}

    0~

    4W1~

    4W j

    0~

    4W

  • 20

    (2) Decimation in Frequency domain

  • 21

    find DFT for first 4-points

    0 1 2 3

    2 2

    44

    j jNW e e j

    000000

    210011

    101102

    311113

    ExampleDecimation in Frequency domain

  • 22

    x(0)=1

    x(1)=2

    x(2)=3

    x(3)=4

    Stage#1

    10 = X(0)

    -2 = X(2)

    -2+2j = X(1)

    -2-2j = X(3)

    X(k)={10,-2+2j,-2,-2-2j}

    1

    1

    Stage#2 Stage#1

    1

    0

    4 1W

    4

    6

    1

    -2

    2j

    1

    4W j

    0

    4W

    0

    4W

  • 23

    x(n)={ 1,1,3,5,0,0,1,3} find DFT for first 8-points

    2

    8 48

    0

    8

    1

    8

    2

    8

    3

    8

    1(1 )

    2

    1

    1(1 )

    2

    1( 1 )

    2

    j j

    W e e j

    W

    W j

    W j

    W j

    ExampleDecimation in Frequency domain

  • 24

    x(0)=1

    -1

    -1

    -1

    -1

    x(1)=1

    x(2)=3

    x(3)=5

    x(4)=0

    x(5)=0

    x(6)=1

    x(7)=3

    X(k)={14,0.3-j4.12,-3+j7,1.7-j0.121,-4,1.7+j0.121

    ,-3-j7,0.3+j4.12}

    Stage#1 Stage#2 Stage#3

    0

    8W

    1

    8W

    2

    8W

    3

    8W

    1

    1

    2

    2

    -1

    -1

    -1

    -1

    5

    -3

    1+2W2

    1

    1

    4

    8

    9

    -7

    -1

    -1

    -1

    -1

    0

    8W

    2

    8W

    0

    8W

    2

    8W

    W+2W3

    1-2W2

    W-2W3

    0

    8W

    0

    8W

    0

    8W

    0

    8W

    X(0)

    X(4)

    X(2)

    X(6)

    X(1)

    X(5)

    X(3)

    X(7)

  • 25

    ExampleDecimation in Frequency domain

    X(k)={ 10,-2+j2,-2,-2-j2} find x(n) IDFT for 4-points

    2 2~4

    4

    j jNW e e j

    x(0) = 1

    x(2) = 3

    x(1) = 2

    x(3) = 4

    X(0) =10

    X(2) =-2

    X(1) = -2+2j

    1~

    0

    4 W

    jW ~

    1

    41

    ~0

    4 W

    1~

    0

    4 W 12-4

    12

    j4

    8 4

    8

    16X(3) = -2-2j

    -1

    -1

    1/4

    1/4

    1/4

    1/4

    -1

    -1

    x(n)={ 1,2,3,4}

  • For 8-point IDFT

    ~2

    8W

    ~1

    8W

    ~3

    8W

    x(0)

    x(4)

    x(2)

    x(6)

    X(0)

    X(1)

    X(2)

    X(3)

    x(1)

    x(5)

    x(3)

    x(7)

    X(4)

    X(5)

    X(6)

    X(7)

    ~0

    8W

    ~0

    8W

    ~2

    8W

    ~0

    8W

    ~2

    8W~

    0

    8W

    ~0

    8W

    ~0

    8W

    ~0

    8W

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    -1

    1/N

    1/N

    1/N

    1/N

    1/N

    1/N

    1/N

    1/N

    Decimation in Frequency domain