Você está na página 1de 32

Carlos Alexandre Mello cabm@cin.ufpe.

br
Transformada Discreta de Fourier
Carlos Alexandre Mello
2
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformadas
O uso de transformadas serve para observar
caractersticas de um sinal que j estavam
presentes nele, mas que podem no ser
observveis em um domnio
Assim, as transformadas conseguem levar o sinal
para outro domnio e traz-lo de volta ao domnio
original.
Transformada de Fourier
Transformada Wavelet
Transformada do Cosseno
...
2
3
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformada de Fourier
3
e
-jw
: kernel da transformada
4
Carlos 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 - t
0
) e
-j2wt
0
.F(w)
Deslocamento na freqncia:
f(t)e
j2w
0
t
F(w w
0
)
Escalonamento:
f(a.t) (1/|a|)F(w/a)
Convoluo no tempo:
f(t)*g(t) F(w).G(w)
Convoluo na freqncia:
f(t).g(t) (1/2)F(w)*G(w)
4
5
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Considere uma sequncia x[n] que
peridica de perodo N:
x[n] = x[n + k.N], qualquer k inteiro
Da anlise de Fourier, sabemos que
funes peridicas podem ser sintetizadas
como uma combinao linear de
exponenciais complexas cujas frequncias
so mltiplas (ou harmnicas) da frequncia
fundamental (no caso 2/N)
5
6
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Da periodicidade no domnio da frequncia
da transformada de Fourier discreta no
tempo, conclumos que existe um nmero
finito de harmnicos:
as frequncias {(2/N)k, k = 0, 1, 2, ...., N-1}
6
7
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Assim, a sequncia peridica x[n] pode ser
expressa como:
onde {X[k], k = 0, 1, ....} so chamados de
coeficientes da srie discreta de Fourier:
7
, n = 0, 1, ....
, k = 0, 1, ....
8
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
x[n] a seqncia discreta no domnio do tempo
que descreve os valores amostrados da varivel
contnua x(t) e N o nmero de amostras da
seqncia da entrada
Observe que X[k] tambm uma sequncia
peridica com perodo fundamental igual a N
Ou seja, X[k + N] = X[k]
As equaes anteriores so a representao
discreta em srie de Fourier de sequncias
peridicas
8
9
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Por convenincia de notao, podemos
chamar:
Assim, temos:
Equao de Anlise:
Equao de Sntese:
9
10
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Exemplo:
Encontre a representao em srie de Fourier
da sequncia:
x[n] = {...0, 1, 2, 3, 0, 1, 2, 3, 0, 1, 2, 3, ....}
O perodo fundamental da sequncia N = 4
Assim, W
4
= e
-j2/4
= e
-j/2
= cos(-/2) + j.sen(-
/2) = 0 + j.(-1) = -j
10
11
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Exemplo (cont.):
Agora:
Assim:
11
12
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Uma outra forma de ver a transformada discreta
de Fourier atravs de uma representao em
matrizes
12
X e x so vetores
coluna
13
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
W
N
chamada de Matriz DFS
No MatLab:
13
function [Xk] = dfs (xn, N)
n = [0:1:N-1];
k = [0:1: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
14
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Inversa:
14
function [xn] = idfs(Xk, N)
n = [0:1:N-1];
k = [0:1: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
15
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Exemplo: Considere uma sequncia
representando uma onda quadrada peridica:
15
>> L = 5; N = 20; k = [-N/2:N/2];
>> xn = [ones(1, L), zeros(1, N-L)];
>> Xk = dfs(xn, N);
>> magXk = abs([Xk(N/2+1:N) Xk(1:N/2+1)]);
>> stem(k, magXk);
axis([-N/2, N/2, -0.5, 5.5]);
xlabel('k');
ylabel('X[k]');
16
Carlos Alexandre Mello cabm@cin.ufpe.br
A Srie Discreta de Fourier
Exemplo (cont.):
16
L = 5 L = 40
17
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformada Discreta de Fourier
A DFT de uma sequncia de N-pontos dada por:
Note que X[k] tambm uma sequncia de N-pontos,
ou seja, ela no definida fora do intervalo de 0 k N
1
A IDFT dada por:
17
, 0 k N 1
, 0 n N 1
18
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformada Discreta de Fourier
Como antes:
Assim, temos:
Equao de Anlise:
Equao de Sntese:
18
19
Carlos Alexandre Mello cabm@cin.ufpe.br
Podemos tambm representar a Transformada
atravs da relao de Euler:
Transformada Discreta de Fourier
19
20
Carlos Alexandre Mello cabm@cin.ufpe.br
1) Linearidade
a.x
1
[n] + b.x
2
[n] a.X
1
[k] + b.X
2
[k]
Obs:
Se x
1
[n] e x
2
[n] so sequncias de duraes
diferentes (N
1
-pontos e N
2
-pontos, por exemplo),
escolha N
3
= max(N
1
, N
2
)
Se, por exemplo, N
1
< N
2
, ento X
1
[k] a DFT
de x
1
[n] aumentada de (N
2
N
1
) zeros
Transformada Discreta de Fourier
Propriedades
20
21
Carlos Alexandre Mello cabm@cin.ufpe.br
2) Deslocamento de uma seqncia
x[n m] W
N
km
X[m]
3) Dualidade
Se x[n] X[k], ento X[n] N.x[-k]
Transformada Discreta de Fourier
Propriedades
21
22
Carlos Alexandre Mello cabm@cin.ufpe.br
4) Simetria
Quando a seqncia do sinal for real, ento X[N
m]* = X[m]
Ou seja basta que calculemos as componentes de
X[m] para 0 m N/2
Prova:
Transformada Discreta de Fourier
Propriedades
22
23
Carlos Alexandre Mello cabm@cin.ufpe.br
4) Simetria (cont.)
Transformada Discreta de Fourier
Propriedades
23
24
Carlos Alexandre Mello cabm@cin.ufpe.br
5) Convoluo peridica
Transformada Discreta de Fourier
Propriedades
24
25
Carlos Alexandre Mello cabm@cin.ufpe.br
Exemplo:
Transformada Discreta de Fourier
25
>> 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');
26
Carlos Alexandre Mello cabm@cin.ufpe.br
Exemplo (cont.):
Transformada Discreta de Fourier
26
27
Carlos Alexandre Mello cabm@cin.ufpe.br
Exemplo (cont.):
Observe que, como o sinal x[n] real, a magnitude da
resposta em frequncia apresenta uma imagem
refletida
Assim, precisamos apenas da primeira metade dela
Para a fase, o padro tambm aparece refletido no eixo
da freqncia; novamente, s precisamos de metade da
plotagem
Para a questo da magnitude podemos fazer:
Transformada Discreta de Fourier
27
28
Carlos Alexandre Mello cabm@cin.ufpe.br
Exemplo (cont.):
Transformada Discreta de Fourier
28
>> 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');
29
Carlos Alexandre Mello cabm@cin.ufpe.br
Exemplo (cont.):
Transformada Discreta de Fourier
29
30
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformada Discreta Bi-Dimensional de
Fourier
30
DFT
31
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformada Discreta Bi-Dimensional de
Fourier
31
32
Carlos Alexandre Mello cabm@cin.ufpe.br
32
Carlos Alexandre Mello cabm@cin.ufpe.br
Transformada Discreta de Fourier
Referncias:
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
32

Você também pode gostar