Vous êtes sur la page 1sur 21

Processamento de Sinais

Arlei Fonseca Barcelos

Analise de Fourier de Sinais em Tempo Discreto


S
erie de Fourier de um sinal contnuo
Esta serie e baseada no seguinte teorema diz que: Qualquer forma de onda periodica no tempo pode
ser 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 +

(an . cos(n.o .t) + bn sin(n.o .t))

(1)

n=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

C
alculo dos coeficientes da s
erie de Fourier

Como visto em disciplinas anteriores do curso de Engenharia os coeficientes da serie de Fourier e


dada por
Z T0
ao = 1/T0 .
f (t).dt
(2)
0
T0

Z
an = 2/T0 .

f (t). cos(n.o .t).dt

(3)

f (t). sin(n.o .t).dt

(4)

Z
bn = 2/T0 .

T0

Aplicando estas expressoes podemos expandir sinais periodicos dados em suas series de Fourier.
Dependendo do sinal podemos ter um n
umero finito de termos ou infinito. Existem algumas propriedades 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 Fourier
e 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 e
composta 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

Arlei Fonseca Barcelos

O termo DC sera dado por


Z
ao = 1/T0 .

T0

Z
f (t).dt = 1/T0 .

T0 /2

sin(0 t).dt = 1/
0

A func
ao n
ao e par nem mpar, portanto deve-se calcular os coeficientes an e bn
T0

Z
an = 2/T0 .

f (t). cos(n.o .t).dt


0

T0 /2

= 2/T0 .

sin(0 t). cos(n.o .t).dt


0


cos((n + 1)) cos((n 1))
1
= 2/T0
+
+
20 (n + 1)
20 (n 1)
0 (n + 1)(n 1)


1
(n 1)
(n + 1)
=

cos((n + 1)) +
cos((n 1)) 1
(n2 1)
2
2
Quando k = 1 deve-se integrar sin(o .t) cos(o .t) = sin(2o .t)/2, onde o seu resultado sera igual a
zero. Excluindo este valor pode-s analisa a express
ao acima de modo geral.
Para valores mpares de n tem-se
an = 0
Para valores pares de n tem-se
2
an =
(n2 1)
Para os coeficientes dos senos:
Z
bn = 2/T0 .

T0

f (t). sin(n.o .t).dt


0

AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

3
Z

Arlei Fonseca Barcelos

T0 /2

= 2/T0 .

sin(0 t). sin(n.o .t).dt


0

= 2/T0

(n + 1) sin((n 1)) (n 1) sin((n + 1))


20 (n + 1)(n 1)

1
[(n + 1) sin((kn 1)) (n 1) sin((n + 1))]
2(n2 1)
Para valores pares de n os senos se anulam e bn = 0. Para valores mpares o mesmo raciocnio se
aplica, desde que k 6= 1.Para este caso deve-se resolver
Z T0
bn = 2/T0 .
f (t). sin(n.o .t).dt
=

Z
bn = 2/T0 .

T0 /2

sin2 (o .t).dt = 2/T0

= 1/2
20

Em resumo:

a0 = A/; an =

0
2
(n2 1)

n mpar
n par


bn =

1/2 n = 1
0 n>1

e a expans
ao e dada por:
x(t) = 1/ + 1/2 sin(o .t) 2/3 cos(2o .t) 2/15 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

4t/T0 + 1 T0 /2 t 0
x(t) =
4t/T0 + 1 0 t T0 /2
seu grafico e:
AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

Arlei Fonseca Barcelos

calcular a sua serie de Fourier: O termo DC e nulo; como o sinal e par bn = 0 e havera apenas
termos cossenoidais
Z
an = 2/T0 x(t)cos(n0 t)dt
"Z

= 2/T0

(4t/T0 + 1)cos(n0 t)dt +


T0 /2

"Z

Z
tcos(n0 t)dt

T0 /2

4
n2 2

(4t/T0 + 1)cos(n0 t)dt


0

= 8/T02
=

T0 /2

[1 cos(n)] =

T0 /2

(tcos(n0 t)dt
0

8
n2 2

quando n e mpar, e 0 quando n e par.

Logo, a expressao completa sera dada por


x(t) =

8
8
8
cos(0 t) + 2 cos(30 t) +
cos(50 t) + . . .
2

9
25 2

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

1 0 < t < T0 /2
x(t) =
1 T0 /2 < t < T0
Calcule a sua serie de Fourier: O termo DC e nulo; como o sinal e mpar an = 0 e havera apenas
termos senoidais.
Z
bn = 2/T0 x(t)sin(n0 t)dt
AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

5
"Z

T0 /2

T0

sin(n0 t)dt

= 2/T0
=

Arlei Fonseca Barcelos

(sin(n0 t)dt
T0 /2

4
2
[1 cos(n)] =
quando n e mpar, e 0 quando n e par.
n
n
4
4
4
x(t) = sin(0 t) +
sin(30 t) +
sin(50 t) + . . .

3
5

Exerccio 0.2 Trace o grafico da serie do exemplo 0.3 no MATLAB.

0.0.2

S
erie de Fourier - Forma Cossenoidal

Sabemos da trigonometria que


a cos + b sin = A cos( + )
onde
A=

(5)

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 +

Ak cos(k0 .t + k )

(8)

k=1

onde
A0 = a 0 ; Ak =

a2k + b2k 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 um
destes cossenos apresenta fase.

Exemplo 0.4 Para a onda do exemplo 0.3, faca sua representac


ao em cossenos:
x(t) =

4
4
4
cos(0 t /2) +
cos(30 t /2) +
cos(50 t /2) + . . .

3
5

Exemplo 0.5 Observe que a onda triangular do exemplo 0.2 a serie j


a e decomposta apenas de
cossenos, 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 senos
e cossenos,
x(t) = 1/ + 1/2 sin(o .t) 2/3 cos(2o .t) 2/15 cos(4o .t) . . .
Passando apenas para cossenos obtem-se
x(t) = 1/ + 1/2cos(o .t) + 2/3 cos(2o .t ) + 2/15 cos(4o .t ) + . . .
AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

0.0.3

Arlei Fonseca Barcelos

Forma espectral da s
erie de Fourier

Seja a onda quadrada da exemplo 0.4, como exemplo, decomposta atraves de sua serie de Fourier
proposta 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) =
Harm
onico
n=0
n=1
n=3
n=5
n=7

4
4
4
cos(0 t /2) +
cos(30 t /2) +
cos(50 t /2) + . . .

3
5

Freq.Angular Amplitude Fase


0
0
0
4
0
/2

4
30
/2
3
4
50
/2
5
4
70
/2
57

O tracado do espectro de frequencia ficar


a da seguinte forma:

Observa
c
ao 0.1 : a tabela acima possuir
a termos que ir
ao ate o infinito, porem ele so mostra
termos 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
AEDB

Processamento de Sinais - rev2

8]
30 de agosto de 2012

Processamento de Sinais

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

S
erie 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 + jsen
= cos = 1/2ej + 1/2ej
ej = cos jsen
Aplicando a expressao do cosseno geral:
An cos(n0 t + n ) =

An j(n0 t+n ) An j(n0 t+n ) An jn jn0 t An jn jn0 t


e
+
e
=
e e
+
e
e
2
2
2
2

Entao substituindo na serie de Fourier de x(t) tem-se


x(t) = A0 +

+An cos(n0 t + n ) =

n=1

= A0 +


X
An
n=1

jn jn0 t

An jn jn0 t
+
e
e
2

A2 j2 j20 t A1 j1 j0 t
A1 j1 j0 t A2 j2 j20 t
e
e
+
e
e
+ A0 +
e e
+
e e
+ ...
2
2
2
2
Temos uma serie de exponenciais complexas, cada uma delas acompanha de um coeficiente complexo;
as exponenciais sao associadas `as frequencias 0, 0 , 20 , 30 , . . . e os coeficientes sao da forma
M ej onde M esta relacionado com as amplitudes e a fase, observe, com isso, que a serie pode ser
representada da seguinte forma

X
x(t) =
Dn ejn0 t
(10)
= ... +

n=

onde

|Dn | =
|D0 | =
|Dn | =

An
2

A0
An
2

Dn = n
n>0
D0 =
0
n=0
Dn = n n < 0

Observe que o preco a se pagar por se utilizar a serie de fourier na forma exponencial e o surgimento de
frequencias 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

Arlei Fonseca Barcelos

O calculo da serie, teoricamente, necessitariam dos parametros Ak e k da forma cossenoidal. Para


evitar o calculo do parametros da serie cossenoidal e utilizado o seguinte artifcio
Z

T0

jk0 t

x(t)e

T0

dt =

(
0

jn0 t

Dn e

jk0 t

)e

dt =

n=

Z
Dn

n=

T0

ej(nk)0 t dt

Observe que
Z

T0

ej(nk)0 t dt =

T,
h

k=n

1
ej(nk)0
j(nk)0

iT

, k 6= n

Usando o fato de que


ej(nk)0 T = ej(nk)2 = 1
e dando continuidade a equacao anterior
T0

jk0 t

x(t)e

T0

Z
dt = Dn

dt
0

logo, finalmente,
1
Dn =
T0

T0

x(t)ejk0 t

Exerccio 0.5 Onda triangular definida, em um de seus perodos, por:

x(t) =

4A
t
T0

4A
t
T0

para 0 t
+ 2A para

T0
2

T0
2

t T0

Calcule a serie de fourier na forma exponencial

Exerccio 0.6 x(t) = | sin(200..t)| Calcule a serie de fourier na forma exponencial

Exerccio 0.7 1 Determine a serie trigonometrica de Fourier do sinal peri


odico x(t) mostrado na
figura que segue:
1

A solucao para este exerccio pode ser visto nas paginas 533 e 544 no livro Sinais e Sistemas Lineares Lathi Ed.
Bookman 2o ed.

AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

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 o
trem de impulso T0 (t), mostrado na figura que segue

Resposta:

0 (t) =

1
[1 + 2(cos 0 t + cos 20 t + cos 30 t + . . .)]
T0

0 =

2
T0

na forma exponencial

0 (t) =

1
[1 + ej0 t + ej0 t + ej20 t + ej20 t + ej30 t + ej30 t ]
T0

Pode ser observado que quando a serie de Fourier e representada na forma exponencial, tem-se
freq
uencias negativas do sinal e sua amplitude reduzida pela metade. Isto e mostrado na figura que
segue para os graficos do sinal do exerccio 0.7(T0 )
AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

0.2

11

Arlei Fonseca Barcelos

Teorema de amostragem e espectro de frequ


encia

Considere o sinal mostrado na figura 1a, o seu espectro e mostrado na figura 1b, com o seu esboco
na forma exponencial, isto e, possuindo frequencia positivas e negativas. Quando este sinal e multiplicado por um trem de pulso do tipo que apresentado na figura 1c obtem-se o grafico no tempo
semelhante ao mostrado na figura 1e que possui como expressao
X
x(t) = x(t)T (t) =
x(nT )(t nT )
n

Como a funcao T (t) e um sinal periodico T, ele pode ser decomposto em um serie de Fourier como
foi mostrado no exerccio 0.10, ou seja,
1
2
T (t) = [1 + 2(cos s t + cos 2s t + cos 3s t + . . .)]
s =
T
T
Logo,
1
2
x(t) = x(t)T (t) = [x(t) + 2(x(t) cos s t + x(t) cos 2s t + x(t) cos 3s t + . . .)]
s =
(11)
T
T
Para o calculo de X(), a transformada de Fourier de x(t) deve-se obter a transformada de cada
termo do lado direito da equacao 11. A transformada do 1o termo e X(). A transformada dos
demais termos que estao multiplicados por cossenoides, seguem uma propriedade da transformada
de Fourier de deslocamento na frequencia. Isto pode provado da seguinte forma, seja a definicao da
integral da transformada de Fourier, dada por
Z
1
x(t) =
X()ejt d
(12)
2
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


Z

x(t)ejt dt

X() =

(13)

Esta relacao pode ser resumida atraves da figura Semelhante a transformada de Laplace existem
diversas tabelas de algumas transformadas de Fourier de algumas funcoes no tempo.

0.3

C
alculo Num
erico da Transformada de Fourier: Transformada de Fourier Discreta(TDF)

Para o calculo de Dn , apresentado na equacao 10, numericamente usando a TDF e necessario que se
possua 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 amostras
de x(t), considere a equacao 14
1
Dn =
T0

T0

N0 1
N0 1
1 X
1 X
x(kT )ejn0 kT T = lim
x(kT )ejn0 k
T 0 N0 T
T 0 N0
k=0
k=0

x(t)ejk0 t = lim

(14)

sendo
N0 =

T0
T

0 = 0 T =

2
N0

(15)

Fazer T 0 nao sera possvel, portanto o erro computacional para T muito pequeno podera ser
desprezvel. Portanto, pode-se ignorar o limite de T 0 e a equacao 14 torna-se
N0 1
1 X
Dn =
x(kT )ejn0 k
N0 k=0

(16)

Fazendo WN = ej0 , obtem-se a seguinte expressao


N0 1
1 X
Dn =
x(kT )WNnk
N0 k=0

(17)

PN0 1
A parcela X(n) = k=0
x(n)WNnk e denominada de TDF de um sinal.
O calculo do TDF envolve diversas multiplicacoes e somas, como por exemplo segue o caso de N=8
amostras, com amostras temporais dadas por x(0),x(1),. . . ,x(7), assim para

X(n) =

N
0 1
X

x(n)WNnk

(18)

k=0

pode ser expandido


AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

0.3.1

14

Arlei Fonseca Barcelos

A FFT

Pode-se utilizar a eficiente FFT(Transformada Rapida de Fourier) para calcular o lado direito da
equacao 17. Os algoritmos de FFT procuram diminuir os n
umeros de multiplicacoes e adicoes para
o calculo de X(n). Isto se deve ao fato de que W possui periodicidade e simetria. Isto pode ser
compreendido 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 n


umero de multiplicacoes para o
calculo da TFD reduziu sensivelmente e, consequentemente, diminuindo o tempo de execucao num
processador de sinais para o calculo de espectro de frequencia de um sinal. Este algoritmos para
reducao dos calculos da-se o nome de FFT.

AEDB

Processamento de Sinais - rev2

30 de agosto de 2012

Processamento de Sinais

0.3.2

18

Arlei Fonseca Barcelos

A FFT no MATLAB

possvel utilizar o MATLAB para calcular o DFT de amostrar de um sinal x(t) no tempo utilizando
E
o 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

AEDB

21

Processamento de Sinais - rev2

Arlei Fonseca Barcelos

30 de agosto de 2012

Vous aimerez peut-être aussi