Vous êtes sur la page 1sur 41

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)= -Kc.Xc(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:

Vous aimerez peut-être aussi