Sunteți pe pagina 1din 7

Sisteme adaptive şi robuste

Algoritmi de estimare parametrică de tipul CMMP

Determinarea on-line a parametrilor procesului este parte componentă a buclei de ajustare a


regulatorului convenţional, performanţele sistemului de conducere adaptivă fiind esenţial
determinate de calitatea modelării sistemului reglat.
Alegerea metodei de identificare, organizarea mecanismului de culegere a datelor,
stabilirea ipotezelor preliminare referitoare la modelul procesului precum şi convergenţa
algoritmului de identificare sunt elemente cheie în stabilirea unui mecanism corect de
adaptare.
Metoda CMMP este o metodă de bază în identificarea parametrilor, majoritatea altor
metode fiind metode derivate din aceasta.
Ipotezele de aplicabilitate ale algoritmului CMMP sunt:
 Structura modelului ce urmează a fi identificat parametric este cunoscută (se cunoaşte
ordinul funcţiei de transfer a procesului);
 Modelul matematic al procesului este liniar sau cel puţin liniarizabil în jurul unui punct de
funcţionare;
 Parametrii modelului suferă variaţii lente în comparaţie cu viteza de variaţie a semnalelor
de intrare şi ieşire; cel puţin pentru o colecţie de N date măsurate de la proces parametrii sunt
constanţi;
 Datele măsurate de la proces sunt consistente în sensul unui conţinut de informaţii
complete referitoare la modelul procesului.
Obs: În cazul când modelul este liniar în parametri estimaţiile pot fi calculate analitic.

Estimarea parametrilor prin metoda CMMP off-line


Se consideră procesul descris de modelul discret:
A(q-1)y(t)=q-dB(q-1)u(t)+(t) (1)
unde:
A(q-1)=1+a1q-1+a2q-2+....+anaq-na
B(q-1)=b0+b1q-1+b2q-2+....+bnbq-nb

1
respectiv (t) reprezintă reziduurile modelului cauzate de erori de măsurare, perturbaţii
interne, erori de modelare. Se presupune că (t) are o variaţie aleatoare, independentă de
semnalul de intrare u(t) şi ieşire y(t).
În aceste ipoteze modelul procesului se scrie
y(t)+a1y(t-1)+...anay(t-na)=b0u(t-d)+..bnbu(t-d-nb)+ (t) (2)
sau echivalent în forma:
y( t )   T ( t )    ( t ) (3)
unde:

  a 1 , a 2 ,..., a na , b 0 , b1 ,..... b nb 
T

este vectorul parametrilor procesului iar

( t)   y(t  1), y( t  2),... y( t  na), u(t  d), u(t  d  1),.... u(t  d  nb)
T

este vectorul datelor de intrare/ieşire măsurate de la proces la momentele anterioare lui t


(vectorul regresor).
^
Prin identificare se va determina o estimaţie  a vectorului real  al parametrilor, ca soluţie
a ecuaţiei liniare
^ ^
y( t )   T ( t )    ( t ) (4)
^
în care ( t) notează reziduul modelului estimat (eroarea de modelare). Corectitudinea
estimării este apreciabilă pe baza mărimii acestui reziduu ceea ce înseamnă că algoritmul de
^ ^
identificare va acţiona în sensul minimizării lui ( t) la valoarea ( t )  ( t ) .
Deoarece relaţia (4) reprezintă o ecuaţie liniară cu (na+nb+1) necunoscute (componentele
^ ^
vectorului  ), determinarea lui  presupune achiziţionarea a cel puţin N=na+nb+1 seturi de
date  T ( t ) , t=1,2,..N.
Momentul t=1 marchează începutul operaţiei de identificare şi nu momentul de pornire a
funcţionării sistemului; se presupune astfel că valorile u şi y la momentele anterioare
momentului t=1, y(0), y(-1),...y(1-na) respectiv u(0), u(-1),...u(1-d-nb) sunt cunoscute.
Datele colectate în cele N măsurări formează un set de N ecuaţii cu N necunoscute.
 ^ ^
y(1)   (1)  (1)
T

 ^ ^
 y( 2)   T ( 2)    ( 2)
 (5)
.............
 ^ ^
 y( N )   T ( N )    ( N )

2
sau, într-o exprimare matricială:
^ ^
Y    E (6)
unde:
^ 
 y(1)   T (1)  (1) 
   T  ^ 
y( 2)   (2)  ^
  
Y ; =  ; E ( 2 )
......   
  ........  ...... 
 y( N )   T ( N )  ^ 
 
( N ) 

^
În situaţia în care E  0 şi N=na+nb+1 sistemul liniar este unic determinat rezolvându-se
^
printr-o metodă specifică. Dacă E  0 se vor achiziţiona N*>N date, obţinându-se un sistem
de N* ecuaţii cu N necunoscute.
^
Determinarea lui  se va face astfel încât reziduurile modelului (erorile de modelare) să fie
minime. Mai precis se va încerca minimizarea criteriului eroare pătratică:
* 2 * 2
1N ^ 1N  ^
J ( )  
2 t 1
 ( t )    y( t )   T ( t ) 
2 t 1  
(7)

^
Valoarea  care extremizează criteriul J se caută astfel încât:
 ^
J  
J   ^ ^

^
 ^
 0 , i = 1,... N unde  i -componenta i a vectorului  (8)
  i

  1 N 2 ^ 
* * 2 N*
 ^ 1 N  T ^ 
J ( )  ^ 2
        
T
y ( t )  ( t )   y ( t ) ( t )
^ 2   
 i   i  t 1 t 1 t 1
(9)
 * 2 *
^  N* N*
 1 N  N ^  1N  N 
^

^ 2  i
  ( t )  i    y( t )    i ( t )  i     ( t )   i ( t )   y( t )  i ( t )  0
T
  2 t 1  i 1   t 1
  i  t 1 i 1 t 1

^
Relaţia (9), rescrisă de N ori, determină complet valoarea vectorului :
 N* ^ N*
  ( t ) T ( t )     ( t ) y T ( t ) (10)
 t 1  t 1
 

echivalentă cu:
1
^  N*   N* 
    ( t ) T ( t )   ( t )y T ( t ) (11)
 t 1   t 1 
   

unde s-a presupus că inversa există.


Utilizând notaţiile matriceale:

3
1
 N*   N*   N* 
P(N)=  ( t ) T ( t ) ; R(N)=   ( t )y T ( t )     ( t )y( t )  (12)
 t 1   t 1   t 1 
     

relaţia de calcul al estimaţiei se scrie:


^
  P( N) R( N) (13)
Se renarcă faptul că odată cu creşterea intervalului N* de observare a sistemului creşte
^
precizia de determinare a lui  , însă indiferent de lungimea secvenţei de măsurări N*,
matricile P şi R au dimensiuni constante, fixate de ordinul modelului procesului:
dimP(N)=(na+nb+1)x(na+nb+1)=NxN
dimR(N)=(na+nb+1)x1=Nx1

Implementarea algoritmului CMMP off - line


Presupunându-se că în urma realizării experimentului se dispune de mărimile u(1), u(2),...
u(N*) şi y(1),y(2),....y(N*) şi că structura sistemului este prestabilită, precizată prin mărimile
{na,nb,d}, pentru determinarea parametrilor sistemului prim metoda CMMP, varianta off-line,
se foloseşte relaţia (13).
După cum s-a precizat, momentul t=1 reprezintă momentul începutului operaţiei de
identificare şi nu al momentului pornirii instalaţiei. Astfel, pentru a calcula


( t )  (1), (2),.... ( N * )  este necesar a se dispune de valorile u(t) şi y(t) pentru t[1-n,N],

unde n=max(na,nb+d).
Dacă nu se dispune de măsurători pentru t<0, se poate presupune că u(t)=y(t)=0. O astfel de
presupunere, deşi puţin arbitrară, nu va afecta semnificativ rezultatele deoarece de cele mai
multe ori n<<N*.
O altă soluţie la această problemă este să se schimbe limita inferioară a sumelor din ecuaţia
(12) cu t=n+1; procedându-se astfel în calculul matricelor (13) vor fi necesare măsurători
pentru t [1,N] - disponibile.
Pentru a releva principalele operaţii necesare implementării algoritmului CMMP ecuaţia
(13) se prezintă într-o formă mai detaliată:

4
1
  N   N  
   y( t  i) y( t  j)    y( t  i) u( t  j  d  1)  
  t  n 1   t  n 1  
 i  1..... na  i  1..... na    N 
          y( t  i) y( t )  
  j  1...... na   j  1...... nb  1     t  n 1 
       i  1..... na 
^

        
 N   N   N 
   u( t  i  d  1) y( t  j)    u( t  i  d  1) u( t  j  d  1)      u( t  j) y( t )  
  t  n 1   t  n 1    t  n 1 
  i  1..... nb  1    j  1...... nb  1  
 i  1..... nb  1     
  j  1...... na   j  1...... nb  1 
   
     

  b 
1
 a ij   e i  na 1 
= 
ij nax ( nb 1)
 
 
naxna
(14)

 
 c ij
( nb 1) xna
d ij

( nb 1) x ( nb 1)  ( na  nb 1) x ( na  nb 1)
 f j ( nb 1) x1 
  ( na  nb 1) x1

Etapele implementării alogoritmului CMMP off -line sunt:


1. Precizare structură sistem {na,nb,d)
2.Calculează n=max(na,nb+d)
3.Calulează P(na+nb+1)x(na+nb+1)
4. Calculează R;
^
5. Calculează   P( N) R( N)

Anexa 1. Identificarea parametrica on line folosind metoda CMMP nerecursiva

clear P
clear R
%estimare parametrica cmmp - off -line
d=input('introduceti structura modelului [d]');
nb=input('introduceti structura modelului [nb]');
na=input('introduceti structura modelului [na]');
n=max(na,nb+d);

5
N=length(y);

for i=1:na,
for j=1:na,
a1=y(n+1-i:N-i);
a2=y(n+1-j:N-j);
a(i,j)=a1'*a2;
end
end

for i=1:na,
for j=1:nb+1,
b1=y(n+1-i:N-i);
b2=u((n+1)+1-d-j:N+1-d-j);
a(i,na+j)=-b1'*b2;
end
end

for i=1:nb+1,
for j=1:na,
c1=u((n+1)+1-d-i:N+1-d-i);
c2=y(n+1-j:N-j);
a(na+i,j)=-c1'*c2;
end
end
for i=1:nb+1,
for j=1:nb+1,
d1=u((n+1)+1-d-i:N+1-d-i);
d2=u((n+1)+1-d-j:N+1-d-j);
a(na+i,na+j)=d1'*d2;
end
end
P=inv(a);

6
clear a
e2=y(n+1:N);
for i=1:na,
e1=y(n+1-i:N-i);
R(i,1)=-e1'*e2;
end
for i=1:nb+1,
e1=u((n+1)+1-d-i:N+1-d-i);
R(na+i,1)=e1'*e2;
end
teta=P*R

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

  • Curs Psihologia Educatiei
    Curs Psihologia Educatiei
    Document160 pagini
    Curs Psihologia Educatiei
    Andreea Niță
    100% (1)
  • CURS LF2 Logica
    CURS LF2 Logica
    Document27 pagini
    CURS LF2 Logica
    Andreea Niță
    Încă nu există evaluări
  • CURS LF1 Multimi
    CURS LF1 Multimi
    Document29 pagini
    CURS LF1 Multimi
    Andreea Niță
    Încă nu există evaluări
  • L2 Adaptive CMMP Estimation
    L2 Adaptive CMMP Estimation
    Document9 pagini
    L2 Adaptive CMMP Estimation
    Tudor Midrigan
    Încă nu există evaluări
  • Imc 2
    Imc 2
    Document10 pagini
    Imc 2
    Mihai Tataroi /Student
    Încă nu există evaluări
  • Imc 2
    Imc 2
    Document10 pagini
    Imc 2
    Mihai Tataroi /Student
    Încă nu există evaluări
  • Imc 2
    Imc 2
    Document10 pagini
    Imc 2
    Mihai Tataroi /Student
    Încă nu există evaluări
  • Imc 2
    Imc 2
    Document10 pagini
    Imc 2
    Mihai Tataroi /Student
    Încă nu există evaluări
  • L2 Adaptive CMMP Estimation
    L2 Adaptive CMMP Estimation
    Document9 pagini
    L2 Adaptive CMMP Estimation
    Tudor Midrigan
    Încă nu există evaluări
  • Managementppt
    Managementppt
    Document7 pagini
    Managementppt
    Andreea Niță
    Încă nu există evaluări
  • New Microsoft Word Document
    New Microsoft Word Document
    Document2 pagini
    New Microsoft Word Document
    Andreea Niță
    Încă nu există evaluări