Você está na página 1de 2

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

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]);

Você também pode gostar