Documente Academic
Documente Profesional
Documente Cultură
ESTIMAREA PARAMETRILOR
MODELELOR LINIARE GENERALE
72
cu ajutorul funcţiei pem sunt funcţii de transfer de ordinul I, II sau III şi
polii pot fi reali sau complecşi. Spre exemplu, următorul model descrie
un proces continuu de ordinul I:
Kp
G(s) = e −Td s
1 + sT p1
unde:
• K este amplificarea statică;
• Tp1 este constanta de timp a sistemului;
• Td este timpul mort (întârzierea intrare -ieşire).
73
Exemplul 6.1
a) Type=’P1D’, corespunde unui model cu funcţia de transfer
Kp
G(s) = e −Td s
1 + sT p1
b) Type=’P0I’ corespunde unui model cu funcţia de transfer
Kp
G(s) =
s
Modelul obţinut este returnat sub forma unui obiect Matlab de tip
idproc (parametrul de ieşire m).
unde
~ ⎧ x& (t ), pentru sisteme continue
x (t ) = ⎨
⎩ x(t + Ts ), pentru sisteme discrete
a) m = pem(data, n)
c) m = pem(data, 'best')
Folosind această sintaxă, programul selectează cea mai bună variantă din
modelele cu ordine de la 1 la 10.
d) m = pem(data,order,'nk',[0 .. 0])
75
e) m = pem(data,order,'DisturbanceModel','none')
B1 (q ) B (q) C (q)
A(q) y (t ) = u1 (t − nk1 ) + ... + nu u nu (t − nk nu ) + e(t )
F1 (q ) Fnu (q ) D(q )
unde:
- q reprezintă operatorul de întârziere cu un pas;
- A, B, C, D şi F sunt matrice în care se specifică coeficienţii
polinoamelor modelului. În cazul sistemelor cu o singură intrare A,
B, C, D şi F sunt vectori linie. Primul element al vectorilor A, C, D şi
F este 1 în timp ce vectorul B conţine pe primele poziţii atâtea zerouri
câte indică nk. Spre exemplu, polinomul A are forma:
A(q ) = 1 + a1q −1 + a2 q −2 + ... + a na q − na
m=pem(data, orders)
unde
- m este un obiect Matlab de tip idpoly;
- data este un obiect Matlab de tip iddata;
- orders este un vector linie ce conţine ordinele polinoamelor A, B,
C, D şi F precum şi întârzierea pe intrare şi este definit astfel:
orders=[na nb nc nd nf nk]. În cazul unui model cu mai multe
intrări nb, nf şi nk sunt vectori linie ce conţin ordinele şi
întârzierile pentru fiecare intrare.
76
Exemplul 6.2
Considerăm un sistem continuu cu funcţia de transfer:
2
G(s) = e −s
(0.2s + 1)(5s + 1)
Se cere:
a) să se creeze un model Matlab pentru acest sistem;
b) să se simuleze răspunsul sistemului pe un interval de 600 de
secunde la o intrare u(t) de tip semnal sumă de sinusoide şi un
zgomot aleator gaussian;
c) folosind datele intrare-ieşire de la punctul b) să se estimeze
parametrii modelului. Să se compare răspunsul la intrare treaptă
pentru modelul real şi modelul estimat şi să se valideze modelul
folosind analiza reziduurilor.
Soluţie:
ModelProces=idproc('P2D','Kp',2,'Tp1',0.2,'Tp2',5,'Td'
,1);
u=idinput(300,'sine');
um=iddata([],u,1);
ym=sim(ModelProces,um,'noise');
y=ym.OutputData;
subplot(211)
plot(y)
subplot(212)
plot(u)
z=iddata(y,u,1);
ModelEstimat=pem(z,'P2D')
step(ModelProces,ModelEstimat)
pause
resid(z,ModelEstimat)
77
with K = 1.9621
Tp1 = 11.051
Tp2 = 0.39806
Td = 3
Semnal de iesire
4
-2
-4
0 50 100 150 200 250 300
timp
Semnal de intr ar e
1
0.5
-0.5
-1
0 50 100 150 200 250 300
timp
2
Iesir e reala
1.5
Iesire estimata
0.5
0
-20 -10 0 10 20 30 40 50 60 70
Time
78
Exemplul 6.3
Considerăm un sistem discret descris prin ecuaţiile de stare:
⎪ y = x1 + x 2
⎩ k k +1 k +1
Se cere:
Soluţie:
79
Rezultatele rulării programului sunt următoarele:
A =
x1 x2
x1 -0.29501 0.14637
x2 0.020948 -0.61375
B =
u1
x1 0.029452
x2 0.0014044
C =
x1 x2
y1 134.65 6.6424
D =
u1
y1 0
K =
y1
x1 -0.0004054
x2 0.0015345
x(0) =
x1 0
x2 0
TEME:
1. Să se ruleze exemplele prezentate în lucrare.
Se cere:
a) să se creeze un model Matlab pentru acest sistem;
b) să se simuleze răspunsul sistemului pe un interval de 600 de
secunde la o intrare u(t) de tip semnal sumă de sinusoide şi un
zgomot aleator gaussian;
c) folosind datele intrare-ieşire de la punctul b) să se estimeze
parametrii modelului. Să se compare răspunsul la intrare treaptă
pentru modelul real şi modelul estimat şi să se valideze modelul
folosind analiza reziduurilor.
80
3. Considerăm un sistem continuu descris prin ecuaţiile de stare:
⎧ x&1 (t ) = x1 (t ) + 2 x2 (t ) − x3 (t )
⎪⎪ x& 2 (t ) = x2 (t )
⎨
⎪ x&3 (t ) = x1 (t ) − 4 x2 (t ) + 3x3 (t ) + u (t )
⎪⎩ y (t ) = x1 (t ) − x2 (t ) + x3 (t )
Se cere:
81