Fourier series of periodic discrete-time signals ALGORITHM FOR SOLUTION: Fast Fourier Transform...

of 42 /42
Fourier series of periodic discrete-time signals 1

Embed Size (px)

Transcript of Fourier series of periodic discrete-time signals ALGORITHM FOR SOLUTION: Fast Fourier Transform...

  • Fourier series of periodic discrete-time signals

    1

  • Discrete-time signal x(n):

    Defined for integer time instants n:

    {x(n)} = {. . . , x(2), x(1), x(0), x(1), x(2), . . .}

    2

  • In analogy with continuous-time signals, discrete-

    time signals can be expanded in terms of sinusoidal

    components of form Ak cos(kn+ k)

    2 0 2 4 6 8 10 12

    1

    0

    1

    cos(2fn+ ), f = 0.1(Hz), = 2f 2(rad)

    3

  • Consider a periodic discrete-time signal with period

    N :

    x(n) = x(n+N), all n

    4

  • In analogy with continuous-time case the discrete

    sinusoidal signals

    cos(2k

    Nn), sin(

    2k

    Nn), k = 0, 1, 2, . . .

    have period N .

    It follows that an N -periodic signal {x(n)} can beexpanded in terms of sinusoidal signals

    cos(2k

    Nn), sin(

    2k

    Nn), k = 0, 1, 2, . . .

    5

  • Important difference compared to continuous-time case:

    We have

    cos(n) = cos(n + 2nl)

    = cos (n( + 2l)), all integers l

    =Frequencies and + 2l give the same discrete-

    time sequence

    NOTE: works only because time n is an integer!

    6

  • Hence we need only include frequency components

    cos(21

    Nn), cos(2

    2

    Nn), . . . , cos(2

    N 1N

    n)

    sin(21

    Nn), sin(2

    2

    Nn), . . . , sin(2

    N 1N

    n)

    and we obtain the Fourier series

    x(n) = a0 +

    N1k=1

    ak cos(k2

    Nn) +

    N1k=1

    bk sin(k2

    Nn)

    7

  • As before, we can express each frequency component

    in terms of complex exponentials:

    x(n) =N1

    k=N+1

    ckej2kn/N

    As time n is an integer we can eliminate the negative

    exponentials:

    ej2(m)n/N = ej2(m)n/N+j2n = ej2(Nm)n/N

    =

    Terms with k = m < 0 can be replaced by a termwith k = N m > 0

    8

  • NOTE:

    As ck = ck, we have

    ckej2(k)n/N = cke

    j2(Nk)n/N

    Fourier series of discrete-time periodic signal

    An N -periodic discrete-time signal can be expanded

    as

    x(n) =

    N1k=0

    dkej2kn/N

    where dNk = dk

    9

  • Here the complex-valued frequency components are

    given by

    dk =1

    N

    N1n=0

    x(n)ej2kn/N

    Proof:

    Multiply expression for x(n) with ej2mn/N and sum

    over time n over one period:

    1

    N

    N1n=0

    [ej2mn/N

    (x(n) =

    N1k=0

    dkej2kn/N

    )]10

  • Here the right-hand side becomes

    1

    N

    N1k=0

    dk

    N1n=0

    ej2(km)n/N

    which vanishes if m = k, because

    N1n=0

    ej2(km)n/N =

    {N, if k m = 0,N,2N, . . .0, otherwise

    Hence

    1

    N

    N1k=0

    dk

    N1n=0

    ej2(km)n/N = dm

    11

  • and1

    N

    N1n=0

    x(n)ej2mn/N = dm

    giving the result

    12

  • EXAMPLE: Periodic discrete-time square wave with periodN = 4:

    x(0) = 1

    x(1) = 1

    x(2) = 0

    x(3) = 1-5 -4 -3 -2 -1 0 1 2 3 4 5

    x(n)

    n

    and x(n) = x(n 4), all nFrequency components: 0, 24 ,

    224 ,

    234

    (Next frequency 244 = 2 is equivalent to frequency

    component 0)

    13

  • Fourier series:

    dk =1

    4

    3n=0

    x(n)ej2kn/4

    =1

    4

    [1 ej2k0/4 + 1 ej2k1/4 + 0 + 1 ej2k3/4

    ]=

    1

    4

    [1 + ejk/2 + ejk3/2

    ]=

    1

    4[1 + 2 cos (k/2)]

    =d0 =

    3

    4, d1 =

    1

    4, d2 =

    1

    4, d3 =

    1

    4

    0 2/2

    3/2

    dk

    14

  • Hence

    x(n) =3

    k=0

    dkej2kn/4

    =3

    4+

    1

    4ej21n/4 1

    4ej22n/4 +

    1

    4ej23n/4

    =3

    4+

    1

    4[cos (n/2) + j sin (n/2)]

    14[cos (n) + j sin (n)] +

    1

    4[cos (3n/2) + j sin (3n/2)]

    Note that as x(n) is real the imaginary components should

    vanish

    15

  • Here we have:

    - sin(n) = 0

    - cos(n) = (1)n

    In addition, frequency components 3/2 and /2 are related,

    because

    - sin(3n/2)=sin(3n/22n)=sin(n/2)= sin(n/2),and

    - cos(3n/2)=cos(3n/2 2n)=cos(n/2)=cos(n/2)

    =

    x(n) =3

    4+

    1

    2cos

    (2

    4n

    ) 1

    4(1)n

    16

  • NOTE:

    In above example the Fourier series coefficients dk were real.

    Reason: Recall that

    ak cos(2kn/N)+bk sin(2kn/N) = ckej2kn/N+cke

    j2kn/N

    where

    ck =1

    2(ak jbk) , ck =

    1

    2(ak + jbk)

    As x(n) is even, x(n) = x(n), the sine-terms vanish so thatbk = 0 and hence ck and dk are real.

    17

  • Next example illustrates a signal which is not even.

    Consider the periodic signal

    x(0) = 1

    x(1) = 1

    x(2) = 1

    x(3) = 0

    and x(n) = x(n 4), all n

    We see that x(n) = x(n 1), all n.

    18

  • Hence

    x(n) = x(n 1)

    =3

    k=0

    dkej2k(n1)/4

    =3

    k=0

    dkej2k/4ej2kn/4

    =

    3k=0

    dkej2kn/4

    where

    dk = dkej2k/4

    19

  • or

    d0 = d0ej0 =

    3

    4

    d1 = d1ej/2 =

    1

    4 (j)

    d2 = d2ej = 1

    4 (1)

    d3 = d3ej3/2 =

    1

    4 j

    20

  • Fourier series of non-periodic discrete-timesignals

    In analogy with the continuous-time case a non-periodic

    discrete-time signal consists of a continuum of frequencies

    (rather than a discrete set of frequencies)

    But recall that

    cos(n) = cos(n + 2nl)

    = cos (n( + 2l)), all integers l

    =Only frequencies up to 2 make sense

    21

  • Hence a discrete-time signal {x(n)} can be expanded as

    x(n) =1

    2

    20

    X()ejnd

    where it can be shown that the Fourier transform X() is given

    by

    X() =

    n=

    x(n)ejn

    22

  • THE DISCRETE FOURIER TRANSFORM (DFT)

    Next lets introduce the standard definition of the discrete

    Fourier transform of a sequence

    {x(0), x(1), . . . , x(N 1)}

    of finite length N .

    We do not make any assumptions about the signal (periodicity

    etc) outside the range 0 n N 1.

    23

  • Facts:

    - from N signal values x(0), x(1), . . . , x(N 1) at most Nindependent frequency components can be computed

    - frequency components 2 are redundant (identical withfrequencies < 2

    - lower bound on frequency resolution is 2/N (= frequency

    corresponding to period length equal to sequence length N)

    Hence it makes sense to determine the frequency components

    at the N equidistant frequencies

    0,1

    N2,

    2

    N2, . . . ,

    N 1N

    2

    i.e., the same frequencies contained in an N -periodic signal

    24

  • DISCRETE FOURIER TRANSFORM (DFT):

    The DFT {X(k)}N1k=0 of a sequence {x(k)}N1k=0 is

    defined as

    X(k) =

    N1n=0

    x(n)ej2kNn, k = 0, 1, . . . , N1 (DFT)

    and the inverse DFT (IDFT) is given by

    x(n) =1

    N

    N1k=0

    X(k)ej2kNn, n = 0, 1, . . . , N 1

    Observe similarity with Fourier transform of periodic

    signal

    25

  • EXAMPLE

    Show that the Discrete Fourier Transform of the

    sequence

    {x(n)} = {1, 0, 0, 1}

    is given by

    {X(k)} = {2, 1 + j, 0, 1 j}

    26

  • PROPERTIES OF DFT

    Symmetry property.For a real sequence {x(n)}, the DFT satisfies

    X(N k) = X(k) (complex conjugate)

    i.e.,

    Re[X(N k)] =Re[X(k)]Im[X(N k)] =Im[X(k)], k = 1, . . . , N 1

    27

  • Follows from the fact that in the definition of X(N k),

    x(n)ej2NkN n = x(n)ej2

    kNnj2

    = x(n)ej2kNn

    =(x(n)ej2

    kNn)

    DC component.For k = 0 we have

    X(0)=

    N1n=0

    x(n)ej20Nn

    =x(0) + x(1) + + x(N 1)

    Hence X(0) is real if x(n) are real and the

    28

  • contribution of X(0) to x(n) is

    1

    NX(0)e0 =

    1

    NX(0)

    i.e., a constant component (usually called the DC

    component).

    Oscillating component.For even values of N , we have for k = N/2

    X(N/2) =

    N1n=0

    x(n)ej2N/2N n =

    N1n=0

    x(n)ejn

    = x(0) x(1) + x(N 1)

    Hence X(N/2) is real if x(n) are real and the

    29

  • contribution of X(N/2) to x(n) is

    1

    NX(N/2)ej2

    N/2N n =

    1

    NX(N/2) (1)n

    i.e., an oscillating component.

    Parsevals relation.The energy of the signal {x(n)} defined as

    Px =

    N1n=0

    x(n)2

    can be computed in the frequency domain using

    30

  • Parsevals relation,

    Px =N1n=0

    x(n)2 =1

    N

    N1k=0

    |X(k)|2

    It follows that 1N |X(k)|2 can be interpreted as the

    contribution to the total energy of the signal from

    frequency component 2k/N .

    Note: important in signal compression!

    DFT of a function.The function,

    (n) =

    {1, n = 0

    0, n = 031

  • has DFT X(k) = 1, k = 0, 1, . . . , N 1.Hence it consists of equal amounts of all

    frequencies!

    32

  • DIRECT COMPUTATION OF DFT SUM ISNOT ADVISABLE IN PRACTICE:

    - HIGH COMPUTATIONAL BURDEN:

    Computation of sequence X(k) requires N 2

    complex additions and multiplications (a lot for

    long sequences)

    - Numerical round-off errors add up when evaluation

    long sum

    33

  • EFFICIENT ALGORITHM FOR SOLUTION:Fast Fourier Transform (FFT)

    - FFT: N log2N complex additions and

    (N/2) log2N complex multiplications (compare

    N 2 using direct evaluation)

    - Each element X(k) is obtained by only log2N

    complex additions (compare with N using direct

    evaluation) significantly smaller round-off errors

    MATLAB routines:

    - X=fft(x) (Fourier transform)

    - x=ifft(X) (inverse Fourier transform)

    34

  • FFT uses the fact that the discrete Fourier transformX(k) of a sequence {x(0), x(1), . . . , x(N 1)} withN even can be determined as

    X(k) = X11(k) +WkNX12(k), k = 0, 1, . . . , N/2 1

    X(k +N/2) = X11(k)W kNX12(k), k = 0, 1, . . . , N/2 1

    where WN = ej2/N ,

    {X11(k)} is the Fourier transform of the evensubsequence {x(0), x(2), . . . , x(N 2)}, andX12(k)} is the Fourier transform of the oddsubsequence {x(1), x(3), . . . , x(N 1)}.

    35

  • Example (N = 8):

    X(k) =7

    n=0

    x(n)ej2kn/8

    = x(0) + x(2)ej2k2/8

    + x(4)ej2k4/8

    + x(6)ej2k6/8

    +x(1)ej2k/8

    + x(3)ej2k3/8

    + x(5)ej2k5/8

    + x(7)ej2k7/8

    = x(0) + x(2)ej2k/4

    + x(4)ej2k2/4

    + x(6)ej2k3/4

    +ej2k/8

    (x(1) + x(3)e

    j2k/4+ x(5)e

    j2k2/4+ x(7)e

    j2k3/4)

    =

    3n=0

    x(2n)ej2kn/4

    + ej2k/8

    3n=0

    x(2n + 1)ej2kn/4

    = X11(k) + Wk8 X12(k), k = 0, 1, 2, 3

    where W8 = ej2/8, and

    {X11(k)} = DFT ({x(0), x(2), x(4), x(6)})

    {X12(k)} = DFT ({x(1), x(3), x(5), x(7)})

    36

  • X11(k), X12(k) are defined for k = 0, 1, 2, 3. The latter half of X(k) is obtained from

    X(k + 4) =

    7n=0

    x(n)ej2(k+4)n/8

    = x(0) + x(2)ej2(k+4)2/8

    + x(4)ej2(k+4)4/8

    + x(6)ej2(k+4)6/8

    +x(1)ej2(k+4)/8

    + x(3)ej2(k+4)3/8

    + x(5)ej2(k+4)5/8

    + x(7)ej2(k+4)7/8

    = x(0) + x(2)ej2(k/4+1)

    + x(4)ej2(2k/4+2)

    + x(6)ej2(3k/4+3)

    +ej2(k/8+1/2)

    (x(1) + x(3)e

    j2(k/4+1)+ x(5)e

    j2(2k/4+2)+ x(7)e

    j2(3k/4+3))

    = x(0) + x(2)ej2k/4

    + x(4)ej22k/4

    + x(6)ej23k/4

    +ej2k/8

    ej

    (x(1) + x(3)e

    j2k/4+ x(5)e

    j22k/4+ x(7)e

    j23k/4)

    =

    3n=0

    x(2n)ej2kn/4 ej2k/8

    3n=0

    x(2n + 1)ej2kn/4

    = X11(k) W k8 X12(k), k = 0, 1, 2, 3

    where we have used ej = cos() + j sin() = 1.

    37

  • The operation

    X(k) = X11(k) + WkNX12(k), k = 0, 1, . . . , N/2 1

    X(k + N/2) = X11(k) W kNX12(k), k = 0, 1, . . . , N/2 1

    is known as the Butterly operation:

    &%'$

    3

    QQQQ

    QQQs

    3

    QQQQ

    QQQs

    X11(k)

    X12(k)

    X(k)

    X(k + N/2)

    +

    WkN

    The Discrete Fourier Transform is thus constructed by combining the transform two shorter

    sequences of lengths N/2, N/4, . . . , 2, 1, starting with sequences of length 1.

    38

  • Total number of operations:

    - sequence of length N = 2B can be decomposed B = log2 N times.

    - each stage requires N/2 Butterfly operations.

    - Butterfly operations takes 2 complex additions and 1 complex multiplication.

    =Total number of complex additions = N log2 N

    Total number of complex multiplications = (N/2) log2 N

    39

  • INTERPRETATION OF FOURIER TRANSFORMCOMPONENTS

    0

    X(0)

    X(1)

    1

    X(k)

    k

    X(N/2)

    N/2

    X(N-k)=X(k)

    N-k

    X(N-1)=X(1)

    N-1 N

    Normalized frequency 0 1NkN

    12

    NkN

    N1N 1

    (Hz)

    Actual frequency

    Sampling frequency fs = 1/Ts0 1N

    fskN

    fs12fs

    NkN

    fsN1N

    fs fs (Hz)

    Matlab indexing X(1) X(2) X(k+1) X(N/2+1) X(N-k+1) X(N)

    40

  • To observe:

    The frequency component X(k) corresponds to the frequency 2k/N (radians/s)or k/N (Hz) when the sampling frequency is normalized to 1 sample/s. If the

    actual sampling frequency is fs (samples/s or Hz), X(k) corresponds to the frequency

    (k/N)fs Hz.

    Highest frequency of which information can be obtained = half of sampling frequency= fs/2

    Frequency resolution = fs/N , i.e., increasing sequence length N gives increasedresolution

    Magnitude and phase information from:N/2 + 1 frequency components 0, 1/N, . . . , 1/2 (for even N),

    (N + 1)/2 frequency components 0, 1/N, . . . , 12(N 1)/N (for odd N)

    X(0) is real-valued; describes DC component (zero frequency)

    1

    NX(0) cos(2 0 n) =

    1

    NX(0)

    41

  • X(N/2) is real-valued; describes oscillating component (normalized frequency 1/2)

    1

    NX(N/2) cos(2 (1/2) n) = (1)n

    1

    NX(N/2)

    Frequency components X(1), . . . , X(N/2 1) usually complex-valued.- X(1) describes sinusoidal component with period N samples

    - X(2) describes sinusoidal component with period N/2 samples, etc.

    42