Documente Academic
Documente Profesional
Documente Cultură
ESTIMAREA PARAMETRILOR
MODELELOR AR ŞI ARX
A(q ) * y (t ) = e(t )
unde:
A(q ) = 1 + a1 * q −1 + L + an * q − n - polinom de grad na
a
a
e(t)
1
A( q )
u(t) q − d B(q) + y(t)
A(q ) +
28
În Matlab există mai multe funcţii ce pot fi utilizate pentru Estimarea
parametrilor modelelor AR şi ARX, în funcţie de algoritmul ce se doreşte
a fi utilizat pentru identificare. Astfel, funcţiile ar şi arx folosesc metoda
celor mai mici pătrate pentru estimarea parametrilor modelelor, funcţia
rarx utilizează metoda celor mai mici pătrate recursivă iar funcţiile ivar
şi iv4 utilizează metoda variabilelor instrumentale. În continuare sunt
prezentate aceste funcţii.
■ Funcţia ar
Sintaxă: m = ar(y,n)
■ Funcţia arx
Sintaxă: m = arx(data,orders)
29
Pentru modelele multivariabile (modele cu mai multe intrări şi mai
multe ieşiri) na este o matrice ce conţine un număr de linii egal cu
numărul de ieşiri al sistemului, iar nb şi nk sunt matrice cu un număr de
coloane egal cu numărul de intrări şi un număr de linii egal cu numărul de
ieşiri al sistemului.
Pentru modelele cu o singură ieşire această funcţie poate fi utilizată
pentru estimarea unui model continuu în timp (doar folosind date din
domeniul frecvenţă). În acest caz, na reprezintă gradul numitorului iar nb
gradul numărătorului funcţiei de transfer. Astfel, dacă na=4 şi nb=2 se va
obţine un model de forma:
b1 s + b2
G (s) =
s + a1 s + a 2 s 2 + a3 s + a 4
4 3
■ Funcţia rarx
Sintaxă:
thm = rarx(data,orders,adm,adg)
[thm,yp,P,phi] = rarx(data,orders,adm,adg,th0,P0,phi0)
■ Funcţia ivar
Sintaxă: m = ivar(y,n)
■ Funcţia iv4
Sintaxă: m = iv4(data,orders)
Exemplul 2.1
Considerăm un sistem discret descris de următoarea ecuaţie cu diferenţe:
Soluţie:
Folosind operatorul de întârziere cu un pas q-1 obţinem ecuaţia
(1 − 1.5q −1 + 0.7q −2 ) y (t ) = ( q −1 + 0.5q −2 )u(t ) + e(t )
Observăm că suntem în cazul unui model ARX cu singură intrare şi o
singură ieşire cu:
m=idpoly(A,B);
32
Semnalul de intrare şi perturbaţia pot fi generate folosind funcţia idinput:
u=idinput(300,’prbs’);
e=idinput(300,’rgs’);
y=sim(m,[u e]);
z=iddata(y,u,1)
idplot(z)
me=arx(z,[2 2 1])
A =[1,-1.5, 0.7]
B =[0, 1, 0.5]
m=idpoly(A,B)
u=idinput(300,'prbs');
e=idinput(300,'rgs');
y=sim(m,[u e]);
z=iddata(y,u,1)
idplot(z)
me=arx(z,[2 2 1])
Exemplul 2.2
Considerăm un sistem discret descris de următoarea ecuaţie cu diferenţe:
y (t ) − 1.5 * y (t − 1) + 0.2 * y (t − 2) = u1 (t − 1) − u1 (t − 2) + 0.5 * u2 (t ) + 1.2 * u2 (t − 1) + e(t )
33
Se cere:
c) să se creeze un model Matlab pentru acest sistem;
d) să se simuleze răspunsul sistemului pe un interval de 300 de
secunde la o intrare u1(t) de tip sumă de 2 sinusoide, la o intrare
u2(t) de tip aleator binar şi un zgomot aleator e(t) cu distribuţie
normală;
e) folosind datele intrare-ieşire de la punctul b) să se estimeze
parametrii unui model ARX folosind metoda celor mai mici
pătrate.
Soluţie:
Folosind operatorul de întârziere cu un pas q-1 obţinem ecuaţia:
(1 + 0.7 q −1 + 0.2 q −2 ) y (t ) = ( q −1 − q −2 )u1 (t ) + (1 + 0.5q −1 )u2 (t ) + e(t )
Exemplul 2.3
34
a) să se creeze un model Matlab pentru acest sistem;
b) să se simuleze răspunsul 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 distribuţie normală;
c) folosind datele intrare-ieşire de la punctul b) să se estimeze
parametrii unui model ARX folosind metoda celor mai mici
pătrate recursivă folosind un factor de uitare egal cu 0.9. Să se
ploteze evoluţia parametrilor modelului estimat.
Soluţie:
Punctele a) şi b) se rezolvă la fel ca în Exemplul 2.1, iar pentru punctul c)
se utilizează funcţia rarx. Programul Matlab şi graficul rezultat în urma
rulării acestui program sunt următoarele:
A =[1,-1.5, 0.7]
B =[ 0, 1, 0.5]
m=idpoly(A,B)
u=idinput(300,'prbs');
e=idinput(300,'rgs',[],[-0.1 0.1]);
y=sim(m,[u e]);
z=iddata(y,u,1)
idplot(z)
mr=rarx(z,[2 2 1],'ff',0.9)
plot(mr)
1.5
0.5
-0.5
-1
-1.5
-2
0 50 100 150 200 250 300
35
TEME:
36