Errors in DFT Processing

download Errors in DFT Processing

of 20

Transcript of Errors in DFT Processing

  • 7/31/2019 Errors in DFT Processing

    1/20

    EECE 301

    Signals & Systems

    Prof. Mark Fowler

    Discussion #9

    Illustrating the Errors in DFT Processing DFT for Sonar Processing

  • 7/31/2019 Errors in DFT Processing

    2/20

    Example #1

    Illustrating The Errors inDFT Processing

  • 7/31/2019 Errors in DFT Processing

    3/20

    Illustrating the Errors in DFT processing

    This example does a nice job of showing the relationships between:

    the CTFT,

    the DTFT of the infinite-duration signal,

    the DTFT of the finite-duration collected samples,

    and the DFT computed from those samples.

    However, it lacks any real illustration of why we do DFT processing in practice.

    There are many practical applications of the DFT and well look at one in the nextexample.

  • 7/31/2019 Errors in DFT Processing

    4/20

    ADC

    x[0]

    x[1]

    x[2]

    x[N-1]

    DFTprocessing

    X[0]

    X[1]

    X[2]

    memory array

    Inside Computersensor

    Recall the processing setup:

    )(tx ][nx

    (Note: no anti-aliasing filter shown but we should have one!)

    )(XCTFT

    (theory)

    )(XDTFT(theory)

    Zero-

    padding to

    lengthNzp

    We study the

    theory of thesePractical

    computed DFT

    to understand what this shows us

    DTFTN(theory)

    )(NX

    0

    0

    memory array

    X[Nzp-3]X[Nzp-2]

    X[Nzp-1]

  • 7/31/2019 Errors in DFT Processing

    5/20

    Lets imagine we have the following CT Signal: 0)()( >=

    bfortuetxbt

    )(tx

    1

    If we samplex(t) at the rate ofFs samples/second That is, sample every T= 1/Fssec we get the DT Signal coming out of the ADC is:

    )(|)(][ nTxtxnx nTt == =For this example we get:

    [ ]( ) ][][

    ][)(][

    nuanue

    nuetuenx

    nnbT

    bTn

    nTt

    bt

    =

    ==

    ==

    Note: |a| < 1

    From our FT Table we find the FT ofx(t) is:

    bfjfX

    bjX

    +=

    +=

    2

    1)(

    1)(

    CTFT Result(Theory)

    A

    t

    Now analyze what we will get from the DFT processing for this signal

  • 7/31/2019 Errors in DFT Processing

    6/20

    Now imagine that in theory we have all of the samplesx[n] - < n < at the ADCoutput.

    Then, in theory the DTFT of this signal is found using the DTFT table to be:

    Now, in reality we can collect onlyN< samples in our computer:

    elsewhere)0][Assume""(

    )1(0,][

    =

    =

    nx

    Nnanx

    n

    n

    n

    Necessary to connect the DFT result to the theoretical

    results wed like to see.

    The DTFT of this collected finite-duration is easily found by hand:

    ( )

    = j

    Nj

    Nae

    aeX1

    1)(C

    =

    jae

    X1

    1)(

    DTFT Result(Theory)

    For |a| < 1 which we have because:

    0,0& >>= Tbea bTB

  • 7/31/2019 Errors in DFT Processing

    7/20

    Note that we think of this as follows:

    [ ]nwnxnx NN ][][ =

    ..and DTFT theory tells us that

    )()()()(2

    1)( ==

    NNN WXdWXX

    A form of convolution (DT Freq. Domain Convolution)

    and this convolution has a smearing effect.

    Finally, the DFT of the zero-padded collected samples is

    0...

    0

    ]1[

    ...

    ]1[

    ]0[

    Nx

    x

    x

    =][nxzp Total ofNzppoints

    [ ]

    =

    =1

    0

    2

    ][zp

    zp

    N

    n

    N

    knj

    zpzp nxkX

    (The only part of this

    example wed really do)

    D

    [ ]

    =otherwise

    NnwN

    ,0

    1,,2,1,0,1 K

  • 7/31/2019 Errors in DFT Processing

    8/20

    Our theory tells us that the zero-padded DFT is nothing more than points on

    DTFTN:)(][

    kNzpXkX =

    Now run the m-file called DFT_Relations.m for different Fs ,N, &Nap values

    where 1...,,2,1,02

    == NkN

    k

    zp

    k

    Spacing between DFT

    points is 2/Nzp

    Increasing the amountof zero-padding gives

    closer spacing

  • 7/31/2019 Errors in DFT Processing

    9/20

    Results from DFT_Relations.m

    Plot #1: shows CTFT computed using:

    bfj

    fX

    +

    =

    2

    1)( A

    Notice that this is not ideally bandlimited, but is essentially bandlimited.

    Therefore we expect some aliasing when we sample.

  • 7/31/2019 Errors in DFT Processing

    10/20

    Plot #2: shows DTFT computed using:

    =j

    ae

    X

    1

    1)((For plotting)

    (CTFT rescaled to and then shiftedby multiples of 2)

    Our theory says that:

    =

    +

    = ksF

    k

    XTX

    2

    21

    )((For analysis)

    So we should see replicas in X ( ) and we do!

    We plot TX() to undo the 1/T here

    B

  • 7/31/2019 Errors in DFT Processing

    11/20

    We also plot the CTFT against =

    sFf 2

    =

    jae

    X1

    1)(DTFT:

    bFj

    X

    bfj

    fX

    s+

    =+

    =

    )2/(2

    1)(

    2

    1)(

    Plot #2:

    Recall the two

    equivalent axes:

    f

    sF sF02

    sF

    2

    sF

    2 2 0

  • 7/31/2019 Errors in DFT Processing

    12/20

    The theory in

    says well see significant aliasing inX() unless Fs is high enough

    The first error visible in plot #2

    =

    +=

    k

    sFk

    XT

    X

    2

    21)(

    DTFT CTFT

    Nj

  • 7/31/2019 Errors in DFT Processing

    13/20

    Plot #3 shows DTFTN computed using

    =

    j

    Nj

    Nae

    aeX

    1

    )(1)(

    The second error visible in plot #3

    C

    DTFT DTFTN

    This leakage error is less significant as we

    increase N, the number of collected samples

    We see thatXN() shows signs of the smearing due to: )()()( = NN WXX

    Also called leakage error

    1 2N knj

  • 7/31/2019 Errors in DFT Processing

    14/20

    Plot #4 shows DFT computed using: =

    =1

    0

    ][][zp

    zp

    N

    n

    N

    zpzp enxkX

    It is plotted vs.

    zp

    kN

    k2= but with the right half moved down to lie

    between -& 0 rad/sample

    For comparison we also plotXN()

    DTFTN

    DFT

    Note: We show an artificially small number of DFT points here

    D

  • 7/31/2019 Errors in DFT Processing

    15/20

    Theory says Xzp[k] points should lie on top ofXN() notX() !!

    We see that this is true

    IfNzp is too small (i.e.Nzp = N) then there arent enough DFT points onXN()to allow us to see the real underlying shape ofXN()

    This is Grid Error and it is less significant whenNzp is large.

    The third error visible in plot #4

    DTFTN

    DFT

    sensorSummary of Results:

  • 7/31/2019 Errors in DFT Processing

    16/20

    )(tx

    CTFT

    ADC

    Inside Computer

    sensorSummary of Results:

    x[0]

    x[1]

    x[2]

    x[N-1]

    DFT

    processing

    X[0]

    X[1]

    X[2]

    memory array

    Zero-

    padding tolengthNzp

    0

    0

    memory array

    X[Nzp-3]

    X[Nzp-2]

    X[Nzp-1]

    ][nx

    DTFT

    DTFTN DFT

    Aliasing

    Error

    Smearing

    /Leakage

    Error

    Grid

    Error

  • 7/31/2019 Errors in DFT Processing

    17/20

    Example #2

    Sonar Processingusing the DFT

    R d /S P i i h DFT

  • 7/31/2019 Errors in DFT Processing

    18/20

    Radar/Sonar Processing using the DFT

    Imagine a stationary sonar and moving target

    x

    y

    Radar/Sonar

    targetComponent of velocity along line of sight

    v

    v

    sV

    Tx = Transmit

    Rx = Receive

    Say we transmit a sinusoidal pulse:

    = else

    TttfA

    tx

    oo

    TX

    ,0

    0),2cos(

    )(

    Physics tells us (Doppler effect) that the reflected signal received will be:

    +

    +=

    else

    Tttc

    VffA

    txosoo

    RX

    ,0

    0,2cos)(

    Doppler shift in Hz

    (for radars, this is generally in the kHz range)

    (for sonar, this is in the 100s of Hz range)

    (c speed of propagation 331m/sfor sound in air)

    O CTFT th t ll th t th CTFT f th T i l ill b

  • 7/31/2019 Errors in DFT Processing

    19/20

    Our CTFT theory tells us that the CTFT of the Tx signal will be:

    )( fXtx

    of of

    f

    effBeffB

    abs. value of

    shifted sinc

    Assume thatfo is large enough that this decays to a

    negligible level byf 0 Hz and byf Beff Center fo between 0 andBeff Fs 2Beff

    Also CTFT theory tells us that the CTFT of the Rx signal will be:

    )( fXtx

    rso

    o f

    C

    Vff =

    C

    Vfff soor +=

    f

    effB

    Peak is shifted

    fromfo by the

    doppler shift

    If we knowfo and we can find where

    this peak is then we can find Vs:)/(1 sm

    f

    fcV

    o

    rs

    =

  • 7/31/2019 Errors in DFT Processing

    20/20

    Anti-aliasing

    filterADC

    DFT

    processor

    peak

    searchGet Vs

    Computer: DT processingHydrophone

    sensor

    CT

    signal

    CT

    signal

    DTsignal

    DFTvalues