Processamento de Sinais 1 Arlei Fonseca Barcelos
Analise de Fourier de Sinais em Tempo Discreto
Serie de Fourier de um sinal contnuoEsta serie e baseada no seguinte teorema diz que: Qualquer forma de onda periodica no tempo podeser representada na forma de somas de senos e cossenos.A equacao geral da serie de Fourier de sinais periodicos e dado por:
f(t) = a0 +n=1
(an. cos(n.o.t) + bn sin(n.o.t)) (1)
onde:
f(t) e a funcao a ser desenvolvida.
ao e o valor medio de f(t).
an e bn sao os coeficientes da serie de fourier.
o e a frequencia angular de f(t)
0.0.1 Calculo dos coeficientes da serie de Fourier
Como visto em disciplinas anteriores do curso de Engenharia os coeficientes da serie de Fourier edada por
ao = 1/T0.
T00
f(t).dt (2)
an = 2/T0.
T00
f(t). cos(n.o.t).dt (3)
bn = 2/T0.
T00
f(t). sin(n.o.t).dt (4)
Aplicando estas expressoes podemos expandir sinais periodicos dados em suas series de Fourier.Dependendo do sinal podemos ter um numero finito de termos ou infinito. Existem algumas pro-priedades que podem simplificar os calculos dos coeficientes, como:
Fato 0.1 Um sinal x sera chamado de par quando x(t) = x(t) e mpar quando x(t) = x(t).
Fato 0.2 Se x(t) e um sinal periodico par entao bk = 0 para todo o k, ou seja, a sua serie de Fouriere composta apenas de cossenos.Se x(t) e um sinal periodico mpar entao ak = 0 para todo o k, ou seja, a sua serie de Fourier ecomposta apenas por senos.
Exemplo 0.1 Calcular a serie de Fourier da forma de onda
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 2 Arlei Fonseca Barcelos
O termo DC sera dado por
ao = 1/T0.
T00
f(t).dt = 1/T0.
T0/20
sin(0t).dt = 1/pi
A funcao nao e par nem mpar, portanto deve-se calcular os coeficientes an e bn
an = 2/T0.
T00
f(t). cos(n.o.t).dt
= 2/T0.
T0/20
sin(0t). cos(n.o.t).dt
= 2/T0
[ cos((n+ 1)pi)20(n+ 1)
+cos((n 1)pi)20(n 1) +
10(n+ 1)(n 1)
]=
1
pi(n2 1)[(n 1)
2cos((n+ 1)pi) +
(n+ 1)
2cos((n 1)pi) 1
]Quando k = 1 deve-se integrar sin(o.t) cos(o.t) = sin(2o.t)/2, onde o seu resultado sera igual azero. Excluindo este valor pode-s analisa a expressao acima de modo geral.Para valores mpares de n tem-sean = 0Para valores pares de n tem-se
an =2
pi(n2 1)Para os coeficientes dos senos:
bn = 2/T0.
T00
f(t). sin(n.o.t).dt
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 3 Arlei Fonseca Barcelos
= 2/T0.
T0/20
sin(0t). sin(n.o.t).dt
= 2/T0(n+ 1) sin((n 1)pi) (n 1) sin((n+ 1)pi)
20(n+ 1)(n 1)=
1
2pi(n2 1)[(n+ 1) sin((kn 1)pi) (n 1) sin((n+ 1)pi)]Para valores pares de n os senos se anulam e bn = 0. Para valores mpares o mesmo raciocnio seaplica, desde que k 6= 1.Para este caso deve-se resolver
bn = 2/T0.
T00
f(t). sin(n.o.t).dt
bn = 2/T0.
T0/20
sin2(o.t).dt = 2/T0pi
20= 1/2
Em resumo:
a0 = A/pi; an =
{0 n mpar2
pi(n21) n parbn =
{1/2 n = 10 n > 1
e a expansao e dada por:
x(t) = 1/pi + 1/2 sin(o.t) 2/3pi cos(2o.t) 2/15pi cos(4o.t) . . .Segue abaixo um programa para calculo dos coeficientes no MATLAB.
Programa Matlab 0.1%Calcula os coeficientes da integral de Fourier
clc;
clear all;
syms t;
n=0;
T0=1;
omega0=2*pi/T0;
ft=sin(omega0*t)
while n~=10000,
n = input(Entre com o valor do numero do harmonico
desejado ou 10000 para sair: );
if n==0
a0=simple(1/T0*int(ft,0,T0/2))
else
an=simple(2/T0*int(ft*cos(n*omega0*t),0,T0/2))
bn=simple(2/T0*int(ft*sin(n*omega0*t),0,T0/2))
end
end;
Exemplo 0.2 Seja a onda triangular para a qual um dos perodos e dado por
x(t) =
{4t/T0 + 1 T0/2 t 04t/T0 + 1 0 t T0/2
seu grafico e:
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 4 Arlei Fonseca Barcelos
calcular a sua serie de Fourier: O termo DC e nulo; como o sinal e par bn = 0 e havera apenastermos cossenoidais
an = 2/T0
x(t)cos(n0t)dt
= 2/T0
[ 0T0/2
(4t/T0 + 1)cos(n0t)dt+
T0/20
(4t/T0 + 1)cos(n0t)dt]
= 8/T 20
[ 0T0/2
tcos(n0t)dt T0/20
(tcos(n0t)dt
]
=4
n2pi2[1 cos(npi)] = 8
n2pi2quando n e mpar, e 0 quando n e par.
Logo, a expressao completa sera dada por
x(t) =8
pi2cos(0t) +
8
9pi2cos(30t) +
8
25pi2cos(50t) + . . .
Exerccio 0.1 Trace o grafico da serie do exemplo 0.2 no MATLAB
Exemplo 0.3 Seja onda quadrada descrita no tempo dada por
x(t) =
{1 0 < t < T0/21 T0/2 < t < T0
Calcule a sua serie de Fourier: O termo DC e nulo; como o sinal e mpar an = 0 e havera apenastermos senoidais.
bn = 2/T0
x(t)sin(n0t)dt
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 5 Arlei Fonseca Barcelos
= 2/T0
[ T0/20
sin(n0t)dt T0T0/2
(sin(n0t)dt
]
=2
npi[1 cos(npi)] = 4
npiquando n e mpar, e 0 quando n e par.
x(t) =4
pisin(0t) +
4
3pisin(30t) +
4
5pisin(50t) + . . .
Exerccio 0.2 Trace o grafico da serie do exemplo 0.3 no MATLAB.
0.0.2 Serie de Fourier - Forma Cossenoidal
Sabemos da trigonometria que
a cos+ b sin = A cos(+ ) (5)
onde
A =a2 + b2 e tan = b/a (6)
A expansao de um sinal x(t) na forma trigonometrica da serie de Fourier e:
x(t) = a0 + a1 cos(o.t) + a2 cos(20.t) + ...+ b1 sin(o.t) + b2 sin(2o.t) + ... (7)
Usando as relacoes acima descritas podemos reescrever esta serie em forma mais compacta:
x(t) = A0 +k=1
Ak cos(k0.t+ k) (8)
onde
A0 = a0 ; Ak =a2k + b
2k e tan k = bk/ak (9)
A ideia basica permanece a mesma, decompomos um dado sinal em uma soma de sinais elementares.Este formato e considerado mais simples porque envolve apenas cossenos; em compensacao cada umdestes cossenos apresenta fase.
Exemplo 0.4 Para a onda do exemplo 0.3, faca sua representacao em cossenos:
x(t) =4
picos(0t pi/2) + 4
3picos(30t pi/2) + 4
5picos(50t pi/2) + . . .
Exemplo 0.5 Observe que a onda triangular do exemplo 0.2 a serie ja e decomposta apenas decossenos, portanto a sua resposta em cossenos seria a mesma.
Exemplo 0.6 Para a onda senoidal semi-retificada do exemplo 0.1 a serie era decomposta em senose cossenos,
x(t) = 1/pi + 1/2 sin(o.t) 2/3pi cos(2o.t) 2/15pi cos(4o.t) . . .Passando apenas para cossenos obtem-se
x(t) = 1/pi + 1/2cos(o.t) + 2/3pi cos(2o.t pi) + 2/15pi cos(4o.t pi) + . . .
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 6 Arlei Fonseca Barcelos
0.0.3 Forma espectral da serie de Fourier
Seja a onda quadrada da exemplo 0.4, como exemplo, decomposta atraves de sua serie de Fourierproposta anteriormente. Devemos mostrar como ficara seu espectro de frequencia.
Exemplo 0.7 Sua expressao decomposta em sua serie de Fourier, ficou da seguinte forma:
x(t) =4
picos(0t pi/2) + 4
3picos(30t pi/2) + 4
5picos(50t pi/2) + . . .
Harmonico Freq.Angular Amplitude Fasen = 0 0 0 0n = 1 0
4pi
pi/2n = 3 30
43pi
pi/2n = 5 50
45pi
pi/2n = 7 70
457pi
pi/2
O tracado do espectro de frequencia ficara da seguinte forma:
Observacao 0.1 : a tabela acima possuira termos que irao ate o infinito, porem ele so mostratermos ate o setimo harmonico.
Programa Matlab 0.2 Programa feito no MATLAB para o tracado do espectro da onda quadrada.
%Espectro de Fourier da onda quadrada
close all
clear all
x=[0 1 2 3 4 5 6 7 8]
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 7 Arlei Fonseca Barcelos
y=[0 4/pi 0 4/(3*pi) 0 4/(5*pi) 0 4/(7*pi) 0]
subplot(1,2,1);stem(x,y);grid;
title(Esp. de amplitude da onda quad. para w0=1);
teta=[0 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2 -pi/2]
subplot(1,2,2);stem(x,teta);grid;
title(Esp. de fase da onda quad.para w0=1);
Exerccio 0.3 Repita o que foi feito no exemplo 0.7 nos sinal do exemplo 0.5.
Exerccio 0.4 Repita o que foi feito no exemplo 0.7 nos sinal do exemplo 0.6.
0.1 Serie de Fourier - Forma exponencial
Pode-se usar a conhecida expressao de Euler
ej = cos+ jsen
para obter a expressao do cos em termos de exponenciais complexas:
ej = cos+ jsenej = cos jsen
}= cos = 1/2ej + 1/2ej
Aplicando a expressao do cosseno geral:
Ancos(n0t+ n) =An2ej(n0t+n) +
An2ej(n0t+n) =
An2ejnejn0t +
An2ejnejn0t
Entao substituindo na serie de Fourier de x(t) tem-se
x(t) = A0 +n=1
+Ancos(n0t+ n) =
= A0 +n=1
[An2ejnejn0t +
An2ejnejn0t
]= . . .+
A22ej2ej20t +
A12ej1ej0t + A0 +
A12ej1ej0t +
A22ej2ej20t + . . .
Temos uma serie de exponenciais complexas, cada uma delas acompanha de um coeficiente complexo;as exponenciais sao associadas a`s frequencias 0,0,20,30, . . . e os coeficientes sao da formaMej onde M esta relacionado com as amplitudes e a fase, observe, com isso, que a serie pode serrepresentada da seguinte forma
x(t) =
n=Dne
jn0t (10)
onde|Dn| = An2 Dn = n n > 0|D0| = A0 D0 = 0 n = 0|Dn| = An2 Dn = n n < 0
Observe que o preco a se pagar por se utilizar a serie de fourier na forma exponencial e o surgimento defrequencias negativas o que se confunde com o mundo real onde nao existe este tipos de frequencias.
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 8 Arlei Fonseca Barcelos
O calculo da serie, teoricamente, necessitariam dos parametros Ak e k da forma cossenoidal. Paraevitar o calculo do parametros da serie cossenoidal e utilizado o seguinte artifcio
T00
x(t)ejk0tdt = T00
(
n=Dne
jn0t)ejk0tdt =
n=Dn
T00
ej(nk)0tdt
Observe que T00
ej(nk)0tdt =
{T, k = n[
1j(nk)0 e
j(nk)0]T0, k 6= n
Usando o fato de que
ej(nk)0T = ej(nk)2pi = 1
e dando continuidade a equacao anterior
T00
x(t)ejk0tdt = Dn
T00
dt
logo, finalmente,
Dn =1
T0
T00
x(t)ejk0t
Exerccio 0.5 Onda triangular definida, em um de seus perodos, por:
x(t) =
4AT0t para 0 t T0
2
4AT0
t+ 2A para T02 t T0
Calcule a serie de fourier na forma exponencial
Exerccio 0.6 x(t) = | sin(200.pi.t)| Calcule a serie de fourier na forma exponencial
Exerccio 0.7 1 Determine a serie trigonometrica de Fourier do sinal periodico x(t) mostrado nafigura que segue:
1A solucao para este exerccio pode ser visto nas paginas 533 e 544 no livro Sinais e Sistemas Lineares Lathi Ed.Bookman 2oed.
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 9 Arlei Fonseca Barcelos
Programa gerador do grafico anterior
%Calcula os coeficientes da integral de Fourier
clc;
clear all;
t=0:0.001:10;
xt=0.504;
n=1;
while n~=1000,
xt=xt+0.504*((2/(1+16*(n^2)))*(cos(2*n.*t)+4*n*sin(2*n.*t)));
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 10 Arlei Fonseca Barcelos
n=n+1;
end
plot(t,xt);
Exerccio 0.8 Repita o exerccio 0.7 na forma cossenoidal.
Exerccio 0.9 Repita o exerccio 0.7 na forma exponencial.
Exerccio 0.10 Determine a serie exponencial de Fourier e trace o espectro correspondente para otrem de impulso T0(t), mostrado na figura que segue
Resposta:
0(t) =1
T0[1 + 2(cos0t+ cos 20t+ cos 30t+ . . .)] 0 =
2pi
T0
na forma exponencial
0(t) =1
T0[1 + ej0t + ej0t + ej20t + ej20t + ej30t + ej30t]
Pode ser observado que quando a serie de Fourier e representada na forma exponencial, tem-sefrequencias negativas do sinal e sua amplitude reduzida pela metade. Isto e mostrado na figura quesegue para os graficos do sinal do exerccio 0.7(T0)
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 11 Arlei Fonseca Barcelos
0.2 Teorema de amostragem e espectro de frequencia
Considere o sinal mostrado na figura 1a, o seu espectro e mostrado na figura 1b, com o seu esbocona forma exponencial, isto e, possuindo frequencia positivas e negativas. Quando este sinal e mul-tiplicado por um trem de pulso do tipo que apresentado na figura 1c obtem-se o grafico no temposemelhante ao mostrado na figura 1e que possui como expressao
x(t) = x(t)T (t) =n
x(nT )(t nT )
Como a funcao T (t) e um sinal periodico T, ele pode ser decomposto em um serie de Fourier comofoi mostrado no exerccio 0.10, ou seja,
T (t) =1
T[1 + 2(cosst+ cos 2st+ cos 3st+ . . .)] s =
2pi
T
Logo,
x(t) = x(t)T (t) =1
T[x(t) + 2(x(t) cosst+ x(t) cos 2st+ x(t) cos 3st+ . . .)] s =
2pi
T(11)
Para o calculo de X(), a transformada de Fourier de x(t) deve-se obter a transformada de cadatermo do lado direito da equacao 11. A transformada do 1o termo e X(). A transformada dosdemais termos que estao multiplicados por cossenoides, seguem uma propriedade da transformadade Fourier de deslocamento na frequencia. Isto pode provado da seguinte forma, seja a definicao daintegral da transformada de Fourier, dada por
x(t) =1
2pi
X()ejtd (12)
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 12 Arlei Fonseca Barcelos
Figura 1: Sinal amostrado e seu espectro de Fourier
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 13 Arlei Fonseca Barcelos
e a sua funcao inversa dada por
X() =
x(t)ejtdt (13)
Esta relacao pode ser resumida atraves da figura Semelhante a transformada de Laplace existemdiversas tabelas de algumas transformadas de Fourier de algumas funcoes no tempo.
0.3 Calculo Numerico da Transformada de Fourier: Trans-
formada de Fourier Discreta(TDF)
Para o calculo de Dn, apresentado na equacao 10, numericamente usando a TDF e necessario que sepossua amostras no tempo do sinal periodico x(t). O intervalo de amostragem e T segundos. Logo,existirao N0 = T0/T amostras em um perodo T0. Para determinar a relacao entre Dn e as amostrasde x(t), considere a equacao 14
Dn =1
T0
T00
x(t)ejk0t = limT0
1
N0T
N01k=0
x(kT )ejn0kTT = limT0
1
N0
N01k=0
x(kT )ejn0k (14)
sendo
N0 =T0T
0 = 0T =2pi
N0(15)
Fazer T 0 nao sera possvel, portanto o erro computacional para T muito pequeno podera serdesprezvel. Portanto, pode-se ignorar o limite de T 0 e a equacao 14 torna-se
Dn =1
N0
N01k=0
x(kT )ejn0k (16)
Fazendo WN = ej0 , obtem-se a seguinte expressao
Dn =1
N0
N01k=0
x(kT )W nkN (17)
A parcela X(n) =N01
k=0 x(n)WnkN e denominada de TDF de um sinal.
O calculo do TDF envolve diversas multiplicacoes e somas, como por exemplo segue o caso de N=8amostras, com amostras temporais dadas por x(0),x(1),. . . ,x(7), assim para
X(n) =
N01k=0
x(n)W nkN (18)
pode ser expandido
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 14 Arlei Fonseca Barcelos
0.3.1 A FFT
Pode-se utilizar a eficiente FFT(Transformada Rapida de Fourier) para calcular o lado direito daequacao 17. Os algoritmos de FFT procuram diminuir os numeros de multiplicacoes e adicoes parao calculo de X(n). Isto se deve ao fato de que W possui periodicidade e simetria. Isto pode sercompreendido observando nas figuras que seguem:
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 15 Arlei Fonseca Barcelos
Devido a periodicidade de W pode-se verificar que:
Devido a simetria
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 16 Arlei Fonseca Barcelos
logo,
Obtem-se
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 17 Arlei Fonseca Barcelos
Rearranjando tem-se
Pode ser observado nas equacoes descritas anteriormente que o numero de multiplicacoes para ocalculo da TFD reduziu sensivelmente e, consequentemente, diminuindo o tempo de execucao numprocessador de sinais para o calculo de espectro de frequencia de um sinal. Este algoritmos parareducao dos calculos da-se o nome de FFT.
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 18 Arlei Fonseca Barcelos
0.3.2 A FFT no MATLAB
E possvel utilizar o MATLAB para calcular o DFT de amostrar de um sinal x(t) no tempo utilizandoo seu comando FFT. Veja alguns exemplos
%Programa para plotar graficos no MATLAB
%Elaborado por: Arlei 15/02/05
close all
clear all
clc
%######################
t = 0:.0001:.625;
y = sin(2*pi*30*t);
SUBPLOT(3,2,1),plot(t,y,-);
TITLE( y = sin(2*pi*30*t));
axis([0 .0625 -1.5 1.5]);grid
%######################
Y=fft(y,6250);
py=abs(Y)/6250;
f=10000*(-3125:3124)/6250
SUBPLOT(3,2,2),plot(f,fftshift(py(1:6250)));
axis([-100 100 -0.2 0.6]);
TITLE(Espectro de freq. y = sin(2*pi*30*t));grid
%######################
t = 0:.0001:.625;
y = SQUARE(2*pi*30*t);
SUBPLOT(3,2,3),plot(t,y,-);
TITLE(y = SQUARE(2*pi*30*t));
axis([0 .0625 -1.5 1.5]);grid
%######################
Y=fft(y,6250);
py=abs(Y)/6250;
f=10000*(-3125:3124)/6250
SUBPLOT(3,2,4),plot(f,fftshift(py(1:6250)));
axis([-100 100 -0.2 0.6]);
TITLE(Espectro de freq. y = SQUARE(2*pi*30*t));grid
%######################
t = 0:.0001:.625;
y = sawtooth(2*pi*30*t);
SUBPLOT(3,2,5),plot(t,y);
TITLE(y = sawtooth(2*pi*30*t));
axis([0 .0625 -1.5 1.5]);grid
%######################
Y=fft(y,6250);
py=abs(Y)/6250;
f=10000*(-3125:3124)/6250
SUBPLOT(3,2,6),plot(f,fftshift(py(1:6250)));
axis([-100 100 -0.2 0.6]);
TITLE(Espectro de freq. y = sawtooth(2*pi*30*t));grid
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 19 Arlei Fonseca Barcelos
O tracado do espectro do FFT ficara da seguinte forma:
Utilizando o FFT de forma parametrizada
%Programa Matlab 1.3
%Programa para plotar graficos no MATLAB
%Elaborado por: Arlei 15/02/05
close all
clear all
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 20 Arlei Fonseca Barcelos
clc
a=62.5;
ts=0.0005;
w=500
%######################
t = 0:ts:a-ts;
y = square(2*pi*w*t);
SUBPLOT(1,2,1),plot(t,y,-);
TITLE( y = sin(2*pi*30*t));
axis([0 a -1.5 1.5]);grid
%######################
Y=fft(y,a/ts); py=abs(Y)/(a/ts);
f=(1/ts)*(((-(a/ts)/2)):(((a/ts)/2)-1))/(a/ts);
SUBPLOT(1,2,2),plot(f,fftshift(py(1:(a/ts))));
axis([-10*w 10*w -0.2 0.9]);
TITLE(Espectro de freq. y=sin(2*pi*30*t));grid
%######################
O tracado do espectro do FFT ficara da seguinte forma:
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Processamento de Sinais 21 Arlei Fonseca Barcelos
AEDB Processamento de Sinais - rev2 30 de agosto de 2012
Recommended