Sunteți pe pagina 1din 1

1.

Model structural pentru


exagon treapta:
X=[x12 / x11 / x2] E Rn
X`=Ax+Bu
Y=Cx+Du
A=[A1 A3 / 0 A2] E Rnxn
B=[B1 / B2 / B3] E Rnxm
C=[C1 C2 C3] E Rpxn
D=[D1] E Rqxn
1/s=x12/(u+x2) ==
x12.s=u+x2 == x`12=u+x2
X2=0
2/(s+1)=x11/x12 ==
x11=x11.s+x11 =
2.x12==x`1 1=-x11+2x12
Y= - x11+2.x2
A=[0 0 1/ -2 2 0 / 0 0 0]
B=[1 / 0 / 0]
[x`12 / x`11 / x`2]=[0 0 1 / -1
2 0 / 0 0 0].[x12 / x11 /
x2]+[1 / 0 / 0].u
C=[-1 0 2]
Y=[-1 0 2].[x12 / x11 /
x2]+[0].u
D=[0]
2. Sa se calculeze
compesatorlu solutie pcis
cu estimator la alegere
Compesator cu estimator
unitar:
a=[0 0;2 -1];b=[1;0]
c=[0 1;0 -1];d=[0;0]
coef=poly([-1 -1 -1 -1]);
r=ctrb(a,b);
r1=inv(r);
xda=polyvalm(coef,a);
ft=-[0 1]*r1*xda;
t=-[0 0;1 1];
t1=inv(t);
atil=t*a*t1;
btil=t*b;
ctil=c*t1;
ftil=ft*t1;
a1til=atil(1:2,1:2);
a2til=atil(3:4,1:2);
a3til=atil(1:2,3:4);
a4til=atil(3:4,3:4);
b1til=btil(1:2);
b2til=btil(3:4);
f1til=ftil(:,1:2);
f2til=ftil(:,3:4);
a1tilt=a1til;
a2tilt=a2til;
f01=[-5 -8;3 37]
g01=[-11;5]
a1p=a1tilt+a2tilt*f01;
a2p=a2tilt*g01;
coef=poly([-1 -1]);
rl=ctrb(a1p,a2p);
rl1=inv(rl);
xdal=polyvalm(coef1,a1p);
lp=-[0 1]*rl1*xdal;
lt=f01+g01*lp;
l=lt;
j=a1til+l*a2til;
h=a3til+l*a4til-l*a2til*la1til*l;
m=l*b2til+b1til;
k=f1til;
n=f2til-f1til*l;
ac=j+m*k;
bc=h+m*n;
gc=n; fc=k;
subplot(2,1);
plot(t,y(: ,1),k);
title(volutia lui y1);
grid;
subplot(212);
plot(t,y(:,2),k);
title(volutia lui y2);
xlabel(t[sec]);
grid;

3. Sa se prezinte si sa se
algoritmeze procedura de
proiectare a
compesatorului stabilizator
cu estimatorlu ales la pc2.
Algoritmul de sinteza a
compensatorului stabilizator
de estimator minimal:
date:
Sistemul: x=Ax+Bu; y=Cx;
Cu prerechea (A,B)
controlabila si
perechea(C,A) observabila
2 multimi de valori proprii
impuse: DFimp cu n valori
proprii pentru reactie si DEimp
cu n-p valori proprii pentru
estimator:
DF,Eimp E { C_ ; C(0,1).
Algoritm:
Pa1:Se calculeaza matricea F
E Rmxn a.i. O(A+Bf)=DFimp ,
cu algoritmul de stabilizare
prin reactie dupa stare
Pas2:Se completeaza
matricea C E Rpxn cu o
matrice CE R(n-p)xn a.i.
T=[C/ C] E Rnxn sa fie
matrice nesingulara
Pas3: Se calculeaza sistemul
transformat
A~=TAT-1 = [A1~ A3~/ A2~
A4~]
B~ = TB=[B1~ / B2~]
C~ =CT-1=[0 Ip]
F~ =FT-1=[F1~ F2~]}n
Pas4: se calculeaza L E R(np)xp
a.i. O(A1~+LA2~)=Dnpimp=Deimp cu algoritmul
de stabilizare prin reactie
dupa stare aplicat
perechii(A1 T~ , A2T~)
Pas5: Se calculeaza matricile
estimatorului in E si ale
reactiei in Z
{ J=A1~+LA2~;
H=A3~+LA4~-LA2~LA1~L;
M=LB2~+B1~; K=F1~;
N=F2~-F1~L
Pas6: Se calculeaza matricile
compensatorului:
{ Ac=J+Mk;
Bc=H+MN
Fc=k;
Gc=N;
Pas7:Se simuleaza sistemul
in circuit inchis, folosind una
din matricele;
a)bucla proces compesator
{ x=Ax+Bu;
Y=Cx;
Xc=AcXc+BcU;
U=FcXc+Gcy
b)bucla proces estimator ,
reactie dupa starea estimata
{ x=Ax+Bu;
Y=Cx;
Z`=Jz+Hy+Mu;
U=Kz+Ny;
4. Matlab pentru
simularea in circuit inchis
utilizand ode
a=[0 0;2 -1];b=[1;0]
c=[0 1;0 -1];d=[0;0]
coef=poly([-1 -1])
r=ctr(a,b)
r1=inv(r)
xda=polyvalm(coef,a)
qt=[0 1]*r1
ft=-qt*xda
ord1.m

function xd=ord1(t,x);
global v fc;
u=fc*[x(1) x(2)]+v;
xd(1)=u;
xd(2)=2*x(1)-x(2);
xd=xd;
pcis_min.m
function yd=pcis_min(t,y);
global u ac bc gc fc;
yd(1)=u;
yd(2)= 2*x(1)-x(2);
z=-y(2);
yd(3)=y(4);
y(4)=0;
yd(5)=ac(1,1)*y(5)+ac(1,2)*
y(6)+ac(1,3)*y(7)+bc(1)*z;
yd(6)=ac(2,1)*y(5)+ac(2,2)*
y(6)+ac(2,3)*y(7)+bc(2)*z;
yd(7)=ac(3,1)*y(5)+ac(3,2)*
y(6)+ac(3,3)*y(7)+bc(3)*z;
u=fc(1)*y(5)+fc(2)*y(6)+fc(
3)*y(7)+gc*z;
yd=yd;
pp_pcis_min.m
echo off;
global u ac bc fc gc;
u=0;[t,y]=ode23(pcis_min,
[0:2],[0 0 0 1 0 0 0];
for k=1:legh(t);
if(t(k)>1;
y(k,4)=0;
end;
zc(k)=y(k-3)-y(k-2);
end;
clf;
figure(1);
plot(t,y(:,2),-r,t,y(:,3),-g);
grid;
figure(2);
plot(t,zc,-l);
grid;
5. Sa se verifive conditiile
necesare de existenta a
soluctie pcss in A3
oarecare. Sa se
demonstreze una din ele la
alegere
Conditiile necesare pentru ca
o solutie pris sa fie generic
structural stabila in A3(DA3
oarecare) sunt:
a)citibilitatea vectorului
marimilor de calitate din
vectorul marimilor masurate;
b)modelul intern.
Compensatorul sa contina o
copie a exogenului pe
fiecare canal de calitate
activata nemijlocit de
vectorul marimilor de
calitate
c)valorile proprii sa nu fie
zerouri de transmisie al
tripletului(A,B,D1)
daca aceste conditii sunt
indeplinite sistemul extins cu
reprezentarea structurala
(Ae,Be,Ce) este controlabil
si observabil.
6. Ce este un sistem
extins? Sa se scrie
reprezentarea structurala
a sistemului
extins(generalizare)
particularizare la procelsul
dat
Un sistem extins este un
sistem format din starile
procesului x1 si starile
modelului intern xc2 si este
reprezentat sub forma:

Xc=[x1 ; xc1] , Ac=[A1 0 ;


D1 YIq]; Bc=[B1 ; 0];
Ye=[y;xc2]; Ce=[C1 0 ; Iq]
Care se poate erscrie
compact in forma:
{ x`e=Aexe+Beu; ye=Cexe;
X`c1=Ac1Xc1+[Bc1
Ac2]ye;
U=Fc1Xc1+[Gc Fc2]ye;
II. Analiza. Sa se
defineasca proprietatile de
stabilizabilitate si
detectabilitate in cazul
neted .Sa se prezinte
criteriul Hautus de
apreciere
proprietatea de
stabilizabilitate:
-pentru cazul neted:
x`(t)=Ax(t)+Bu(t), t E R;
-pentru cazuldiscret:
x(t+1)=Ax(t)+Bu(t); t E R;
Sistemul prin reactie dupa
stare: u=Fx,u E Rm, x E Rn, f
E Rmxn;
Sistemul in circuit inchis
devine:
x`=Ax+Bu=Ax+BFx=(A+B
F)x=Aox si are solutia
x(t)=eAotx(to), Ao=A+BF
este matricea sistemului in
circuit inchis
Stabilitatea sistemului in
circuit inchis este asigurat
daca:
O(A+BF) E {C- pentru
sisteme netede; C(0 ,1)
pentru sisteme discrete ==
limx(t)=0, A xo=x(to)
Un sistem liniar neted sau
discret este stabilizabil daca
exista o matrice de reactie F
E Rmxn a.i.sitemul in circuit
inchis sa fie stabil
Criteriul Houtus
O pereche (A,B) este
stabilizabila daca si numai
daca:
Rang[ YI-A B]=n , Y E C+
-pt.sisteme netede;
Rang[YI-A B]=n , Y E C/
(0,1) pt sisteme discrete

Ord1:
function xd=ord1(t,x);
global v fc
u=fc*[x(1) x(2) x(3)
x(4)]'+v;
xd(1)=x(2);
xd(2)=3/4*x(1)+x(4);
xd(3)=x(4);
xd(4)=-2*x(2)+x(3)+u;
xd=xd';
princord1:
global v ft
x0=[0 0 0 0];
[t,x]=ode23('ord1',[0
10],x0);
for k=1:length(t)
y1(k)=x(k,1);
y2(k)=x(k,3);
uc(k)=ft*[x(k,1) x(k,2)
x(k,3) x(k,4)]'+v;
end
plot(t,y1,'-ok',t,y2,'-*g');
xlabel('t[sec]');

title('Iesirea y1 si iesirea
y2');
grid;
ord2:
function xd=ord2(t,x);
global kp tp zeta u;
xd(1)=x(2);
xd(2)=-2*zeta*x(2)/tp+
(kp*u-x(1))/tp^2;
xd=xd';
princord2:
echo off;
global kp tp zeta u;
[t,y]=ode23('ord2',[0 20],[0
0]);
for k=1:length(t)
uc(k)=u;
end;
plot(t,y(:,1),'-r',t,uc,'-b');
grid;
functionala:
a=[0 1 0 0;3/4 0 0 1;0 0 0 1;0
-2 1 0];
b=[0;0;0;1]
c=[1 0 0 0;0 0 1 0];
d=[0;0]
o=obsv(a,c);
rang=rank(o);
q=o(1:4,:)
coef=poly([-1 -1 -1 -1]);
r=ctrb(a,b);
r1=inv(r);
xda=polyvalm(coef,a);
ft=-[0 0 0 1]*r1*xda;
xj=poly([-1]);
j=[-1];
xja=polyvalm(xj,a);
g=ft*xja*inv(q);
g1t=g(:,1:2);
g2t=g(:,3:4);
nt=g2t;
h1t=g1t-1*nt;
h=h1t;
v1t=ft-nt*c;
v=v1t;
m=v*b;
nc=rang-1;
kt=1
ac=j+m*kt;
bc=h+m*nt;
fc=kt;
gc=nt;

S-ar putea să vă placă și