Documente Academic
Documente Profesional
Documente Cultură
Qualquer seqncia discreta real, x[n ] , pode ser decomposta em suas componentes par e mpar:
n = [0:10];
x = stepseq(0,0,10)-stepseq(10,0,10);
[xe,xo,m] = evenodd(x,n);
subplot(1,1,1)
subplot(2,2,1); stem(n,x); title('Pulso Retangular')
xlabel('n'); ylabel('x(n)'); axis([-10,10,0,1.2])
subplot(2,2,2); stem(m,xe); title('Componente Par')
xlabel('n'); ylabel('xe(n)'); axis([-10,10,0,1.2])
subplot(2,2,4); stem(m,xo); title('Componente Impar')
xlabel('n'); ylabel('xo(n)'); axis([-10,10,-0.6,0.6])
Para sistemas lineares invariantes no tempo (LTI Linear Time-Invariant Systems), podemos
relacionar os sinais de entrada e sada do sistema atravs da soma de convoluo, definida pela
equao:
y[n ] = x[n ] h[n ] = x[k ] h[n k ] = h[k ] x[n k ]
k = k =
Se conhecermos a resposta ao impulso do sistema (por exemplo um filtro digital) podemos calcular
a sada y[n] fazendo a convoluo do sinal de entrada, x[n] , com a resposta ao impulso do sistema,
h[n ] . Utilize a funo y=conv(x,h) do Matlab para calcular a convoluo linear entre duas
seqncias discretas de durao finita. A funo conv assume que as duas seqncias iniciam no
instante n=0.
x[n] = [ 3 11 7 0 - 1 4 2] - Sinal de entrada do sistema
h[n] = [ 2 3 0 - 5 2 1] - Resposta ao impulso do sistema
y[n ] = x[n]* h[n] = x[k ] h[n k ] - Sada do sistema
k =
No programa trace os grficos das seqncias x[n] , h[n] e y[n] . Interprete graficamente a operao
de convoluo.
EXERCCIO 3 Convoluo Linear
x[n], n xb n n xe
h[n], nhb n nhe
utilize a funo [y,ny]=conv_m(x,nx,h,nh) do toolbox do livro. Esta funo j retorna tambm um
vetor para traar o grfico correto de y[n] . Faa a convoluo linear entre as duas seqncias
discretas abaixo:
x[n] = [ 3 11 7 0 - 1 4 2] , 3 n 3
h[n] = [ 2 3 0 - 5 2 1] , 1 n 4
Trace o grfico de x[n ] , h[n ] e y[n ] = x[n ] h[n ] . Interprete graficamente a convoluo.
A correlao uma operao muito usada em aplicaes de processamento digital de sinais. uma
medida do grau de similaridade entre duas seqncias (sinais).
rxy [l ] = x[n] y[n l ] = y[l ]* x[ l ]
n =
A autocorrelao nos d uma medida de auto-similaridade do sinal com verses deslocadas dele
mesmo:
rxx [l ] = x[n] x[n l ] = x[l ]* x[ l ]
n =
O clculo da correlao e autocorrelao podem ser implementados usando a convoluo.
Considere a seqncia x[n] = [ 3 11 7 0 - 1 4 2] , 3 n 3 e a seqncia y[n] como sendo uma
verso deslocada e com rudo da seqncia x[n] , ou seja, y[n ] = x[n 2] + w[n ] .
Exemplo de aplicao do filtro de mdia mvel para filtragem de um sinal com rudo:
M 1
y[n] = x[n k ]
1
M i =0
% Filtro de mdia mvel para M=3
clear; clc;
figure(1);
N=50;
d=rand(N,1)-0.5;
n=0:1:N-1;
s=2*n.*(0.9.^n);
subplot(2,1,1); stem(n,s); xlabel('n'); ylabel('Amplitude'); title('s[n]');
subplot(2,1,2); stem(n,d); xlabel('n'); ylabel('Amplitude'); title('d[n]');
N=50;
d=rand(N,1)-0.5;
n=0:1:N-1;
s=2*n.*(0.9.^n);
x=s+d';
figure(2);
plot(n,d,'r-',n,s,'b-',n,x,'g-'); xlabel('n'); ylabel('Amplitude'); legend('r-','d[n]','b-','s[n]','g-','x[n]');
M=3;
b=ones(M,1)/M;
y=filter(b,1,x);
figure(3);
plot(n,s,'r-',n,y,'b-'); legend('r-','s[n]','b-','y[n]'); xlabel('n'); ylabel('Amplitude');
Um sistema discreto linear pode ser caracterizado por uma equao linear de coeficientes constantes
na forma
N M
a k y[n k ] = bk x[n k ]
k =0 k =0
Resolver os problemas P2.3, P2.4 (para itens a, b, c do P2.2), P2.5, P2.6 e P2.7 do livro
Digital Signal Processing using MATLAB (Vinay K. Ingle and John G. Proakis).