Transformada Discreta de Fourier
Carlos Alexandre Mello
Carlos 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
...
Carlos Alexandre Mello – [email protected]
2
Transformada de Fourier
e-jwπ: kernel da transformada
Carlos Alexandre Mello – [email protected]
3
Transformada de Fourier
Propriedades
Linearidade:
Deslocamento no tempo
f(a.t) ↔ (1/|a|)F(w/a)
Convolução no tempo:
f(t)ej2πw0t ↔ F(w – w0)
Escalonamento:
f(t - t0) ↔ e-j2πwt0.F(w)
Deslocamento na frequência:
a.f(t) + b.g(t) ↔ a.F(w) + b.G(w)
f(t)*g(t) ↔ F(w).G(w)
Convolução na frequência:
f(t).g(t) ↔ (1/2π)F(w)*G(w)
Carlos Alexandre Mello – [email protected]
4
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)
Carlos Alexandre Mello – [email protected]
5
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}
Carlos Alexandre Mello – [email protected]
6
A Série Discreta de Fourier
Assim, a sequência periódica x[n] pode ser
expressa como:
, n = 0, ±1, ....
onde {X[k], k = 0, ±1, ....} são chamados de
coeficientes da série discreta de Fourier:
, k = 0, ±1, ....
Carlos Alexandre Mello – [email protected]
7
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
Carlos Alexandre Mello – [email protected]
8
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:
Carlos Alexandre Mello – [email protected]
9
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
Carlos Alexandre Mello – [email protected]
10
A Série Discreta de Fourier
Exemplo (cont.):
Agora:
Assim:
Carlos Alexandre Mello – [email protected]
11
A Série Discreta de Fourier
Uma outra forma de ver a transformada discreta
de Fourier é através de uma representação em
matrizes
X e x são vetores
coluna
Carlos Alexandre Mello – [email protected]
12
A Série Discreta de Fourier
WN é chamada de Matriz DFS
No MatLab:
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;
>> xn = [0 1 2 3]; N = 4;
Xk = xn*WNnk;
>> Xk = dfs(xn, N)
Xk = 6 -2 + 2i
-2 - 0i
Carlos Alexandre Mello – [email protected]
-2 - 2i
13
A Série Discreta de Fourier
Inversa:
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
Carlos Alexandre Mello – [email protected]
14
Transformada Discreta de Fourier
A DFT de uma sequência de N-pontos é dada por:
,
0≤k≤N–1
Note que 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:
,
0≤n≤N–1
Carlos Alexandre Mello – [email protected]
15
Transformada Discreta de Fourier
Como antes:
Assim, temos:
Equação de Análise:
Equação de Síntese:
Carlos Alexandre Mello – [email protected]
16
Transformada Discreta de Fourier
Propriedades
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
Carlos Alexandre Mello – [email protected]
17
Transformada Discreta de Fourier
Propriedades
2) Deslocamento de uma seqüência
x[n – m] ↔ WNkmX[m]
3) Dualidade
Se x[n] ↔ X[k], então X[n] ↔ N.x[-k]
Carlos Alexandre Mello – [email protected]
18
Transformada Discreta de Fourier
Propriedades
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
Prova:
Carlos Alexandre Mello – [email protected]
19
Transformada Discreta de Fourier
Propriedades
4) Simetria (cont.)
Carlos Alexandre Mello – [email protected]
20
Transformada Discreta de Fourier
Propriedades
5) Convolução periódica
Carlos Alexandre Mello – [email protected]
21
Transformada Discreta de Fourier
Exemplo:
>> 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');
Carlos Alexandre Mello – [email protected]
22
Transformada Discreta de Fourier
Exemplo (cont.):
Carlos Alexandre Mello – [email protected]
23
Transformada Discreta de Fourier
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
Para a fase, o padrão também aparece refletido no eixo
da frequência; novamente, só precisamos de metade da
plotagem
Para a questão da magnitude podemos fazer:
Carlos Alexandre Mello – [email protected]
24
Transformada Discreta de Fourier
Exemplo (cont.):
>> 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');
Carlos Alexandre Mello – [email protected]
25
Transformada Discreta de Fourier
Exemplo (cont.):
Carlos Alexandre Mello – [email protected]
26
Transformada Discreta Bi-Dimensional de
Fourier
DFT
Carlos Alexandre Mello – [email protected]
27
Transformada Discreta Bi-Dimensional de
Fourier
Carlos Alexandre Mello – [email protected]
28
Transformada Discreta de Fourier
Espectrograma
O espectrograma apresenta a densidade espectral do
sinal ao longo do tempo
Em processamento de voz, o espectrograma é usado
para identificar fonemas no sinal
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
Carlos Alexandre Mello – [email protected]
29
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
Carlos Alexandre Mello – [email protected]
30
Transformada Discreta de Fourier
Espectrograma: Exemplo (sinal de voz)
Carlos Alexandre Mello – [email protected]
31
Transformada Discreta de Fourier
Espectrograma: Exemplo (sinal de voz)
Carlos Alexandre Mello – [email protected]
32
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
Carlos Alexandre Mello – [email protected]
33
Download

Transformada Discreta de Fourier