Sunteți pe pagina 1din 9

5.

Algoritmi recursivi CMMP


( t )
u(t) - y(t)
Proces
+

+ ( t )
Model ajustabil
-
^ ^ ^
y( t )   ( t ) ( t  1)
T
y( t )
^ ^ ^
( t )  ( t  1)   c ( t ) ( t )

 c (t)
Mecanism de
ajustare
Folosirea metodei CMMP nerecursive presupune un volum mare de calcul, ceea ce
necesita un spatiu mare de memorie si procesoare rapide. O varianta de eliminare a acestui
neajuns este limitarea secventei de date prelucrate de estimator la o lungime N* fixata
(N* > na + nb +1). Solutia consta in utilizarea metodelor de identificare CMMP recursive care
exploateaza rezultatele estimarii obtinute anterior, limitand prin aceasta volumul de calcule
implicate. Estimatoarele recursive determina matricea parametrilor estimati la momentul t,
^ ^
 ( t ) , prin aplicarea unei corectii ( t  1) , determinate la pasul anterior.
1
 t 1   t 1 
 
^
 (t  1)  P(t  1) R(t  1)    ( k ) ( k )    ( k ) y ( k ) 
T

 k 1   k 1 
  y ( t  2)  -y(t - 1) 
   
 y (t  3)  -y(t - 2) 
........  .......... 
   
  y (t  na  1)   -y(t - n a ) 
 (t  1)   
  (t) =
u ( t  d ) 
u( t  d  1)
   
u ( t  d  2 )  u( t  d  1) 
...........  ............. 
   
u( t  d  nb  1)  u( t  d  nb ) 
^ ^
Predictia iesirii este y(t )   T (t )  (t  1)
Predictia se va abate de la valoarea adevarata y(t) cu valoarea ( t ) :
^ ^
 (t )  y(t )  y(t )  y(t )   T (t )  (t  1) . ( t ) va furniza, pe baza unui mecanism de ajustare,
^ ^
corectorul  c ( t ) :  (t )   (t  1)   c (t )

Pentru a determina  c ( t ) se dezvolta o serie de relatii de calcul pt matricele P(t) si R(t).


^ (8.44)
 (t )  P(t ) R(t )  P(t )  R(t  1)   (t ) y(t )   P(t ) R(t  1)  P(t ) (t ) y(t )

^
R ( t  1)  P 1 ( t  1) ( t  1)
Rezulta ca:
^ ^
 (t )   (t  1)  P(t ) (t )(t )
Algoritmul CMMP recursiv consta in efectuarea la momentul t a urmatorilor pasi:
1. Formeaza ( t)
2. Calculeaza P(t)
3. Se calculeazǎ eroarea de predicţie ( t )
^
4. Se corecteazǎ estimaţia  ( t )
5. Aşteaptǎ urmǎtorul moment de eşantionare şi reia algoritmul.

9. a) Alocarea polilor (polinoame de ordin I)


S(q-1)=1+s1q-1
Sistemul se comporta ca un sistem cu intarziere de ordin I.
Raspunsul y(t) la semnal treapta va fi aperiodic.
S1 va determina durata regimului tranzitoriu(timpul de răspuns, t r). Astfel, considerandu-se
k
sistemul continuu de ordin I: HF ( s)  => tt  4T1 . Discretizatul său are forma:
T1s  1
   
T
1 
 T1  
z k 1 e
    
T

4T
 z 1b

H ( z 1 )  1  z 1    H ( s)  
Z  L1  F   
  s 


T

1  a1z 1
=> s1  a1   e
T1
 e tt

T1 1
1 e z
b) Alocarea polilor (polinoame de ordin 2)
S(q-1)=1+S1q-1+S2q-2
Sistemul se va comporta ca un sistem continuu, cu intarziere de ordin II, cu parametri  si n
 2m
HF ( s)  2
s  2 n s   2n


1  2   
 e  1   = suprareglarea
 0.6 
Timpul de cresrere = tc2.5/n
Timpul de raspuns = tr=4.6/(n)

H z  
1
 1  1  e  sT

 Z  L 


H F ( s)  

z 1 b1  b2 z 1 
1 2
  s   1  a1z  a2 z
, unde
   n 
b1  1         e  n T
   
   n    cosT
b2       
2
   sin T
  

a1  2    1   2
  n
a2   2

s1  a1  2e n T cos  n 1   2 T  s2  a2  e
2 n T
 

Precizia de reglare in sistem stationar : tlim y (t ) r ( t )  ( t )  1 =>



B(1) H (1) S (1)
 1  H (1)  H
S (1) B(1)
Hr (t )  G(q 1 ) y(t )
Legea de reglare are forma: u(t ) 
F (q 1 )

sau forma recursiva u(t )  Hr (t )  G(q 1) y(t )  F * (q 1)u(t  1)

8. Proiectarea algoritmilor de reglare monovariabila prin metode de alocare a


polilor
Această strategie permite calculul unui regulator numeric (polinoamele F(q-1), G(q-1) şi H(q-1))
pentru sisteme stabile sau instabile fără restricţii asupra întârzierii procesului, de fază minimă
sau neminimă.
Polinoamele F(q^-1) şi G(q^-1) sunt soluţii ale ecuaţiei polinomiale:
A(q^-1)*F(q^-1)+ q^-d*B(q^-1)*G(q^-1)=S(q^-1) denumită şi ecuaţia de alocare sau ecuaţia
Diophantine.
Structura sistemului în buclă închisă:

Ecuatia de mai sus accepta acceptă soluţia (F(q^-1),G(q^-1)) dacă sunt îndeplinite următoarele
ipoteze:
(i) Polinoamele A(q-1) şi B(q-1) sunt coprime; în caz contrar divizorul lor comun trebuie să fie şi
divizor al lui S(q-1).
(ii) ordinul celor doi termeni trebuie să satisfacă relaţia: ns=grad S(q-1)≤max(na+nf,nb+ng+d)
(iii) Numărul ecuaţiilor liniare rezultate din egalarea coeficienţilor polinomiali ai celor doi
termeni ai ecuaţiei nu depăşeşte numărul necunoscutelor: max(na+nf,nb+ng+d) ≤nf+ng+1
Soluţia unică standard a ecuaţiei de alocare se obţine pentru: nf=nb+d-1; ng=na-1; ns≤na+nb
În acest caz, sistemul liniar de ecuaţii se poate rescrie:
unde:
12. Reglarea adaptiva indirecta folozind metode de alocare
Structura sistemelor adaptive autoacordabile implică existenţa unei bucle de ajustare
parametrică în paralel cu bucla convenţională.
^ ^
coef[A ( q 1 ) ,B(q 1 )]

coef[S(q 1 ), T(q 1 )] P roiect are Est imat or recursiv


regulat or prin de t ipul
met ode de alocare CMMP Nivel adaptare
*
^ ^ ^  (t )
1 1 1
coef [ F ( q ) , G ( q ), H ( q )]
H ( q 1 ) + 1 B( q 1 ) + y (t )
qd
r (t ) u(t )
1 1 1
F( q ) - D( q ) u (t ) A (q ) + Nivel reglare
Proces

G ( q 1 )
F ( q 1 )

Metoda de identificare on-line: Metoda CMMP recursivă


Procedura de proiectare on-line regulator: Metoda alocării poli-zerouri
Iniţializarea mecanismului de adaptare presupune specificarea următoarelor informaţii:
 perioada de esantionare Te
 date iniţiale:
- structura modelului: gradul polinoamelor na si nb, timpul mort normat în perioade de
eşantionare d=/Te
^ 
- estimarea iniţială a parametrilor modelului sistemului  (0)
 
- iniţializarea vectorului regresor (0)
- iniţializarea matricei de covarianţă P(0)
- specificarea factorului de ponderare ;
 Date iniţiale pentru algoritmul de proiectare on-line:
- scopul reglării: sistem de urmărire, sistem de reglare sau combinaţie a celor două
- tipul legii de reglare: 2DOF,1DOF, cu sau fără componentă integrală
- performanţele dorite: specificarea polinomului polilor doriţi, S(q^-1), respectiv cel al
zerourilor T(q^-1).
Funcţionarea regulatorului adaptiv constă în execuţia, succesivă, la fiecare Te, a următoarelor
acţiuni:
- Achiziţia de date: conversia A/D a ieşirii procesului şi achiziţia referinţei r(t) de la consolă, fişier
de date sau intrare serială.
^ ^
- Estimarea recursivă a modelului sistemului: A(q 1 ), B(q 1 ),
^ ^ ^
- Sinteza regulatorului prin metode de alocare( F(q 1 ), G(q 1 ), H(q 1 ) )
- Calculul comenzii u(t)
- Trimiterea comenzii către proces prin conversia D/A.
13.Reglarea adaptivă directă folosind metode de alocare
^ ^
1 1  1
1 1  G ( q ), B ( q )
coef [ S ( q ), T (q )] Calcul polinoame
^ 
Calcul valori  S ( 1); B ( 1)
^ ^
0 1 0 1
Estimator recursiv  coef [ F ( q ), G ( q )]
de tipul
CMMP

*
 (t )
r (t ) ^
 1 + +
S (1) B ( q ) d B(q 1 )
q
^

^
0 1 - u (t )
A ( q 1 ) + y (t )
B (1 ) F ( q )

^
G 1(q 1 )
^
F 0 ( q 1 )

B(q 1 )
Pentru reparametrizarea modelului y(t )  q  d u(t ) (1) se explicitează polinomul A(q-1)
A(q 1 )
utilizându-se ecuaţia de alocare A(q-1)F(q-1)+ q-dB(q-1)G(q-1)=S’(q-1) (2) sau considerându-se
factorizările:
B(q-1)= B+(q-1) B-(q-1)
F(q-1)= B+(q-1) F+(q-1)
S’(q-1)=S(q-1)B+(q-1)
Ecuaţia devine: A(q-1)F+(q-1)+ q-d B-(q-1)G(q-1)= S(q-1)
1 S (q 1 )  q  d B  (q 1 ) G(q 1 )
Din ecuatia de mai sus se deduce: A ( q ) 
F  (q 1 ) (3)
S (q 1 )  q  d B  (q 1) G(q 1 ) (8)  ( 3)
y(t )  q  d B  (q 1 ) B  (q 1 )u(t ) 
F  (q 1 )
Înlocuind (3) în (1) se obţine: (4)
-d B  (q 1 ) B  (q 1 ) F  (q 1 ) (4)
-d B  (q 1 ) F (q 1 )
y(t) = q u(t) = q u(t)
S (q 1 )  q  d B  (q 1 ) G(q 1 ) S (q 1 )  q  d B  (q 1 ) G(q 1 )
Dacă se folosesc notaţiile:
F (q )  B  (q 1 ) F (q 1),
0 1
nf0  nb  nf  nb  nb  d  1
G0 (q 1)  S (q 1)  q  d B  (q 1) G(q 1), ng0  max(ns, nb  ng  d )  nb  na  d  1
F 0 (q 1 )  f 00  f10q 1 .......... f nf0 0q  nf 0
unde polinoamele F0(q-1), G0(q-1) au formele:  ng 0
G0 (q 1 )  1  g10q 1 .......... gng
0
0q

Modelul (4) devine


F 0 (q 1 )
y( t )  q  d u(t ) reprezentând modelul sistemului condus în termenii legii de reglare.
G0 (q 1 )
7. Aspecte practice de implementare
In afara stabilirii algoritmului de calcul implicat in estimarea parametrica, o mare importanta o
au o serie de aspecte practice legate de implementarea si utilizarea estimatorului:
1. Initializarea algoritmilor de identificare
Pentru ca algoritmul CMMP recursiv sa functioneze, trebuie ca la momentul t sa fie cunoscute:
1.1 vectorul regresor, adica valorile y(t-2), y(t-3), ...y(t-na) si u(t-d-1), u(t-d-2), ...,u(t-d-nb).
Se impune o initializare pt y(t) si u(t) pt t<0. Initializare arbitrara bazata pe precolectarea
datelor - u(t)=y(t)=0, pentru t0 => convergenta lenta.
^ ^
1.2 vectorul parametrilor estimati:  (1) - initializare ( 0) : - dezvoltand un model teoretic al
procesului pe baza cunostintelor existente; - arbitrar.
^ ^
1.3. Matricea de covarianta:  (t )   (t  1)  P(t ) (t )(t ) , P(t) – reflecta gradul de incertitudine in
^ ^
determinarea estimatiei  ( t ) . Daca ( 0) este ales arbitrar, P(t) este ales a.i. sa permita corectii
1
 t 
ale vectorului parametrilor initiali P(t )   P 1 ( 0) 


i 1
 (i ) (i ) 
T


2. Alegerea modelului matematic : se rezuma la stabilirea unui ordin maxim pentru descrierea
transferului realizat de sistem
- Valorile na si nb se aleg pe baza interpretarii analitice a ecuatiei de bilant energetic, respectiv
identificare elementelor de acumulare, prin anticipare
- estimarea timpului mort – experimental, prin aplicarea unor comenzi persistente ce
determina o perturbare a procesului de la regimul stationar si monitorizarea iesirii sistemului la
inceputul regimului tranzitoriu.
3. Alegerea perioadei de esantionare: dependeta de dinamica procesului, dar si de posibilitatile
echipamentului de achizitie si prelucrare a datelor; - Shanonn: Te 2 banda de frecventa (ωt) = >
1/5 ….1/2 din constantele de timp dominanta.

?6. Convergenta algoritmilor recursivi CMMP


Existenţa soluţiei ecuaţiei
1
 N*   N* 
 
^
 ( N )    (t) T (t ) 
*   (t ) y (t )  este condiţionatǎ de existenţa matricei inverse. Adică
 t=1   t=1 
   
^
existenţa soluţiei  şi implicit convergenţa algoritmului se obţine dacǎ:
 N* 

1
lim det   (t) T (t )   0
N *  N
*
 t=1 
 
^ ^
Algoritmii CMMP recursivi vor converge dacǎ:  (t )   (t  1) pentru t  
ceea ce inseamna ca: lim P(t )  0
t 
1
 
 
t
1
1
P(t )  P (t  1)   (t ) (t )
T
  P 1 (0) 


i 1
 (i ) (i )  rezulta ca algoritmul de identificare
T


 t 
este convergent dacǎ există inversa matricei   (i) T (i)  ceea ce presupune existenţa inversei
 i 1 
1
matricei  T (t) (t)  , ceea ce este echivalent cu lim det  (t) (t)   0 .
T
t  t

In concluzie, îndeplinirea condiţiilor de convergenţǎ presupune:


a) mǎrimea de intrare trebuie sǎ fie persistentǎ de ordin n>max(na,nb+1).
b) mǎrimile u(t), y(t) trebuie sǎ fie necorelate, adicǎ vectorii
 T (t )  [ y(t  1)... y(t  na) u(t  d ), u(t  d  nb)]
trebuie sǎ fie liniar independenţi. Situaţia conduce la pierderea identificabilitǎţii procesului.

?4. CMMP off-line


Se considera procesul descris de modelul discret: A(q-1) y(t) = q-d B(q-1) u(t) + Ԑ(t), unde:
A(q-1)=1+a1q-1+a2q-2+....+anaq-na
B(q-1)=b0+b1q-1+b2q-2+....+bnbq-nb
(t) – reziduurile modelului cauzate de erori de masurare, perturbatii interne, erori de
modelare.
Se presupune ca (t) are o variatie aleatoare, independent de semnalul de intrare u(t) si
iesire y(t). Astfel modelul procesului se scrie:
y(t)+a1y(t-1)+...anay(t-na)=b0u(t-d)+..bnbu(t-d-nb)+ (t) sau y(t) T(t)(t).).
Unde q = [a1 , a 2 ,..., a na , b0 , b1 ,..... bnb ]T - vectorul parametrilor procesului.
Vectorul regresor:

^ ^
Ecuatia vectorului real q al param.  : y (k )   T (k )    (k ) . Algoritmul de identificare va actiona
in sensul minimizarii reziduului, in caz ideal va duce la anularea acestuia. Momentul t=1
marcheaza inceputul operatiei de identificare. Se presupune astfel ca valorile lui u si y la
momentele anterioare momentului t=1, y(0),y(-1), … y(1-na), respective u(0),u(-1),… u(1-d-nb)
sunt cunoscute.
 ^
 y (1 )   T
(1)    (1)
 ^
 y ( 2)   T ( 2 )    ( 2 )
 Dupa N masuratori => un set de N ecuatii cu N necunoscute.

 ^
 y( N * )   T ( N * )    ( N * )

^
Determinarea lui  presupune achiziţia a cel puţin N=na+nb+1 seturi de date (k), k=1,2,...N o
ecuaţie liniarǎ cu N necunoscute . În cazurile practice, mǎsurǎtorile sunt afectate de zgomote şi
este necesar sǎ se achiziţioneze un numǎr mai mare de date N *. Datele colectate în cele N*
mǎsurǎtori, N*N, rezultând un nou set de N* ecuaţii cu N=na+nb+1 necunoscute.
N*

  y (t )   
N*
 2 (t ) = > J   
1 2
J     T   
1 1 T
(t )
2 2 t 1
2 t 1
1
 N*   N* 
 
^
 ( N )  PNxN ( N ) RNx1 ( N )    (t ) (t )    (t ) y (t ) 
* * * T
 t 1   t 1 
   
Indiferent însă de lungimea secvenţei N , matricele P(N ) şi R(N*) au dimensiuni constante.
* *

Dimensiunea acestora depinde doar de ordinul modelului procesului:


dimP(N*)=NxN=(na+nb+1)x(na+nb+1), dimR(N*)=Nx1=(na+nb+1)x1

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

  • Cub
    Cub
    Document18 pagini
    Cub
    Razvan Savuc
    Încă nu există evaluări
  • Lab GPSSH
    Lab GPSSH
    Document75 pagini
    Lab GPSSH
    Razvan Savuc
    Încă nu există evaluări
  • Cim1 PDF
    Cim1 PDF
    Document11 pagini
    Cim1 PDF
    Razvan Savuc
    Încă nu există evaluări
  • Partea 1 SAE
    Partea 1 SAE
    Document13 pagini
    Partea 1 SAE
    Razvan Savuc
    Încă nu există evaluări
  • Test ESRA
    Test ESRA
    Document11 pagini
    Test ESRA
    Razvan Savuc
    Încă nu există evaluări