45
Carlos Alexandre Mello – [email protected] Transformada Discreta de Fourier Carlos Alexandre Mello

Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Carlos Alexandre Mello – [email protected]

Transformada Discreta de Fourier

Carlos Alexandre Mello

Page 2: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

2Carlos Alexandre Mello – [email protected]

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

Page 3: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

3Carlos Alexandre Mello – [email protected]

Transformada de Fourier

3

e-jwπ: kernel da transformada

Page 4: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

4Carlos Alexandre Mello – [email protected]

Transformada de FourierPropriedades

� 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

Page 5: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

5Carlos Alexandre Mello – [email protected]

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

Page 6: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

6Carlos Alexandre Mello – [email protected]

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

Page 7: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

7Carlos Alexandre Mello – [email protected]

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, ....

Page 8: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

8Carlos Alexandre Mello – [email protected]

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

Page 9: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

9Carlos Alexandre Mello – [email protected]

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

Page 10: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

10Carlos Alexandre Mello – [email protected]

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

Page 11: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

11Carlos Alexandre Mello – [email protected]

A Série Discreta de Fourier

� Exemplo (cont.):

� Agora:

� Assim:

11

Page 12: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

12Carlos Alexandre Mello – [email protected]

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 vetorescoluna

Page 13: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

13Carlos Alexandre Mello – [email protected]

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

Page 14: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

14Carlos Alexandre Mello – [email protected]

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

Page 15: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

15Carlos Alexandre Mello – [email protected]

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

Page 16: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

16Carlos Alexandre Mello – [email protected]

Transformada Discreta de Fourier

� Como antes:

� Assim, temos:

� Equação de Análise:

� Equação de Síntese:

16

Page 17: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

17Carlos Alexandre Mello – [email protected]

� 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 FourierPropriedades

17

Page 18: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

18Carlos Alexandre Mello – [email protected]

� 2) Deslocamento de uma sequência

� x[n – m] ↔ WNkmX[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 FourierPropriedades

18

Page 19: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

19Carlos Alexandre Mello – [email protected]

� 5) Convolução periódica

Transformada Discreta de FourierPropriedades

19

Page 20: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

20Carlos Alexandre Mello – [email protected]

� 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

Page 21: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

21Carlos Alexandre Mello – [email protected]

� Exemplo (cont.):

Transformada Discreta de Fourier

21

Page 22: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

22Carlos Alexandre Mello – [email protected]

� 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

Page 23: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

23Carlos Alexandre Mello – [email protected]

� 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');

Page 24: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

24Carlos Alexandre Mello – [email protected]

� Exemplo (cont.):

Transformada Discreta de Fourier

24

Page 25: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

25Carlos Alexandre Mello – [email protected]

� 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

Page 26: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

26Carlos Alexandre Mello – [email protected]

Transformada Discreta Bi-Dimensional de Fourier

26

DFT

Page 27: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

27Carlos Alexandre Mello – [email protected]

Transformada Discreta Bi-Dimensional de Fourier

27

Page 28: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

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 Mello – [email protected] 28

Page 29: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� A forma mais comum de representarmos um

espectrograma é através de um gráfico bi-

dimensional onde a abscissa corresponde ao

tempo e a ordenada à frequência

� Uma terceira dimensão indica a amplitude de

cada frequência e é normalmente associada a

uma cor

� Com isso, o espectrograma pode ser visto como uma

imagem

29Carlos Alexandre Mello – [email protected] 29

Page 30: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma: Exemplo (sinal de voz)

30Carlos Alexandre Mello – [email protected] 30

Page 31: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma: Exemplo (sinal de voz)

31Carlos Alexandre Mello – [email protected] 31

Page 32: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma: Exemplo (sinal de voz)

32Carlos Alexandre Mello – [email protected] 32

Page 33: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Normalmente, espectrogramas são gerados

através do cálculo do quadrado da magnitude

da STFT (Short-Time Fourier Transform –

Transformada de Fourier de Tempo Curto) do

sinal

� Podemos interpretar esse valor como a

densidade espectral de potência

33Carlos Alexandre Mello – [email protected] 33

Page 34: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Sem informação de fase

� Não há clara interpretação

� Permite analisar sinais não-estacionários,

considerando-os localmente estacionários

� Questões relacionadas às janelas:

� Que tipo de janela?

� Qual o tamanho? (pode implicar em zero padding)

� Sobreposição?

34Carlos Alexandre Mello – [email protected] 34

Page 35: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Variação na Janela (Hamming)

35Carlos Alexandre Mello – [email protected] 35

>> x = abs(fft(hamming(512).*y2, 1024));>> z = 10*log10(abs(fft(hamming(512).*y2, 1024)));>> figure, subplot (2, 1, 1); plot (x);>> subplot (2, 1, 2); plot (z);

dB

Page 36: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Variação na Janela (Hanning)

36Carlos Alexandre Mello – [email protected] 36

>> x = abs(fft(hanning(512).*y2, 1024));>> z = 10*log10(abs(fft(hanning(512).*y2, 1024)));>> figure, subplot (2, 1, 1); plot (x);>> subplot (2, 1, 2); plot (z);

dB

Page 37: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Variação na Janela (Retangular)

37Carlos Alexandre Mello – [email protected] 37

>> x = abs(fft(rectwin(512).*y2, 1024));>> z = 10*log10(abs(fft(rectwin(512).*y2, 1024)));>> figure, subplot (2, 1, 1); plot (x);>> subplot (2, 1, 2); plot (z);

dB

Page 38: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Sobreposição (em geral 25 a 75%)

38Carlos Alexandre Mello – [email protected] 38

Page 39: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� Sobreposição

39Carlos Alexandre Mello – [email protected] 39

>> load chirp>> spectrogram (y, 256, 250, 1e3, 'yaxis');>> figure, spectrogram (y, 256, 0, 1e3, 'yaxis');

Page 40: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

� O tipo da janela afeta a forma do espectro em

cada região analisada

� O tamanho da janela afeta a suavidade do

espectro

� Janela curta → espectrograma de banda larga

� Janela longa → espectrograma de banda estreita

40Carlos Alexandre Mello – [email protected] 40

Page 41: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

41Carlos Alexandre Mello – [email protected] 41

Janela: 128

Sobreposição: 120

Page 42: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

42Carlos Alexandre Mello – [email protected] 42

Janela: 256

Sobreposição: 250

Page 43: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

43Carlos Alexandre Mello – [email protected] 43

Janela: 512

Sobreposição: 500

Page 44: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

Transformada Discreta de Fourier

� Espectrograma

44Carlos Alexandre Mello – [email protected] 44

Page 45: Transformada Discreta de Fourier - cin.ufpe.brcin.ufpe.br/~cabm/pds/PDS_Aula06_DFT.pdf · Transformada Discreta de Fourier Espectrograma O espectrograma é uma representação visual

45Carlos Alexandre Mello – [email protected] 45Carlos Alexandre Mello – [email protected]

Transformada Discreta de Fourier

� Referências:

� Digital Signal Processing using MatLab, V.Ingle,

J.G.Proakis, Brooks/Cole, 2000

� Discrete-Time Signal Processing, A.Oppenheim

e R.W.Schafer, Prentice-Hall, 1989

� Digital Signal Processing Using MatLab and

Wavelets, M.Weeks, Ed. Infinity Science, 2007

45