La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES Le processus de lidentification paramétrique Système à identifier D/A A/D Modèle à paramètres ajustables.

Présentations similaires


Présentation au sujet: "III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES Le processus de lidentification paramétrique Système à identifier D/A A/D Modèle à paramètres ajustables."— Transcription de la présentation:

1 III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES Le processus de lidentification paramétrique Système à identifier D/A A/D Modèle à paramètres ajustables (préducteur) Algorithme dadaptation Paramètres u(t) y(t) + (t) Programme

2 1. MOINDRES CARRES RECURSIFS Admettons pour le moment que la perturbationv = 0 Choisissons les degrés m et n du numérateur et du dénominateur de la FT du système à modéliser. Forme du modèle : Soient les valeurs associées aux paramètres durant la période t c.à.d durant [t-1, t[ t-1 t Prédiction de la valeur de y(t) En posant : (1) Vecteur des paramètres Regresseur Prédiction

3 Erreur de prédiction : Soit où i : facteurs de pondération Critère de durant [t, t+1[ minimise J t ( ) Lestimation est la solution de Or (3) est la solution de (3) (2) (4) et (4)

4 Si la matrice est inversible, on tire (6) Mais (6) est non récursive. Elle nécessite : la mémorisation de tous les (i), i = 1, …, t, linversion de la matrice P -1 (t). Expressions récursives: => (7) Il reste à trouver une relation récursive pour P(t) (5)

5 Pour éviter les inversions, on utilise le Lemme: Pour A = P -1 (t-1), B = (t), C = a t et D = T (t), et si P -1 (t-1) est inversible, (8) (8) ou Remarque : si P -1 (t-1) inv. => P -1 (t), P -1 (t+1),... inv. (9)

6 Algorithme du moindre carré récursif

7 INTERPRETATION du MCR PAR KALMAN CONVERGENCE DU MCR En supposant que le système reste invariant entre t et t+1, et lécart t. (t) provient de limprécision du modèle et de mesure (t): aléatoire de moyenne nulle et de variance 2 t : facteur qui diminue quand linformation sur augmente Les équations précédentes sont détat avec Appliquons Kalman:

8 En posant: et comme dans MCR on retrouve On déduit les propriétés suivantes les mêmes relations quen MCR (*)

9 1) 2) => tr[P(t)] est une mesure de lerreur destimation en t 3) Trace de > 0 car tr[P(t)] décroissante. En effet tr(numérateur) = > 0 (1) => tr[P(t+1)] < tr[P(t)] et dénominateur =

10 4) En effet tr[P(t)] décroissante et bornée par 0 L (limite) (*) => L = L - lim de trace de => pour tout (t) => P(t) 0 => Lalgorithme MCR converge en moyenne quadratique vers les vrais paramètres en admettant que le modèle représente correctement la dynamique du système.

11 et au lieu de P(0) qui nexiste pas car P -1 (0) = 0, on pose P(0) = P 0 = c.I; c grand (=1000) et I = matrice unitaire P -1 (0) =.I Comme les éléments diagonaux de (i). T (i) = k 2 (i) > 0, devient rapidement négligeable. Initialisation du MCR On pose: (0) = [0, …, 0, 0, …,0] les y les u ( = 0.001) et, daprès (5) et (6), MCR donne Choix des facteurs de pondération : i En principe on donne la même importance à toutes les périodes i = 1 i. Mais pour accélérer la convergence, on prend: 1 0 i i a) Cas dun système invariant

12 (t,i) est dautant plus faible que i est loin de t. b) Cas dun système variant (5) et (6) deviennent : (10) (11)

13 du MCR doit être remplacée par Donc la relation (10) et (11) Lexpression de ne se modifie pas dans MCR mais P -1 (t-1) doit être remplacée par (t).P -1 (t-1) ou P(t-1) par P(t-1)/ (t) Choix de t et (t) 1) Si varie lentement t = 1 et (t) = = c te 2) Si varie rapidement il faut pouvoir le suivre => les pas ditération doivent rester grands => tr[P(t)] ne doit pas diminuer On procède comme suit: t-i 1 (t,i) => (t,i) = (t-i)

14 a) On pose (t)/ t = k = c te arbitraire mais dautant plus faible que est rapide b) On détermine (t) en résolvant à chaque pas tr[P(t)] = tr[P(t-1)] = tr c.a.d ou (*) (*) est valable si lécart est dû à la variation de et non à lerreur destimation. Or, au départ, cest lerreur destimation qui lemporte. Remède : 1) On commence par supposer que le système est invariant jusquà linstant t 0 où tr[P(t 0 )] < (m+n).c, 0 < c < 4. Typiquement, c = 2. 2) On applique (*) à partir de t 0.

15 1)A linstant t, on lit les valeurs de y(t) et de u(t). 2) Durant létape t+1, cest-à-dire entre t et t+1, on effectue successivement les opérations suivantes: (MCR) systèmes variants Initialement, on introduit les constantes k, c, et on donne à t 0 une trés grande valeur. La matrice P(t-1) et les vecteurs (t) et, obtenus durant létape t, sont stockés dans la mémoire. c) Si t > t 0, on passe à f). e) Si tr[P(t)] (n + m).c, on pose t 0 = t et tr = tr[P(t)], on passe à h).. i) T (t+1) = [-y(t), 1 (t),…., (n-1) (t), u(t), (n+1) (t),…., (n+m-1) (t)].

16 function [sys,x0,str,ts] = mcri(t,x,v,flag,n,m,lamda,dt) S-function mcri % MCRI est une fonction-S pour estimer les paramètres d'un % système linéaire invariant non perturbé. % Les arguments t, x, v et flag sont introduits à chaque pas par % simulink. % t = instant du simulateur; v = [u(t),y(t)]' = entrée à l'instant t; % x = [theta;P(:);phi;alpha] = vecteur colonne contenant les % estimations des paramètres, les éléments de la matrice P, le % vecteur phi et le facteur alpha à l'instant t. % flag = code qui indique à la fonction-S ce qu'elle doit associer % à sys. % Les paramètres à introduire dans la fenêtre du bloc mcri sont: % n et m = les degrés respectivement du dénominateur et du % numérateur, % lamda = le facteur d'oubli et % dt = la période d'échantillonnage. % Voir SFUNTMPL pour la signification des valeurs de flag.

17 r = n+m ; if flag == 2 % associe à sys le nouveau état x(t+1). theta = x(1:r); P = zeros(r,r); P(:) = x(r+1:r+(r^2)); phi = x(r+(r^2)+1:2*r+(r^2)); alpha = x(2*r+(r^2)+1); u = v(1); y = v(2); epsilon = y - theta'*phi; den = (1/alpha) + phi'*P*phi; nvP = P - (P*phi*phi'*P)/den; nvtheta = theta + alpha*nvP*phi*epsilon; nvphi = [-y; phi(1:n-1)];u;phi(n+1:r-1)]; nvalpha = 1 - amda*(1 - alpha); sys = [nvtheta;nvP(:);nvphi;nvalpha]; elseif flag == 0 % dimensions et initialisation. %dimensions sys(1) = 0; % pas d'états continus. sys(2) = 2*r+(r^2)+1; % dimension de x : sys(3) = r+1; % dimension de la sortie: theta +trace. sys(4) = 2; % dimension de l'entrée v. sys(5) = 0; % pas de racines a déterminer. sys(6) = 0; % l'entrée ne sera pas lue durant flag 3. sys(7) = 1; % la periode déchantillonnage est % toujours la même

18 %initialisation P = 1000*eye(r); x0 = [zeros(r,1);P(:);zeros(r,1);0.98]; str = []; % c'est toujours vide. ts = [dt 0]; % calcul aux instants nT sans décalage. elseif flag == 3 % définition de la sortie. P = zeros(r,r); P(:) = x(r+1:r+(r^2)); tr = trace(P); sys = [x(1:r);tr]; % c'est-à-dire theta et la trace de P. sys = sys(:); else sys = []; % les autres flags n'ont pas de rôle ici. end MCRI v = [u, y] dt xtxt x t-1 Flag t tr(P)

19 a) Identification dun système variant sur SIMULINK a1a1 a2a2 b2b2 b1b1


Télécharger ppt "III. IDENTIFICATION PARAMETRIQUE DES SYSTEMES LINEAIRES Le processus de lidentification paramétrique Système à identifier D/A A/D Modèle à paramètres ajustables."

Présentations similaires


Annonces Google