You are on page 1of 5

LABORATOR 3

Se consider sistemul cu funcia de transfer:


H(s)= 3/(5s+8)
Se vor realiza 2 programe in Matlab: primul pentru analiza sistemelor prin funcia pondere si al
doilea pentru analiza sistemelor prin rspuns indicial. Fiecare program va include urmtorii pai:
- Se creeaz funcia de transfer cu ajutorul funciei tf(.);
- Se determin ieirea sistemului (y) pentru un semnal de intrare tip dirac de nlime =5 (pt.
primul program) i un semnal tip treapta de nlime =5 (pt. al doilea program) cu ajutorul funciei
lsim(.). Eantioanele de timp sunt in intervalul [0 , 30], pas de eantionare h=0.1;
- Se genereaz un semnal de ieire afectat de zgomot alb adiional y_zg=y+zg_alb. Zgomotul alb
are valori in intervalul [-0.05, 0.05];
- Se identifica (se determina) funciile pondere (h, h_zg) pentru cele 2 semnale y si y_zg cu
metodele descrise in cadrul noiunilor teoretice (analiza sistemelor prin funcia pondere si analiza
sistemelor prin rspuns indicial);
- Se testeaz rezultatele identificrii prin calcularea convoluiei dintre funciile pondere si
semnalele de test cu ajutorul funciei conv(.) si compararea semnalelor obinute (ym, ym_zg) cu
semnalul ce apare la ieirea sistemului daca la intrarea sa se aplica semnalul de test (se folosete
comanda lsim(.)).

Cod scris in mediul MatLab:

clear all; close all; clc;


t=0:0.1:30;
alfa=5;
num=3;
den=[5 8];
H=tf(num,den);
u=rand(length(t),1);
zg_alb=u*(0.05+0.05)-0.05;
temp=length(t)-1;
dirac=[5 zeros(1,temp)];
treapta=5*ones(1,length(t));
%semnale dirac si treapta
y_dirac=lsim(H,dirac,t);
y_treapta=lsim(H,treapta,t);
%dirac si treapta cu zgomot
y_zgd=y_dirac+zg_alb;
y_zgt=y_treapta+zg_alb;

%afisare y cu zgomot
subplot(121)
plot(t,y_zgd,t,y_dirac)
subplot(122)
plot(t,y_zgt,t,y_treapta)
%determinarea cu functia pondere
h1=y_dirac/alfa;
h1_zg=y_zgd/alfa;
h2=y_treapta/alfa;
h2_zg=y_zgt/alfa;
%folosim semnale de test
s1=abs(sin(t));
s2=square(t);
s3=[ones(1,101),zeros(1,100),2*ones(1,100)];
%convolutie intre semnale
%1semnal dirac
y1d=conv(h1,s1);
y2d=conv(h1,s2);
y3d=conv(h1,s3);
y4d=conv(h1_zg,s1);
y5d=conv(h1_zg,s2);
y6d=conv(h1_zg,s3);
%semnal treapta
y1t=conv(h2,s1);
y2t=conv(h2,s2);
y3t=conv(h2,s3);
y4t=conv(h2_zg,s1);
y5t=conv(h2_zg,s2);
y6t=conv(h2_zg,s3);
figure(2)
iesire_test1=lsim(H,s1,t);
plot(iesire_test1)
iesire_test2=lsim(H,s2,t);
figure(3)
plot(iesire_test2)
iesire_test3=lsim(H,s3,t);
figure(4)
plot(iesire_test3);

Dupa rularea codului in matlab se obtin graficele urmatoare:

Fig.1

Fig.2

Fig.3

Fig.4

You might also like