ENSET MOHAMMEDIA: 2020-2021
GECSI-2
REPRÉSENTATIONS D’ÉTAT DES
SYSTÈMES DISCRETS
M. BAHATTI
Plan
Etablissement de Représentation d’état discrète
Solution de l’équation d’état discrète et réponse du système
Commandabilité et observabilité d’une représentation d’état discrète.
Régulateurs d’état discrets
Représentation d’état discrète: Principe
Introduction :
Dans le cas continu Dans le cas discret
X t = A. X t + B. U t : é𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑑′ é𝑡𝑎𝑡 X k + 1 = F. X k + H. U k (1)
Y 𝑡 = C. X t + D. U t : é𝑞𝑢𝑎𝑡𝑖𝑜𝑛 𝑑𝑒 𝑠𝑜𝑟𝑡𝑖𝑒 Y k = C. X k + D. U k (2)
F : Matrice d’état ;
H : Matrice de commande ou d’entrée ;
C : Matrice d’observation ou de sortie;
D : Matrice de couplage direct entrée-sortie
Schéma bloc
Représentation d’état discrète: Obtention
Discrétisation d’une représentation d’état continue
Discrétisation sans élément bloqueur
U(t) Echantillonnage U(k) Y(t) Echantillonnage
Y(k)
Etat X(t) X(k)
t
X t = eA(t−𝑡0 ) . X 𝑡0 + eA t−τ
. B. U(τ)dτ l’instant initial t0=k.T et l’instant final tf=(k+1).T
𝑡0
k+1 T
X k + 1 = eA.T . X k + eA( k+1)T−τ
. B. U(τ)dτ U τ = u(k). δ(τ − kT)
kT
k+1 T
X k + 1 = eA.T . X k + eA( k+1)T−τ . B. u k δ τ − kT . dτ
kT
k+1 T
= eA.T . X k + eA( k+1)T−τ . δ(τ − kT). dτ B. u(k)
kT
Représentation d’état discrète
T
u=-kT X k + 1 = eA.T . X k + eA T−u
. δ(u). du B. u(k)
0
X k + 1 = eA.T . X k + eA.T B. u(k) F = eA.T ; et H = eA.T B
Exemple
𝑦(𝑝) 1 𝑇 0 1 0
𝐻 𝑝 = = X 𝑡 = 𝑦 𝑡 𝑦(𝑡) X t = .X t + 𝑢(𝑡)
𝑈(𝑝) 𝑝(𝑝 + 𝑎) 0 −𝑎 1
En Discret: 1 − 𝑒 −𝑎𝑇 1 − 𝑒 −𝑎𝑇
1
F=eA.T =eA.t ; avec t = T 𝐹= 𝑎 H = eA.T B = 𝑎
0 𝑒 −𝑎𝑇 𝑒 −𝑎𝑇
A.N:
Pour a=1 et T=0,1s 1 0,09516258196404 0,09516258196404
X k+1 = .X k + . u(k)
0 0,90483741803596 0,90483741803596
Représentation d’état discrète
Discrétisation avec élément bloqueur
U(t) Echantillonnage U*(t) Bloqueur U(k) y(t) Y(k)
Système à
(Ordre 0) temps continu
Etat X(t) X(k)
k+1 T
X k + 1 = eA.T . X k + eA( k+1)T−τ . B. U(τ)dτ U() est bloquée à U(k)entre kT et (k+1)T
kT
T T 0 T
X k + 1 = eA.T . X k + eA T−τ
. dτ B. U(k) eA T−τ . dτ = − eAu . du = eAu . du
0 0 T 0
𝐓
T
X k + 1 = eA.T . X k + eAτ . dτ B. U(k) 𝐅 = 𝐞𝐀.𝐓 ; 𝐇 = 𝐞𝐀𝛕 . 𝐝𝛕 𝐁
0 𝟎
Représentation d’état discrète
𝑦(𝑝) 1 0 1 0
Exemple 𝐻 𝑝 = = X t = .X t + 𝑢(𝑡)
𝑈(𝑝) 𝑝(𝑝 + 𝑎) 0 −𝑎 1
−𝑎𝑇 𝑇 1 − 𝑒 −𝑎𝑇 𝑇 1 − 𝑒 −𝑎𝑇
1−𝑒 T T − −
1 Aτ 𝑎 𝑎2 0 𝑎 𝑎2
𝐹= 𝑎 H= e . dτ B = . =
1 − 𝑒 −𝑎𝑇 1 1 − 𝑒 −𝑎𝑇
0 𝑒 −𝑎𝑇 0 0
𝑎 𝑎
A.N:
Pour a=1 et T=0,1s 1 0,09516258196404 0,00483741803596
X k+1 = .X k + . u(k)
0 0,90483741803596 0,09516258196404
Calcul Matlab: Procédure
Définition des matrices A, B, C et D de la représentation continue
Définition de la période d’échantillonnage T
Définition du système continu : « sysc=ss(A,B,C,D) »
Calcul du système échantillonné correspondant : « sysd=c2dm(sysc,T,’zoh’) »
Représentation d’état discrète
Représentation d’état à partir de l’équation aux différences et
Fonction de transfert
Equation récurrente: Exemple 𝑦𝑛+1 + 2. 𝑦𝑛 + 3. 𝑦𝑛−1 = 𝑢𝑛
𝑦𝑛−1 𝑦𝑛
Xn = 𝑦𝑛 Xn+1 = 𝑦
𝑛+1
0 1 0
Xk+1 = . Xk + 𝑢
−3 −2 1 𝑘
yk = 0 1 . Xk
Fonction de transfert discrète à partir de la représentation d’état
𝑌(𝑧) −1
G z = = C zIn − F H+D
𝑈(𝑧)
Représentation d’état discrète
Représentation d’état à partir de la Fonction de transfert discrète
Représentation modale
Equations 𝑛
S(z) α1 α2 αn 𝑠 𝑘 = α𝑖 . xi (𝑘)
G z = = + + ⋯+ xi (𝑘 + 1) = pi xi (𝑘) + 𝑒(𝑘)
E(z) z − p1 z − p2 z − pn 𝑖=1
Schéma bloc
Représentation d’état
Représentation d’état discrète
Forme canonique Commandable
𝑏𝑛−1 𝑧 𝑛−1 + 𝑏𝑛−2 𝑧 𝑛−2 + ⋯ + 𝑏1 𝑧 + 𝑏0
𝐺 𝑧 = 𝑛
𝑧 + 𝑎𝑛−1 𝑧 𝑛−1 + 𝑎𝑛−2 𝑧 𝑛−2 + ⋯ + 𝑎1 𝑧 + 𝑎0
0 1 0 … 0
0 0 1 … 0
… … … …
… …
F= … … … ; H= …
; C = b0 b1 b2 … bn−2 bn−1 ; et D = 0
… … … … …
0 0 0 1 0
−a0 −a1 −a2 −an−1 1
Forme canonique Observable
0 0 0 −𝑎0 𝑏0
1 0 0 −𝑎1 𝑏1
0 1 … …
… …
𝐹𝑂 = … … … ; 𝐻𝑂 = … ; 𝐶 = 0 0 0 … 0 1 ; 𝑒𝑡 𝐷 = 0
… … … … …
0 0 0 −𝑎𝑛−2 𝑏𝑛−2
0 0 1 −𝑎𝑛−1 𝑏𝑛−1
Résolution de l’équation d’état discrète
Solution numérique
Répéter
Si instant d’échantillonnage
Acquisition du vecteur de commande U(k)
Calcul de la sortie à l’instant k : Y(k)=C.X(k)+D.U(k)
Calcul de l’état à l’instant k+1 : X(k+1)=F.X(k)+H.U(k)
Mémorisation pour la prochaine itération : X(k)=X(k+1)
Jusqu’à <fin de la simulation>
Remarque
Lorsque les matrices F, H, C, D sont exprimées sous formes algébriques,
il faut utiliser une méthode analytique
Résolution de l’équation d’état discrète
Solution analytique.
X 1 = F. X 0 + H. U 0
X 2 = F. X 1 + H. U 1 = F 2 . X 0 + FH. U 0 + H. U 1
X 3 = F. X 2 + H. U 2 = F 3 . X 0 + F 2 H. U 0 + FH. U 1 + H. U 2
X k = F𝑘 . X 0 + F𝑘−1 H. U 0 + F𝑘−2 H. U 1 + F𝑘−3 . H. U 2 + ⋯ + H. U k − 1
𝑘−1 𝑘
X k = F𝑘 . X 0 + F 𝑖 H. U k − 1 − i OU X k = F𝑘 . X 0 + F 𝑖−1 H. U k − i
𝑖=0 𝑖=1
Contribution de l’état initial X(0)
Conséquence: Le régime forcé
Système stable si lim F k = [0] Les valeurs propres de F sont situées à l’intérieur du cercle unité
k→∞
Résolution de l’équation d’état discrète
Application: Réponse Impulsionnelle.
Principe
Généralisation de l’impulsion de Kronecker aux systèmes multi-entrées par un vecteur 𝛿(𝑘) :
1 0
1 0
δ k = … pour k = 0; et δ k = … pour k ≠ 0
1 0
1 0
Expressions (Conditions initiales nulles)
X k = F𝑘−1 H. δ 0 ; 𝑝𝑜𝑢𝑟 𝑘 ≥ 1
Y k = C. F𝑘−1 H. δ 0 ; 𝑝𝑜𝑢𝑟 𝑘 ≥ 1 Y k = 𝐷. δ 0 ; 𝑝𝑜𝑢𝑟 𝑘 = 0
Résolution de l’équation d’état discrète
Exemple
Programme Matlab
clear all; close all; clc;
A=[0.2 0 0 0; 0 0.5 0 0;0 0 0.8 0;0 0 0 0.8];
B=[0 16/15;0.5 0;1 0;0 1];
C=[1 1 0 -1/15; 0 8/3 -1/3 0.2];D=[];
sys=ss(A,B,C,D,1)
[y,t]=impulse(sys)
stem(t,y(:,1));grid
Commandabilité et observabilité
Commandabilité
Définition X k + 1 = F. X k + H. U k
Y k = C. X k + D. U k
Le système est dit gouvernable si, pour tout point xf de l’espace d’état, il existe un
entier K et une séquence d’entrée u(0), u(1),….., u(K-1) telle que si on l’applique au
système à partir du point initial x(0), on aura x(K)=xf
Critère de Kalman :
Le système linéaire d’ordre n est gouvernable si et seulement si :
rang H FH F2 H F3 H … F n−1 H =n
Commandabilité et observabilité
Observabilité
Définition :
Le système est observable si, il existe un entier K tel que la connaissance des sorties
y(0), y(1), …y(K-1) du système soumis à une entrée nulle est suffisante pour déterminer
l’état initial x(0).
Critère de Kalman :
Le système linéaire d’ordre n est observable si et seulement si :
𝐶
𝐶𝐹
𝑟𝑎𝑛𝑔 𝐶𝐹 2 =𝑛
…
𝐶𝐹 𝑛−1
Commandabilité et observabilité
Application :
Soit le système discret suivant:
u(k) Bloqueur y(t) y(k)
Système à
(Ordre 0) temps continu
Etat X(t) X(k)
ω0 2
Le système à temps continu est défini par sa transmittance H p = 2
p2 +ω0
1. A partir de la fonction de transfert H(p) déterminer une représentation d’état du
système continu
2. Etudier l’observabilité du système continu seul
3. Etablir la fonction de transfert H(z) du système discret
4. Etudier l’observabilité de H(z)
Commande par retour d’état
GÉNÉRALITÉS :
Le vecteur de commande U est une combinaison linéaire
de l’état X via une matrice de gain K
Garantir un gain unitaire au système bouclé et une erreur statique nulle.
Commande par retour d’état
PRINCIPE DE LA COMMANDE PAR RETOUR D’ÉTAT
Retour d’état: matrice de gain K
Actions sur les gains statiques en boucle fermée
Loi de commande U k = L. W k − K. X(k) V(k) =L.W(k): Vecteur intermédiaire
Commande par retour d’état
CAS DE LA FORME COMPAGNE DE COMMANDE:
Equations d’état: BO
Fonction de transfert en boucle ouverte
Equation caractéristique: BO
En boucle fermée
Equations d’état
Matrice de retour
Polynôme caractéristique
Commande par retour d’état
Par identification: 𝒌 𝟏 = 𝜶 𝟎 − 𝒂𝟎
𝒌 𝟐 = 𝜶 𝟏 − 𝒂𝟏
⋮
𝒌𝒏 = 𝜶𝒏−𝟏 − 𝒂𝒏−𝟏
Matrice L :
Gain unitaire en BF:
Commande par retour d’état
Résumé
Commande par retour d’état
DÉCOMPOSITION D'ÉTAT QUELCONQUE.
Transformation vers une forme commandable
Commande par retour d’état
Commande par retour d’état
Matrice de retour K
U(k)= -[Link](k)+V(k)= -K.X(k)+V(k)
Exemple
Rechercher la matrice K fixant les pôles en boucle fermée (exemple: un pole simple et
deux pôles complexes conjugués) et le coefficient L qui assure un gain statique unitaire.
Commande par retour d’état
a. Vérification de la commandabilité
b. Calcul du polynôme caractéristique du processus.
3 pôles:
3 constantes de temps :
c. Choix de la dynamique en boucle fermée
Prenons comme pôles :
et
Commande par retour d’état
d. Calcul de la matrice K par l’intermédiaire de la matrice M
Si le système était sous forme canonique, le vecteur de retour de gain K serait :
k c1 = α0 − a0
k c2 = α1 − a1 𝐾𝑐 = 0,1384 −0,5675 0,55
k c3 = α2 − a2
Calcul de la matrice M
M = M1 M2 M3
Commande par retour d’état
Calcul de la matrice K.
K = 0,1384 −0,5675 0,55
K = 0,2794 0,039 −0,3096
e. Calcul de L
Soit:
Commande par retour d’état
f. Loi de commande
U k = −K. X k + L. W k ;
U k = −k1 . x1 k − k 2 . x2 k − k 3 . x3 k + L. W(k)
U k = −0,2794. x1 k − 0,039. x2 k + 0,3096. x3 k + 0,2115. W(k)
Commande par retour d’état
Programmation Matlab
clear all; close all; clc;
F=[0.8275 1.2535 0.1740; -1.8275 -0.2535 1.8260;-0.8275 0.7465 1.8260];
H=[1;-1;-1]; C=[-0.05 -0.35 -0.1];D=[];
sys=ss(F,H,C,D,1) Réponses Indicielles
% Réponse en boucle ouverte
[y,t]=step(sys,50);
Subplot(2,1,1);plot(t,y,’.’);grid
% Calcul du retour d’état
Poles=[0.65 0.6+i*0.45 0.6-i*0.45]
K=place(F,H,Poles)
% FTBF
Fbf=F-H*K
% Calcul de L
L=1/(C*inv(eye(3)-Fbf)*H)
% Système en boucle fermée
Sys_bf=L*ss(Fbf,H,C,D,1)
[ybf,t]=step(Sys_bf,50);
Subplot(2,1,2); plot(t,ybf,’.’);grid
Résultats
K = 0.2794 0.0390 -0.3096
L = 0.2115
Commande par retour d’état avec
effet intégral
But Dans une commande par retour d'état (fixer les performances dynamiques), l'erreur
statique n'est pas forcément nulle
Si on veut: 1. Eliminer l’effet des perturbations
2. Avoir un gain statique en Boucle fermée toujours unité
Il faut : Fermer la boucle avec une intégration dans la chaine directe
Cas d’un système continu
Schéma
Loi de commande
t
u t = −K1 x t + K 2 y τ − yc (τ) dτ
0
Commande Par retour d’état avec
effet intégral
Loi de commande et équations
on introduit une nouvelle variable d’état z(t) telle que : 𝑧 t = y t − yc t = C x t − x c t
t t
u t = −K1 x t − K 2 y τ − yc τ dτ = −K1 x t − K 2 z τ dτ
0 0
Pour éviter l’effet des perturbations (constantes), on traite les variations:
u t = −K1 x t − K 2 z(t) x t = A. x(t) + B. u t z t = y t = C. x(𝑡)
On pose une nouvelle commande v(t) =u t : De la forme:
x t x t
v t = − K1 K2 = −K.
z t z t
x t
C’est une commande par retour d'état du système augmenté avec: X t =
z t
Tenant compte de ce nouveau vecteur d’état, l’équation d’état devient :
x t A 0 x t B
X t = = + v(t) De la forme: X t = A. X(t) + B. v(t)
z(t) −C 0 z(t) 0
Commande par retour d’état avec
effet intégral
Effet de cette commande sur le système
En boucle fermée, le système augmenté est décrit par : X t = (A − B. K). X(𝑡)
Hypothèses:
Système stable : Toutes les valeurs propres de la matrice d’état en BF sont à partie réelle négative
Conditions initiales non nulles
Résultat: X t =𝑒 A−B.K 𝑡
. X(0)
En régime permanent X t =0 x(𝑡) et 𝑧 t = 0; Finalement: y t = yc t
= cste
Conclusion:
Dans un système décrit par sa représentation d’état, il est possible de construire un retour
d’état avec effet Intégral tel que la sortie du système en boucle fermée suive n’importe quelle
consigne constante en présence de perturbations constantes, si les conditions suivantes sont
vérifiées :
1. La paire (A,B) est commandable
A B
2. rang = n+1
C 0
Commande par retour d’état avec
effet intégral
Méthode (procédure) de calcul : - L’état augmenté : A =
A 0
C 0
B
- La matrice B associée : B =
0
- Le retour 𝐾 = K1 K 2 selon les pôles en BF: A𝐵𝐹 = (A − B. K
Exemple Système augmenté en BF:
𝑝+1 X t = (A − B. K). X(t)
𝐺 𝑝 =
𝑝 + 2)(𝑝 + 3
0 1 0 0
A 0 𝐵
0 1 0 A= = −6 −5 0 ; B = = 1
x t = .x t + .𝑢 t C 0 0
−6 −5 1 1 1 0 0
𝑃𝐵𝐹 𝑧 = (𝑧 + 1)(𝑧 + 8)(𝑧 + 9) = 𝑧 3 + 18𝑧 2 +89𝑧+72
𝑦 𝑡 = 1 1 .x t
Résultat:
On désire en BF les pôles -1, -8 et -9 K = 11 13 72
Commande par retour d’état avec
effet intégral
Exemple (suite): Matlab Code Matlab
clear all; close all; clc;
Aa=[0,1,0;-6,-5,0;1,0,0];
Ba=[0;1;0];Ca=[1,1,0]; Da=[0];
Bc=[0;0;-1];
poles=[-1,-8,-9]
K=place (Aa,Ba,poles)
Sysc_BF=ss((Aa-Ba*K),Bc,Ca,Da)
step(Sysc_BF)
Exemple
𝑝+1 Réponse indicielle:
𝐺 𝑝 =
𝑝 + 2)(𝑝 + 3
0 1 0
x t = .x t + .𝑢 t
−6 −5 1
𝑦 𝑡 = 1 1 .x t
pôles désirés : -1, -8 et -9
Système augmenté en BF:
0 1 0 0
A 0 𝐵
A= = −6 −5 0 ; B = = 1
C 0 0
1 1 0 0
C= 1 1 0.
Commande par retour d’état avec
effet intégral
Exemple (suite): Simulink
𝑝+1
𝐺 𝑝 =
𝑝 + 2)(𝑝 + 3
Commande par retour d’état avec
effet intégral
Les variables d’état
Consigne , sortie et
x1(t), x2(t) , x3(t)
commande u(t)
Consigne et sortie
Commande par retour d’état avec
effet intégral
Cas d’un système échantillonné
Objectif: Asservir y(k) à une consigne constante yc(k) = yc
Principe: Définir l’erreur de consigne : 𝜺 𝒌 = 𝒚 𝒌 − 𝒚𝒄 𝒌 = 𝒚 𝒌 − 𝒚𝒄
ε k Introduction d’une variable d’état supplémentaire :
Commande par retour d’état avec
effet intégral
Cas d’un système échantillonné
On pose: 𝑢 𝑘 = −𝐾1 x k − 𝐾2 𝑤 𝑘
x x
𝑢 𝑘 =. − 𝐾1 𝐾2
𝑤 𝑘
Equation d’état augmenté
Equation d’état initial: x k + 1 = F. x k + H. 𝑢(𝑘)
𝜀 𝑧
Variable d’état ajoutée −𝑤 𝑧 = ε k = 𝑦𝑐 𝑘 − 𝑦 𝑘 = −𝑤 𝑘 + 1 + 𝑤(𝑘)
𝑧−1
𝑤 𝑘 + 1 = 𝑤 𝑘 + 𝑦 𝑘 − 𝑦𝑐 𝑘
Etat augmenté : 𝑤 𝑘 + 1 = 𝑤 𝑘 + C. x k − 𝑦𝑐 𝑘
x k Equation d’état augmenté :
X k =
w 𝑘 F 0 H 0
X k+1 = X k + 𝑢 𝑘 𝑦 𝑘
C I 0 −1 𝑐
x k+1
X k+1 =
𝑤 𝑘+1 Equation de sortie :
𝑦 𝑘 = 𝐶. x k = 𝐶 0 .X k
Commande par retour d’état avec
effet intégral
Cas d’un système échantillonné
Application :
On donne
−1 1 1
F= H= C= 1 0
−4 −2 1
𝑌(𝑧)
1. Donner l’expression de la fonction de transfert 𝐺 𝑧 = 𝑌 (𝑧)
𝑐
2. Calculer le gain statique G0
Commande par retour d’état avec
effet intégral
FIN: