Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdfآ  Transformada

  • View
    2

  • Download
    0

Embed Size (px)

Text of Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdfآ ...

  • Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada Discreta de Fourier

    Carlos Alexandre Mello

  • 2Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformadas

    � O uso de transformadas serve para observar características de um sinal que já estavam presentes nele, mas que podem não ser observáveis em um domínio

    � Assim, as transformadas conseguem levar o sinal para outro domínio e trazê-lo de volta ao domínio original. � Transformada de Fourier

    � Transformada Wavelet

    � Transformada do Cosseno

    � ...

    2

  • 3Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada de Fourier

    3

    e-jwπ: kernel da transformada

  • 4Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada de Fourier Propriedades

    � Linearidade: � a.f(t) + b.g(t) ↔ a.F(w) + b.G(w)

    � Deslocamento no tempo � f(t - t0) ↔ e

    -j2πwt0.F(w)

    � Deslocamento na frequência: � f(t)ej2πw0t ↔ F(w – w0)

    � Escalonamento: � f(a.t) ↔ (1/|a|)F(w/a)

    � Convolução no tempo: � f(t)*g(t) ↔ F(w).G(w)

    � Convolução na frequência: � f(t).g(t) ↔ (1/2π)F(w)*G(w)

    4

  • 5Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Considere uma sequência x[n] que é periódica de período N: � x[n] = x[n + k.N], qualquer k inteiro

    � Da análise de Fourier, sabemos que funções periódicas podem ser sintetizadas como uma combinação linear de exponenciais complexas cujas frequências são múltiplas (ou harmônicas) da frequência fundamental (no caso 2π/N)

    5

  • 6Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Da periodicidade no domínio da frequência da transformada de Fourier discreta no tempo, concluímos que existe um número finito de harmônicos:

    � as frequências {(2π/N)k, k = 0, 1, 2, ...., N-1}

    6

  • 7Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Assim, a sequência periódica x[n] pode ser expressa como:

    � onde {X[k], k = 0, ±1, ....} são chamados de coeficientes da série discreta de Fourier:

    7

    , n = 0, ±1, ....

    , k = 0, ±1, ....

  • 8Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � x[n] é a sequência discreta no domínio do tempo

    que descreve os valores amostrados da variável

    contínua x(t) e N é o número de amostras da

    sequência da entrada

    � Observe que X[k] também é uma sequência

    periódica com período fundamental igual a N

    � Ou seja, X[k + N] = X[k]

    � As equações anteriores são a representação

    discreta em série de Fourier de sequências

    periódicas

    8

  • 9Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Por conveniência de notação, podemos chamar:

    � Assim, temos:

    � Equação de Análise:

    � Equação de Síntese:

    9

  • 10Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Exemplo:

    � Encontre a representação em série de Fourier

    da sequência:

    � x[n] = {...0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, ....}

    � O período fundamental da sequência é N = 4

    � Assim, W4 = e -j2π/4 = e-jπ/2 = cos(-π/2) + j.sen(-

    π/2) = 0 + j.(-1) = -j

    10

  • 11Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Exemplo (cont.):

    � Agora:

    � Assim:

    11

  • 12Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Uma outra forma de ver a transformada discreta

    de Fourier é através de uma representação em

    matrizes

    12

    X e x são vetores coluna

  • 13Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � WN é chamada de Matriz DFS

    � No MatLab:

    13

    function [Xk] = dfs (xn, N)

    n = [0:N-1];

    k = [0:N-1];

    WN = exp(-j*2*pi/N);

    nk = n'*k;

    WNnk = WN.^nk;

    Xk = xn*WNnk; >> xn = [0 1 2 3]; N = 4;

    >> Xk = dfs(xn, N)

    Xk = 6 -2 + 2i -2 - 0i -2 - 2i

  • 14Carlos Alexandre Mello – cabm@cin.ufpe.br

    A Série Discreta de Fourier

    � Inversa:

    14

    function [xn] = idfs(Xk, N)

    n = [0:N-1];

    k = [0:N-1];

    WN = exp(-j*2*pi/N);

    nk = n'*k;

    WNnk = WN.^(-nk);

    xn = (Xk*WNnk)/N; Para o Xk anterior, temos:

    >> xn = idfs(Xk, N)

    xn = 0 - 0i 1 - 0i 2 - 0i 3 + 0i

  • 15Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada Discreta de Fourier

    � A DFT de uma sequência de N-pontos é dada por:

    � X[k] também é uma sequência de N-pontos, ou seja, ela

    não é definida fora do intervalo de 0 ≤ k ≤ N – 1

    � A IDFT é dada por:

    15

    , 0 ≤ k ≤ N – 1

    , 0 ≤ n ≤ N – 1

  • 16Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada Discreta de Fourier

    � Como antes:

    � Assim, temos:

    � Equação de Análise:

    � Equação de Síntese:

    16

  • 17Carlos Alexandre Mello – cabm@cin.ufpe.br

    � 1) Linearidade

    � a.x1[n] + b.x2[n] ↔ a.X1[k] + b.X2[k]

    � Obs:

    � Se x1[n] e x2[n] são sequências de durações

    diferentes (N1-pontos e N2-pontos, por exemplo),

    escolha N3 = max(N1, N2)

    � Se, por exemplo, N1 < N2, então X1[k] é a DFT

    de x1[n] aumentada de (N2 – N1) zeros

    � Zero padding

    Transformada Discreta de Fourier Propriedades

    17

  • 18Carlos Alexandre Mello – cabm@cin.ufpe.br

    � 2) Deslocamento de uma sequência

    � x[n – m] ↔ WN kmX[m]

    � 3) Dualidade

    � Se x[n] ↔ X[k], então X[n] ↔ N.x[-k]

    � 4) Simetria

    � Quando a sequência do sinal for real, então X[N

    − m]* = X[m]

    � Ou seja basta que calculemos as componentes de

    X[m] para 0 ≤ m ≤ N/2

    Transformada Discreta de Fourier Propriedades

    18

  • 19Carlos Alexandre Mello – cabm@cin.ufpe.br

    � 5) Convolução periódica

    Transformada Discreta de Fourier Propriedades

    19

  • 20Carlos Alexandre Mello – cabm@cin.ufpe.br

    � Exemplo:

    Transformada Discreta de Fourier

    20

    >> n = 0:99;

    >> fs = 200;

    >> Ts=1/fs;

    >>x=cos(2*pi*20*n*Ts + pi/4) + 3*cos(2*pi*40*n*Ts - 2*pi/5) + 2*cos(2*pi*60*n*Ts + pi/8);

    >> X = fft(x);

    >> m = 0:length(X) - 1;

    >> subplot(3, 1, 1); stem(x); xlabel('n');ylabel('x(n)');title('Sequencia');

    >> subplot(3, 1, 2); stem(m*fs/length(X), abs(X), 'b'); ylabel('magnitude');

    >> xlabel('frequencia (Hz)'); title('Magnitude da Resposta em Frequencia');

    >> subplot(3,1,3); stem(m*fs/length(X), angle(X), 'b'); ylabel('Angulo');

    >> xlabel('frequencia (Hz)'); title('Fase');

    x é real

  • 21Carlos Alexandre Mello – cabm@cin.ufpe.br

    � Exemplo (cont.):

    Transformada Discreta de Fourier

    21

  • 22Carlos Alexandre Mello – cabm@cin.ufpe.br

    � Exemplo (cont.):

    � Observe que, como o sinal x[n] é real, a magnitude da

    resposta em frequência apresenta uma imagem

    refletida

    � Assim, precisamos apenas da primeira metade dela

    Transformada Discreta de Fourier

    22

  • 23Carlos Alexandre Mello – cabm@cin.ufpe.br

    � Exemplo (cont.):

    � Podemos fazer:

    Transformada Discreta de Fourier

    23

    >> half_m = 0:ceil(length(X)/2);

    >> stem(half_m*fs/length(X), abs(X(half_m + 1)), 'b');

    >> ylabel('magnitude');

    >> xlabel('frequencia (Hz)'); title('Magnitude da Resposta em Frequencia');

  • 24Carlos Alexandre Mello – cabm@cin.ufpe.br

    � Exemplo (cont.):

    Transformada Discreta de Fourier

    24

  • 25Carlos Alexandre Mello – cabm@cin.ufpe.br

    � Exemplo (cont.):

    � Para a fase, o padrão também aparece mas refletido no

    eixo da frequência; novamente, só precisamos de

    metade da plotagem

    Transformada Discreta de Fourier

    25

  • 26Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada Discreta Bi-Dimensional de Fourier

    26

    DFT

  • 27Carlos Alexandre Mello – cabm@cin.ufpe.br

    Transformada Discreta Bi-Dimensional de Fourier

    27

  • Transformada Discreta de Fourier

    � Espectrograma

    � O espectrograma é uma representação visual

    dos harmônicos de um sinal de entrada em

    função do tempo

    � Do ponto de vista de implementação, temos um

    janelamento do sinal de entrada tomando a

    transformada de Fourier de cada parte e

    plotando ela

    28Carlos Alexandre M