Escolar Documentos
Profissional Documentos
Cultura Documentos
Convo Luca o
Convo Luca o
Faculdade de Engenharia
Departamento de Engenharia Eltrica 15/02/2011
Projetos de Sistemas de Controle - 44976-04
2
Introduo
O objetivo deste laboratrio familiarizar o aluno com a operao
convoluo no tempo utilizando o MATLAB.
Parte 1: Utilize a funo gcnv.m para
entendimento da convoluo.
a)
t=0:0.1:2;
h=exp(-t);
x=[0 ones(1,10) zeros(1,10)];
[y,F] = gcnv(x,h,t,0.1);
b)
t=0:0.1:3;
h=exp(-t);
x=[1 zeros(1,30)];
[y,F] = gcnv(x,h,t,0.1);
c)
t=0:0.1:3;
h=ones(1,31);
x=[0 ones(1,30)];
[y,F] = gcnv(x,h,t,0.1);
Parte 2: Usando a funo conv do Matlab
%montagem dos sinais
t=-2:0.001:10;
x=[zeros(1,2000) ones(1,1000) 2*ones(1,1000) 3*ones(1,1000)
zeros(1,7001) ];
h=[zeros(1,1000) -ones(1,2000) zeros(1,9001)];
%operao convoluo
y=0.001*conv(x,h);
ty=-4:0.001:20;
%
plot(t,x,'-r',t,h,'-b',ty,y,'-g')
PONTIFCIA UNIVERSIDADE CATLICA DO RIO GRANDE DO SUL
Faculdade de Engenharia
Departamento de Engenharia Eltrica 15/02/2011
Projetos de Sistemas de Controle - 44976-04
3
Parte 3: Usando a funo impulse do Matlab
%montagem da resposta implusiva
num=1;
den=[1 1]; % definio do sistema
t=0:0.01:5; % vetor de tempo
h=impulse(num,den,t);
%montagem do sinal de entrada
x=[ones(1,101) zeros(1,400)]; %sinal de entrada
tam=length(t);
xv=zeros(101,tam);
for k=1:101
xv(k,k)=1;
end
%respostas impulsivas para cada impulso do sinal de entrada
y=zeros(tam,101);
for k=1:101
y(:,k)=lsim(num,den,xv(k,:),t);
end
%Operao convoluo usando a soma das respostas implusivas
for k=1:tam
yt(k)=sum(y(k,:));
end
figure(2)
plot(t,x,t,h,t,yt)
axis([0 5 0 1.5]);