IDENTIFICATION DES SYSTÈMES Akram Ghorayeb
I. INTRODUCTION 1. DÉFINITIONS Système Exemple (missile) up y1 yq Entrées ou actions Sorties ou réponses u = (u1, …, up)’ y = (y1, …, yq)’ Exemple (missile) q v w Débits Vitesse de translation Vitesse de rotation Modèle entrée-sortie
Exemple (accéléromètre) y k Entrée: u = accélération du véhicule c m u Sortie: y = déplacement relatif de m avec h fonction linéaire (1) est un modèle linéaire mg F q a v R i j G A C Exemple (missile dans un plan vertical) Entrée: u = (F, q) = force de propulsion Résistance de l’air: R = (a.|vx|vx, b.|vy|vy)’ + e (e = effet du vent = perturbation) Sortie: y = (vx, vy, a) = vitesse et inclinaison Mouvement selon i (2) Modèle de la forme: Mouvement selon j (3) Mouvement de rotation Non-linéaire perturbé (4)
Equations d’état d’un modèle Elles sont de la forme x: vecteur d’état, y: sortie, u: entrée, w et v: perturbations Exemple (missile dans un plan vertical) Supposons que y = a (on s’intéresse seulement à l’inclinaison) En posant le modèle (2), (3), (4) s’écrit sous la forme Le modèle est linéaire ssi f et g sont des applications linéaires Dans ce cas,
2. LINÉARISATION Exemple (accéléromètre) Equation entrée-sortie: En posant (1) sera équivalente aux équations d’état: 2. LINÉARISATION Soit Si x est voisin de x0 Taylor d’ordre 1 ou (5) avec Si chaque variable d’un modèle reste voisine d’une valeur fixe, on peut linéariser ce modèle en appliquant (5) à chaque terme de ses équations.
Exemple (missile dans un plan vertical) On désire un vol stationnaire d’inclinaison a0 >0 et de vitesse selon i vx0 > 0 Déterminons d’abord la propulsion F0 et son angle q0 correspondants (2) Modèle: (3) (4) En régime stationnaire, les dérivées sont nulles. D’où, dans l’absence des perturbations (pas de vent), (2), (3) et (4) impliquent (vx0, vy0, a0, F0, q0) = point de fonctionnement
|vx|vx = vx2 et |vy|vy = vy2 A cause des perturbations, la réponse y s’écarte de y0 = (vx0, vy0, a0)’ Un régulateur écarte l’entrée de (F0, q0) de sorte à ramener y vers y0 Ainsi, (vx, vy, a, F, q) fluctue autour de (vx0, vy0, a0, F0, q0) et les dérivées des variables fluctuent autour de 0. vx et vy étant voisins de vx0 et vy0, sont positives d’où |vx|vx = vx2 et |vy|vy = vy2 En appliquant (5) à chaque terme des équations (2), (3) et (4), on obtient: Ce sont des équations linéaires reliant les fluctuations des entrées aux fluctuations des sorties Propriété essentielle des systèmes linéaires La réponse y à une combinaison linéaire d’entrées u1, …, uk est égale à la même combinaison linéaire des réponses y1, …, yk à ces entrées prises séparément. Cette propriété n’est pas vraies pour des systèmes non linéaires.
3. DISCRETISATION Exemple Pour une période T suffisamment petite, (9) (10) (11) La discrétisation d’un modèle entrée-sortie ou d’état s’obtient en remplaçant les dérivées par les approximations précédentes. Dans la suite on choisit T comme l’unité du temps (T = 1). Exemple Modèle continu : Pour T = 1, (9) et (10) impliquent D’où le modèle discrétisé (12)
Forme générale d’un modèle discrétisé 1/1 En général, pour un système 1/1 (à une entrée et une sortie), posons ut = [u(0), …, u(t)]’, yt = [y(0), …, y(t)]’ et q = [q1, …, qm]’ un vecteur de paramètres Forme générale d’un modèle discrétisé 1/1 y(t) = g[j(t), q] + v(t) avec j(t) = j(ut, yt-1) k et g(, q) : k v(t) : effet aléatoire des perturbations sur la sortie ut yt-1 (ut, yt-1) j g[, q] y(t) v(t) Espace des données Espace du régresseur Espace de la sortie On admettra que [v(t)] = 0 ( : espérance mathématique) car si [v(t)] = m 0, on fait : v(t) v(t) – m et g(, q) g(, q) + m => [y(t)] = g[j(t), q] = Prédiction de y(t)
4. OBJECTIF DE L’IDENTIFICATION Cas d’un système p/q En posant ut = [u1(0), …, up(0), …, u1(t), …, up(t)]’ yt = [y1(0), …, yq(0), …, y1(t), …, yq(t)]’ qj = [qj1, …, qjmj]’ et jj(t) = jj(ut,yt-1) k on a : yj(t) = gj[jj(t), qj] + vj(t) j = 1, …, q q équations de même forme que 1/1 4. OBJECTIF DE L’IDENTIFICATION Critique de la modélisation analytique Avantage : - Explique physiquement le fonctionnement du système. Inconvénients : Nécessite des hypothèses simplificatrices. Le système peut être physiquement complexe Certaines lois physiques régissant le fonctionnement du système peuvent être mal connues. Dans tous les cas l’expérience est nécessaire pour valider le modèle et déterminer ses paramètres.
L’identification d’un système est la détermination d’un modèle directement à partir de l’expérience sans le recours obligatoire à une analyse physique. Il s’agit de déterminer des fonctions j(t) = j(ut, yt-1) et g(, q) telles que où y(t) = la sortie mesurée à l’instant t Plan du cours Systèmes linéaires - Fonction de transfert - Réponse à un processus aléatoire - Identification non paramétrique - Modèles linéaires - Observation de l’état (filtre de Kalman) II. Identification paramétrique des systèmes linéaires - Moindres carrés récursifs - Méthodes récursives d’identification : de la prédiction de l’erreur du maximum de vraisemblance de la variable instrumentale - Validation du modèle Identification des systèmes non linéaires - Par gradient ajusté - Par ondelettes - Par logique flou
II. SYSTEMES LINEAIRES 1. FONCTION DE TRANSFERT Stabilité Transformée-z d’une fonction Pour f(t), t = 0, 1, 2,… n t f(t) h(t) Soit Réponse impulsionnelle = la réponse g(t) à d(t) d’un syst. initialement inerte Syst. g(t) d(t) Stabilité Système stable si
… Fonction de transfert (FT) Car, pour t < 0, g(t) = 0. Pôle de G : est un point p de tel que G(p) = Réponse d’un syst. linéaire à une entrée quelconque Pour u(t), t = 0, 1, 2, …., (u(t) = 0 si t < 0), on a par superposition (cf. fig) g(1)u(t-1) g(2)u(t-2) … t-3 t-2 t-1 t (* = produit de convolution) Remarque: comme pour n > t, u(t – n) = 0, Donc Zy = G(z).Zu
Réponse fréquentielle Pour u(t) = ejwt A|G(ejw)| A wt -j u y = Réponse fréquentielle. = fonction de Bode Equivalence entre équation et FT d’un système linéaire Forme de l’équation : Par transformée z : Si a0 = 0 et b0 0, y(t – 1) serait affecté par u(t). Impossible (principe de causalité)
Exemple sur Matlab >> n = [1 0 2]; >> d = [1 0.5 0.6]; >> sys = tf(n,d,1,'variable','z^-1') Transfer function: 1 + 2 z^-2 ----------------------- 1 + 0.5 z^-1 + 0.6 z^-2 Sampling time: 1 >> t = 1:20; >> u = 1 - exp(-2*t); >> y = lsim(sys,u); >> plot(t,[u', y]); >> impulse (sys) >> step(sys) >> bode(sys)
2. REPONSE A UN PROCESSUS ALEATOIRE Rappels Déf. 1 : [u() processus aléatoire] [ t, u(t) est une variable aléatoire]. Soit ft1,…tn() la densité de probabilité de [u(t1),…,u(tn)]. Déf. 2 : [u() est stationnaire] [ft1,…tn() indép. de l’origine du temps] Déf. 3 Densité spectrale : F [R(t)] : Tf. de Fourier F1[F(w)] Pour u() échantillonné de période T,
Déf. 4 [u() est blanc] [u() stationnaire et ft1,…,tn () = [f()]n] R(t) = s2.d(t) et Déf. 5 [u() est ergodique] [u() stat et ] Pour u() échantillonné, les intégrales deviennent des sommes. Pour bruit blanc échantillonne (T=1 et t entier relatif)
Propriétés de la réponse à une entrée stochastique y(t) u(t) G(z) 1) u(t) stationnaire => y(t) stationnaire car Comme la distribution de probabilité de u(t + k – n) est égale à celle de u(t – n), les distributions de y(t + k) et de y(t) sont égales. 2) u(t) ergodique => y(t) ergodique car a) b) Par un calcul semblable, on démontre que
3) my = G(1).mu 4) Autocorrélation (on supposera que mu = 0 (=> my = 0)) Dans le cas où u est blanc,
z 1 C1 5) Spectre de y En posant t – n2 + n1 = n, on obtient: (1) Si u est blanc, Fu(w) = s2. Mais z 1 C1
= s2 Si G(z) est stable, les pôles de G(z-1) sont extérieurs à C1 6) Corrélation entre u et y Si u est blanc, 7) Spectre couplé entre y et u
Modélisation d’une perturbation Donc et si u est blanc, Modélisation d’une perturbation Si b(t) est un signal ergodique (par exple une perturbation), on peut le voir comme la réponse à un bruit blanc d’un système linéaire vérifiant (1) Noter que les coefficients c0 et d0 de zn et zm dans Gb(z) sont choisis égaux à 1 puisque le choix de s2 dans (1) est arbitraire. En désignant par li et mj les pôles et les zeros de Gb(z), on a:
Exemples g(n) 1 c t = 1 t = -1 t = 0 1) Rb(t) et Fb(w) ? a) t = -1 t = 1 t = 0 R’b(t) = Rb(t)/Rb(0) b)
2) a) b) ,t 0 et Vérification:
3. IDENTIFICATION NON PARAMETRIQUE u(t) & G(z) Analyse y(t), R(t), F(w),.. Exemples précédents Identification La suite du cours u(t) & y(t) G(z) On sait que pour un système linéaire, G(z) est de la forme Si b0 = b1 = … = br-1 = 0, r < k, on peut écrire: Dans ce cas, le système a un retard pur de r périodes. Identification paramétrique : détermination des ai, bj, n, m et r (Chapitre suivant) Identification non paramétrique : détermination de g(t) et de G(ejw)
Réponse impulsionnelle : g(t) Soit Syst. v y u + l’équation générale d’un système linéaire d’entrée u et de sortie y perturbée par le signal v. On a : Or [u non corrélé avec v] E[v(t).u(t – t)] = 0 t et si [u blanc] Donc Numériquement : N grand
Si l’entrée u(t) n’est pas un bruit blanc, [u coloré], on détermine un filtre, dit de blanchiment, ayant la forme tel que e = bruit blanc c.à.d vérifiant Les paramètres fi de ce processus peuvent être déterminés par la méthode des moindres carrés qui sera donnée au chapitre suivant. En multipliant les deux membres de l’équation du système, Zy = G(z).Zu + Zv, par F(z-1), on obtient: F(z-1).Zy = G(z). F(z-1).Zu + F(z-1).Zv G(z) F(z-1) u v y uf yf ou uf, yf et vf sont les filtrages de u, y, et v par F avec uf blanc.
Réponse fréquentielle L’équation du système peut s’écrire sous la forme avec v(t) une perturbation et (y0 ind de v) Spectre de y. Or, (1) Couplage entre u et y [v et u non corrélés] [Rvu(t) = 0 t] (2) (1) et (2)
Calcul numérique de Fyu(w), Fy(w) et Fu(w). Quand Meilleure résolution N t=t t=N-t Val de y Val de u Mais Si t grand estimation de Ryu moins précise Remède : on donne moins d’importance (un poids plus faible) aux grandes valeurs de t. -g +g 1 wg t Fenêtre de Hamming (formules semblables pour Fu et Fy)
Exemple de MATLAB Calcul de la variance de G(ejw) Remarque : généralement, Fv(w)/Fu(w) avec w Var[G(ejw)] avec w Exemple de MATLAB Taper « iddemo » pour apprendre à utiliser le Toolbox « system identification ». >> load dryer2 >> dry = iddata(y2, u2, 0.08); >> ze = dry(100 : 300); >> ze = dtrend(ze); >> plot(ze) dryer2 = tableau de y2 et u2 Toutes les données, 0.08 = T Données pour identification Pour supprimer les moyennes
>> impulse(ze, 'sd', 3, 'fill') Estimation de la rép. impul. >> step(ze) Réponse à un échelon unité >> gs = spa(ze); Analyse spectrale de ze >> bode(gs) Amplitude et phase de G(ejw)
4. MODELES LINEAIRES Modèles entrée-sortie G(z) H(z) u e v y y0 + Système Modèle de la perturbation y0 = réponse propre y = réponse mesurée v = perturbation e = bruit blanc (bb) (1) En posant Forme générale d’une FT Les racines de C et de D sont de modules < 1 (stables) Modèle Box-Jenkens (B-J)
Modèles particuliers Si F et D ont des racines communes, on pose : F(z) = A(z).F(z) et D(z) = A(z).D(z) La forme la plus générale et B-J (2) Modèles particuliers 1) Si F(z) = D(z) = 1, on a : (2) (3) ou, en forme temporelle, Autorégressif (AR) Moyenne mobile (MA) Exogène (X) bb (3) Modèle ARMAX
2) Si F(z) = D(z) = C(z) = 1, on a : (2) (4) ou, en temporelle, Autorégressif (AR) Exogène (X) bb (4) Modèle ARX 3) Si F(z) = D(z) = 1 et C(z) = A(z), on a : (2) Sortie erronée ou, en temporelle, Modèle OE (output error) (5)
5. OBSERVATION DE L’ETAT FILTRE DE KALMAN Modèle d’état discrétisé En remplaçant dans 5. OBSERVATION DE L’ETAT FILTRE DE KALMAN On admet que R1: matrice de corrélation (n, n) entre les composantes de w. R2: matrice de corrélation (q, q) entre les composantes de v. R12 : matrice de corrélation (n, q) entre w et v.
Forme de l’estimateur de x: F, G, K sont des matrices à déterminer. Pour cela on pose et on minimise par rapport aux éléments de F, G et K. Or, J(t+1) = E[T(t+1).(t+1)] = E{[xT(t+1) T(t+1)]. [x(t+1) (t+1)]} = E[ ||x(t+1)||2 2.xT(t+1). (t+1) + T(t+1). (t+1)]. Mais car dF/dfij = (1ij)
Equations d’orthogonalité E[(t+1). T(t)] = 0. E[(t+1).u T(t)] = 0, E[(t+1).y T(t)] = 0 3 équations matricielles à 3 inconnues F, G et K (t+1) = A. (t) + B.u(t) + K(t).[y(t) - C. ] Maintenant, en posant: Matrice de corrélation de l’erreur (t) On démontre que Equations de Ricatti avec