Sunteți pe pagina 1din 10

LUCRAREA Nr.

5 ESTIMAREA PARAMETRILOR MODELELOR OE (output error) I BJ (Box-Jenkins)


5.1 Modelul OE (output error) Modelul de tip OE (output error) este utilizat pentru modelarea sistemelor descrise de urmtoarea ecuaie:
y (t ) = B(q) * u (t nk ) + e(t ) F (q)

unde:
F (q ) = 1 + f1 * q 1 + L + f n * q n - polinom de grad nf
a a

B (q) = b1 + b2 * q 1 + L + bn * q n +1 - polinom de grad nb-1


b b

Structura acestui model este prezentat n figura urmtoare:

e(t) u(t)
q d B(q) F (q)

+ y(t) +

Identificarea parametrilor unui model OE se realizeaz n Matlab folosind funciile oe i roe descrise n continuare:
Funcia oe Sintax: m = oe(data,orders) Descriere: Aceast funcie estimeaz parametrii unui model OE folosind metoda erorii de predicie. Semnificaia parametrilor este urmtoarea:

data: este un obiect de tip iddata ce conine datele intrare-ieire ale sistemului ce trebuie identificat. Datele prelucrate de aceast funcie pot fi date din domeniul timp sau din domeniul frecven. orders: este un vector linie ce conine ordinele polinoamelor B(q) i F(q) precum i ntrzierea pe intrare i este definit astfel: orders=[nb nf nk]. m: este un obiect de tip idpoly.

Dac datele prelucrate sunt din domeniul continuu sau din domeniul frecven atunci funcia oe estimeaz un model continuu cu funcia de transfer:
G ( s) = B ( s ) bnb 1 s ( nb 1) + ... + b2 s + b1 = F (s) f nf s nf + ... + f 2 s + f1

n acest caz ntrzierea nk nu are nici un sens i poate fi omis. n cazul sistemelor multivariabile nb, nf, nk sunt vectori linie de dimensiune egal cu numrul de intrri.
Funcia roe Sintax:
thm = roe(data,orders,adm,adg) [thm,yp,P,phi,psi] = roe(data,orders,adm,adg,th0,P0,phi0,psi0)

Descriere: Aceast funcie estimeaz parametrii unui model OE (outputerror) folosind o metod de estimare recursiv. Parametri data i orders au aceleai semnificaii ca n cazul funciei oe. Parametrii adm i adg sunt utilizai n diverse combinaii cu ajutorul crora se selecteaz algoritmul recursiv utilizat pentru identificare, astfel: - adm=ff i adg=lambda pentru a se utiliza algoritmul celor mai mici ptrate recursiv cu factorul de uitare egal cu valoarea lambda. - adm=ug i adg=gam pentru a se utiliza algoritmul gradientului nenormalizat, cu amplificarea lui gama egal cu valoarea gam. - adm=ng i adg=gam pentru a se utiliza algoritmul gradientului normalizat. - adm=kf i adg=R1 pentru a se utiliza un algoritm bazat pe filtru Kalman.

Parametrii estimai sunt returnai n matricea thm. Rndul k din aceast matrice conine parametrii asociai momentului de timp k, adic aceti parametrii se bazeaz pe datele pn la linia k din data. Fiecare linie a matricii thm conine parametrii estimai n ordinea urmtoare:
thm(k,:) = [b1,...,bnb, f1,...,fnf]

n cazul utilizrii celei de-a doua variante de sintax, semnificaia parametrilor este urmtoarea: - Parametrul de ieire yp este predicia ieirii conform modelului actual, adic linia k a lui yp conine predicia y(k) calculat pe baza tuturor datelor anterioare. - Argumentul de intrare th0 este un vector linie ce conine valoarea iniial a parametrilor modelului. Valoarea sa implicit este un vector llinie cu toate elementele nule. - Argumentele P0 i P sunt valorile iniial, i respectiv final, a matricei de covarian scalate a parametrilor. Valoarea implicit a matricei P0 este 104 nmulit cu matricea unitate. - Argumentele phi0 i phi conin valorile iniial, i respectiv final, a vectorului de date:
(t ) = [ y (t 1),..., y (t na ), u (t 1),..., u (t nb nk + 1)]

Valoarea implicit a vectorului phi0 este un vector cu toate elementele zero. - Argumentele psi0 i psi sunt vectori ce conin valorile iniial, i respectiv final, a gradientului. Valoarea implicit a vectorului psi0 este un vector cu toate elementele zero. Observaie: Aceast funcie solicit o valoare nk mai mare dect zero.
Exemplul 5.1 Considerm un sistem discret descris de urmtoarea ecuaie cu diferene:
y (t ) y (t 1) + 0.2 * y (t 2) = u (t 1) + 0.5 * u (t 2) + e(t ) e(t 1) + 0.2 * e(t 2)

Se cere: a) s se creeze un model Matlab pentru acest sistem; b) s se simuleze rspunsul sistemului pe un interval de 300 de secunde la o intrare u(t) de tip semnal pseudo-aleator binar i un zgomot aleator e(t) gaussian de medie nul i deviaie standard 0.6;

c) folosind datele intrare-ieire de la punctul b) s se estimeze parametrii unui model ARMAX folosind metoda minimizrii erorii de predicie.
Soluie: Folosind operatorul de ntrziere cu un pas q-1 obinem ecuaia
(1 q 1 + 0.2q 2 ) y (t ) = (q 1 + 0.5q 2 )u (t ) + (1 q 1 + 0.2q 2 )e(t )

Sau
y (t ) = q 1 + 0.5q 2 u (t ) + e(t ) 1 q 1 + 0.2q 2

Observm c suntem n cazul unui model OE cu singur intrare i o singur ieire cu: B = [0 1 0.5] i F = [1 1 0.2] Crearea unui model OE se realizeaz folosind funcia idpoly:
m=idpoly(1,B,1,1,F);

Semnalul de intrare i perturbaia pot fi generate folosind funcia idinput:


u=idinput(300,prbs); e=idinput(300,rgs);

Simularea modelului m la intrarea u i perturbaia e se realizeaz folosind funcia sim:


y=sim(m,[u e]);

Datele intrare ieire sunt grupate ntr-un obiect de tip iddata:


z=iddata(y,u,1)

Aceste date pot fi plotate folosind funcia idplot : idplot(z) Pentru estimarea modelului OE cu doi poli, dou zerouri i o ntrziere folosim funcia armax:
me=oe(z,[2 2 1])

n concluzie, programul Matlab ce rezolv cerinele problemei este urmtorul:


B =[0, 1, 0.5]

F= [1 -1 0.2] m=idpoly(1,B,1,1,F) u=idinput(300,'prbs'); e=idinput(300,'rgs'); y=sim(m,[u e]); z=iddata(y,u,1) idplot(z) me=oe(z,[2 2 1])

5.2 Modelul BJ (Box-Jenkins)

Modelul de tip BJ (Box-Jenkins) este un model descris de urmtoarea ecuaie:


y (t ) = B(q) C (q) * u (t nk ) + e(t ) F (q) D(q)

unde:
F (q ) = 1 + f1 * q 1 + L + f na * q na - polinom de grad nf B (q) = b1 + b2 * q 1 + L + bnb * q nb +1 - polinom de grad nb-1

C (q) = 1 + c1 * q 1 + L + cn * q n - polinom de grad nc


c c

D(q) = 1 + d1 * q 1 + L + d nd * q nd - polinom de grad nd

Structura acestui model este prezentat n figura urmtoare:

e(t)
C ( q) D( q)

u(t)

q d B(q) F (q)

+ y(t) +

Identificarea parametrilor unui model BJ se realizeaz n Matlab folosind funciile bj i rbj descrise n continuare:

Funcia bj Sintax: m = bj(data,orders) Descriere: Aceast funcie estimeaz parametrii unui model BJ folosind metoda erorii de predicie. Semnificaia parametrilor este urmtoarea: - data: este un obiect de tip iddata ce conine datele intrare-ieire ale sistemului ce trebuie identificat. Datele prelucrate de aceast funcie pot fi doar date din domeniul timp (datele din domeniul frecven nu sunt acceptate). - orders: este un vector linie ce conine ordinele polinoamelor B(q), C(q), D(q) i F(q) precum i ntrzierea pe intrare i este definit astfel: orders=[nb nc nd nf nk]. - m: este un obiect de tip idpoly. n cazul sistemelor multivariabile nb, nf, nk sunt vectori linie de dimensiune egal cu numrul de intrri. Funcia rbj Sintax:
thm = rbj(data,orders,adm,adg) [thm,yp,P,phi,psi] = rbj(data,orders,adm,adg,th0,P0,phi0,psi0)

Descriere: Aceast funcie estimeaz parametrii unui model BJ (BoxJenkins) folosind o metod de estimare recursiv. Parametri data i orders au aceleai semnificaii ca n cazul funciei bj. Parametrii adm i adg sunt utilizai n diverse combinaii cu ajutorul crora se selecteaz algoritmul recursiv utilizat pentru identificare, astfel: - adm=ff i adg=lambda pentru a se utiliza algoritmul celor mai mici ptrate recursiv cu factorul de uitare egal cu valoarea lambda. - adm=ug i adg=gam pentru a se utiliza algoritmul gradientului nenormalizat, cu amplificarea lui gama egal cu valoarea gam. - adm=ng i adg=gam pentru a se utiliza algoritmul gradientului normalizat. - adm=kf i adg=R1 pentru a se utiliza un algoritm bazat pe filtru Kalman.

Parametrii estimai sunt returnai n matricea thm. Rndul k din aceast matrice conine parametrii asociai momentului de timp k, adic aceti parametrii se bazeaz pe datele pn la linia k din data. Fiecare linie a matricii thm conine parametrii estimai n ordinea urmtoare:
thm(k,:) = [b1,b2,...,bnb, c1,c2,...,cnc, d1,...,dnd , f1,...,fnf]

n cazul utilizrii celei de-a doua variante de sintax, semnificaia parametrilor este urmtoarea: - Parametrul de ieire yp este predicia ieirii conform modelului actual, adic linia k a lui yp conine predicia y(k) calculat pe baza tuturor datelor anterioare. - Argumentul de intrare th0 este un vector linie ce conine valoarea iniial a parametrilor modelului. Valoarea sa implicit este un vector llinie cu toate elementele nule. - Argumentele P0 i P sunt valorile iniial, i respectiv final, a matricei de covarian scalate a parametrilor. Valoarea implicit a matricei P0 este 104 nmulit cu matricea unitate. - Argumentele phi0 i phi conin valorile iniial, i respectiv final, a vectorului de date:
(t ) = [ y (t 1),..., y (t na ), u (t 1),..., u (t nb nk + 1)]

Valoarea implicit a vectorului phi0 este un vector cu toate elementele zero. - Argumentele psi0 i psi sunt vectori ce conin valorile iniial, i respectiv final, a gradientului. Valoarea implicit a vectorului psi0 este un vector cu toate elementele zero. Observaie: Aceast funcie solicit o valoare nk mai mare dect zero.
Exemplul 5.2 Considerm un sistem discret descris de urmtoarea ecuaie:
y (t ) = q 1 1.3q 3 1 q 1 u ( t ) e(t ) + 1 1.2 + 0.7q 2 1 q 1 + 0.2q 2

Se cere: a) s se creeze un model Matlab pentru acest sistem; b) s se simuleze rspunsul sistemului pe un interval de 300 de secunde la o intrare u(t) de tip semnal pseudo-aleator binar i un zgomot aleator e(t) cu distribuie normal;

c) folosind datele intrare-ieire de la punctul b) s se estimeze parametrii unui model BJ folosind metoda minimizrii erorii de predicie.
Soluie:

Observm c suntem n cazul unui model BJ cu singur intrare i o singur ieire cu: B = [0 1 1.3] , F = [1 1.2 0.7] , C = [1 1] i D = [1 1 0.2] Crearea unui model ARMAX se realizeaz folosind funcia idpoly:
m=idpoly(1,B,C,D,F);

Semnalul de intrare i perturbaia pot fi generate folosind funcia idinput:


u=idinput(300,prbs); e=idinput(300,rgs);

Simularea modelului m la intrarea u i perturbaia e se realizeaz folosind funcia sim:


y=sim(m,[u e]);

Datele intrare ieire sunt grupate ntr-un obiect de tip iddata:


z=iddata(y,u,1)

Aceste date pot fi plotate folosind funcia idplot : idplot(z) Pentru estimarea modelului BJ folosim funcia bj:
me=bj(z,[2 2 2 2 1])

n concluzie, programul Matlab ce rezolv cerinele problemei este urmtorul:

B =[0, 1, -1.3] C= [1 -1] D =[1,-1, 0.2]

F =[1,-1.2, 0.7] m=idpoly(1,B,C,D,F) u=idinput(300,'prbs'); e=idinput(300,'rgs'); y=sim(m,[u e]); z=iddata(y,u,1) idplot(z) me=bj(z,[2 2 2 2 1])

TEME:

1. S se ruleze exemplele prezentate n lucrare. 2. Considerm un sistem discret descris de urmtoarea ecuaie cu diferene:
y (t ) + 0.85 * y (t 1) + 0.3 * y (t 2) = = 0.5 * u (t 1) + u (t 2) + e(t ) + 0.85 * e(t 1) + 0.3 * e(t 2)

Se cere: a) s se creeze un model Matlab pentru acest sistem; b) s se simuleze rspunsul sistemului pe un interval de 400 de secunde la o intrare u(t) de tip semnal pseudo-aleator binar i un zgomot aleator e(t) cu distribuie normal (se cer graficele intrrii i ieirii sistemului); c) folosind datele intrare-ieire de la punctul b) s se estimeze parametrii unui model OE folosind metoda minimizrii erorii de predicie. d) Pentru modelul obinut la punctul c) s se afieze: - gradul de asemnare ntre datele reale i ieirea modelului; - funcia de corelaie a reziduurilor; - funcia pondere; - funcia indicial; - caracteristica complex de frecven amplitudine-faz; - caracteristicile BODE; - funcia de transfer corespunztoare modelului; - polii i zerourile modelului mpreun cu regiunile de ncredere.

e) s se estimeze parametrii unui model OE folosind algoritmul celor mai mici ptrate recursiv cu un factor de uitare egal cu 0.93. S se ploteze evoluia parametrilor modelului estimat. 3. Considerm un sistem discret descris de urmtoarea ecuaie:
y (t ) = q 2 1.3q 3 + 0.8q 4 1 q 1 + 0.2q 2 0.18q 4 u (t ) + e(t ) 2 1 + 0.9q 1 2q 1 + 1.85q 2 0.65q 3

Se cere: a) s se creeze un model Matlab pentru acest sistem; b) s se simuleze rspunsul sistemului pe un interval de 500 de secunde la o intrare u(t) de tip sum de dou sinusoide i un zgomot aleator e(t) de tip zgomot alb (se cer graficele intrrii i ieirii sistemului); c) folosind datele intrare-ieire de la punctul b) s se estimeze parametrii unui model BJ folosind metoda minimizrii erorii de predicie. d) s se estimeze parametrii unui model BJ folosind algoritmul celor mai mici ptrate recursiv cu un factor de uitare egal cu 0.9. S se ploteze evoluia parametrilor modelului estimat. 4. Considerm un sistem discret descris de urmtoarea ecuaie cu diferene:
y (t ) 1.2 * y (t 1) + 0.7 * y (t 2) = u1 (t 1) + 0.5 * u1 (t 2) + 0.1 * u1 (t 3) + 1.5 * u 2 (t 1) 0.5 * u 2 (t 2) 0.1 * u 3 (t 1) + 0.5 * u 3 (t 2) 0.1 * u 3 (t 3) + e(t ) 1.2 * e(t 1) + 0.7 * e(t 2)

Se cere: a) s se creeze un model Matlab pentru acest sistem; b) s se simuleze rspunsul sistemului pe un interval de 500 de secunde la intrrile u1(t), u2(t) i u3(t) de tip aleator binar i un zgomot aleator e(t) cu distribuie normal; c) folosind datele intrare-ieire de la punctul b) s se estimeze parametrii unui model OE folosind metoda minimizrii erorii de predicie.