Représentation d’état des Systèmes Discrets et Echantillonnés
C’est une représentation temporelle, alternative à la représentation fréquencielle de la fonction de transfert en z.
Il s’agit une équation aux différences d’ordre un et matricielle.
1. La représentation
1. Définition Soient
) ( ...
) ( 1 ) (
k um
k u k
u
le vecteur de commande
) ( ...
) ( 1 )
(
k yp
k y k
y
le vecteur des observations
) ( ...
) ( 1 ) (
k xn
k x k
X
le vecteur d’état,
La représentation d’état d’un système discret prend la forme : )
( ) ( ) (
) ( ) ( )
1 (
k Du k CX k y
k Bu k AX k
X
n est l’ordre du système
en général, D = 0, on a un système « propre »
si B = 0, système homogène, sans second membre
A, matrice d’état, C
matrice
d’observation, B de commande
L’asservissement du système s’exprimera sous la forme suivante du retour d’état où K est une matrice de gains :
u(k)KX(k)
ou encore
u(k) c(k) Ku(k)2. Passage de l’EaD à la représentation d’état : 1/ Forme de commande :
Premier exemple : le second membre est «simple»
n n n
n n
n y y y y u
u : 23 12
ou
(( )) 2 31 2 z z zU z Y
On pose :
) 1
( 2
) ( 1
k k
k y
y k
x k X x
On a :
uk
k x k x k
x
k x k
x
) ( 1 2 ) ( 2 3 ) 1 ( 2
) ( 2 ) 1 ( 1
Soit,
k k
k k
k
X y
u X
X
0 1
1 0 3
2 1 0
1
Second exemple : le second membre est « complexe »
1 1
2 3 2 4 3
n n n n
n y y u u
y
soit
(( )) 24 33 2 (( ))U((z)) z X z Xz Y z
z
z z
U z
Y
avec
2 3 1 )
( ) (
2
z z z
U z
X
et
XY((zz)) 43z,
d’où l’on tire la représentation suivante (avec un vecteur d’étatX
différent):
k k
k k
k
X y
u X
X
3 4
1 0 3
2 1 0
1
E
XERCICE1 : E
TABLIR LA FORME DE COMMANDE du processus de fonction de transfert : ( 1)( 2)3 )
( ) (
z z
z z
U z Y
2/
Forme découplée (ou modale):
Pour obtenir une matrice d’état diagonale, on peut procéder en décomposant en éléments simples (si les pôles sont réels).
Exemple :
yn2 3yn1 2yn 3un1) (
) ( 2 ) (
) ( 1 2 3 1 3
) 2 )(
1 (
) 2 ( ) ( 2 2 1
3 3 )
( ) ) (
( 2 2
z U
z H z U
z H z
z z
z
z z
z b a z b a z
bz z
az z
z z z
U z z Y D
En identifiant, il vient : 1 3 ) (
) ( 1
z
z z
U z
H et 2
3 )
( ) ( 2
z z z
U z H
ou les équations aux différences :
1 1
3 ) (2 2 )1 (2
3 ) (1 )1
(1
k k
u k h k
h
u k h k
h
Représentation matricielle :
k k
k k
k
H y
u H
H
1 1
3 3 2
0 0 1
1 1
3. Passage à la fonction de transfert en z
k k
k k k
CX y
Bu AX X
1
Z ~( )
)
~( ) )
~(
(X z X0 AX z BU z
z
soit X~(z)(zI A)1BU~(z)(avec I matrice identité) et )
~( ) (
)
~( )
~(z CX z C zI A 1BU z
Y , d’où l’on tire:
B A zI C
T ( )1
, matrice de transfert en z en général, et fonction de transfert en z si scalaire.
Régime statique : limz1C(zI A)1B, matrice gain statique .
E
XERCICE2 :
RETROUVERLAFONCTIONDETRANSFERTDUprocessus de l’exercice précédent :
4. « Discrétisation » d’un processus continu :
On a vu cette opération avec la fonction de transfert en z.
Soit un processus continu donné par la représentation d’état ),
( )
(t Bu t dt AX
dX (Equ. Etat), y(t)CX(t)(Equ. observation) et commandé par un BOZ, c’est à dire u(t)constanteu(kT) entre les instants kT et (k 1)T avec la condition initiale
) (kT
X . On intègre cette équation pour t
kT,(k 1)T
. En utilisant la solution générale de l’équation d’état, il vient :
t
kT t A kT
t
A X kT e Bu kT d
e t
X( ) ( ) ( ) ( ) ( ) , d’où en t (k 1)T :
) ( ) ( ) ( )
( )
) 1
(( 0
)
( Bd u kT FX kT Gu kT
e kT
X e T k
X AT T At
On aboutit donc à une représentation d’état discrète, avec les matrices d’étatF eATet de commande: G
0TeAt Bd)
( .
Remarque : si A est inversible, c’est G A1(I F).
E
XERCICE3 :
POUR DISCRÉTISERLE PROCESSUSSUIVANT) 10 ( ) 200
(
p p p
H , avec Téchantillonnage 20ms.
On commencera par donner une représentation d’état, sous forme de commande, d’où la réalisation A,B,C associée. On calculera ensuite eAt par exemple en faisant L1[(pI A)1], d’où eAT et égalementG (voir solution en annexe du TD).
2. Analyse des équations d’état
On considérera le processus discret suivant comme exemple :
k k
k k
k
X y
u X
X
0 1
2 0 8.
0 15 .0
1 0
1
1) Polynôme caractéristique :
0 1 1
) 1
(z zI A z a z a z a
P n n
n
n ,
Pour l’exemple, z2 0.8z0.15. Les aksont donc liés aux valeurs propres du processus discret, solutions dePn(z)0. 2) Equation caractéristique :
0 ) (z
Pn Les solutions sont les n valeurs propres zi, pôles de la fonction de transfert (exemple 2 racines : 0.3et0.5) Stabilité EBSB : valeurs propres de module strictement inférieur à 1 (dans le cercle trigonométrique).
3) Représentation modale (découplée), dans le cas plus simple de
n
valeurs propres réelles distinctes :Pour l’obtenir par changement de base dans l’espace d’état, il faut calculer une base de vecteurs propres :
Comme pour le cas continu, vivecteur propre associé à la valeur propre zis’obtient à partir de la matrice adjointe : adj(ziI A).
Matrice modale (changement de base): M
v v vn
2
1
.
On a X(k) X'(k) M1X(k) et donc
) ( ' )
(k M X k
X .
La représentation d’état dans la nouvelle base devient : )
( ' )
(
) ( )
( ' )
1 (
' 1 1
k CMX k
y
k Bu M k AMX M
k X
, avec
M1AM , est une matrice diagonale constituée des valeurs propres de A
M1B ne doit pas avoir de ligne nulle pour que le système soit entièrement gouvernable (**)
CM ne doit pas avoir de colonne nulle pour que le système soit entièrement observable (**)
** cf. plus loin pour les définitions de la gouvernabilité (ou commandabilité) et de l’observabilité.
E
XERCICE4 :
APPLIQUER À L’
EXEMPLE4)
Théorème de Cayley Hamilton :
La matrice d’état vérifie elle-même l’équation caractéristique, soit
Pn(A)0ou encore
Anest une combinaison linéaire des
Ak,
0k nCe théorème permet de calculer les fonctions de A telles que Ak ou eAT à l’aide des valeurs propres de A selon la technique dûe à Silvester . Pour f(A)0I 1An1An1, on sait que les n valeurs propres de A soient z1,z2,...zn vérifient :
n i z z
z
f( i)0 1 i ...n1 in1, 1...
On peut alors calculer les jà l’aide de ce système d’équations, puis en tirer f(A) à l’aide des j, j0...n1.
E
XERCICE5 : A
PPLIQUER LA TECHNIQUE DES
ILVESTER
11 10
1
A 0
calcul de
eAT,
T 0.1seconde
ou
8 . 0 15 . 0
1
A 0
, calcul de
Ak5)
Solution de l’équation d’état discrète :
k k
k k k
CX y
Bu AX X
1
avec X0conditions initiales
La solution de l’équation d’état s’obtient par récurrence :
1 2
0 1 0
1 0 0
2 1 1 2
0 0 1
k k
k k
k A X A Bu ABu Bu
X
Bu ABu X
A Bu AX X
Bu AX X
soit : Xk AkX0 GU.
Le premier terme donne l’effet de la condition initiale X0, le second celui de la commande ; le vecteur U regroupe toutes les valeurs de la commande. Dans le cas où k n, G devient la matrice de commandabilité ou de gouvernabilité:
1 1 0
un
u u
U et G
An1B AB B
On justifie ainsi «facilement» pour les systèmes discrets le critère direct de commandabilité (valable aussi en continu):
Si G est de rang n,
une suite
u0 u1 un1
de n commandes amenant le système de X0 quelconque àXn quelconque en n périodes d’échantillonnage. Par
définition, le système est alors « entièrement commandable ».
Si de plus G est inversible (donc carrée), on trouve même :
)
( 0
1
1 1 0
X A X G u
u u
U n n
n
Remarque : de manière similaire, il existe un critère direct d'observabilité :
Soit la matrice d’observabilité
1
CAn
CA C
O
Si O est de rang n, il est possible de retrouver la valeur du vecteur d’état X0à partir des n observations
yn
y
y1, 2, en n périodes d’échantillonnage. Par définition, le système est alors « entièrement observable ».
E
XERCICE6 :
Déterminer la séquence de commandes u0,u1 qui permet d’amener le système exemple en 2T de
0 0
X0 à
0 10
X2 .
6) Placement des valeurs propres par retour d’état : Les valeurs propres d’un système fixent entièrement son comportement dynamique (ou les pôles de la fonction de transfert selon la représentation). La technique ci-après est applicable au retour d’état des systèmes continus, en appliquant la relation de passage zeTp.
On fait uk KXk (retour d’état)
Il en résulte AABK une nouvelle matrice d’état,
et
0 1
1
1
' '
"
) (
' z z a z a z a
P
n
n
n n
un nouveau polynôme caractéristique.
Question : comment choisir les a'i de façon à fixer les valeurs propres de AKB ?
Réponse : selon le cas, on pourra écrire le polynôme désiré et rechercher les composantes satisfaisantes de la matrice de gains K, ou utiliser une méthode telle que celle d’Ackermann .
E
XERCICE7 :
sn2 2sn1 3sn enest l’EaD d’un processus discret à mettre sous la forme de commande. Quelles sont les valeurs propres ? Le processus est- il entièrement commandable ? En utilisant la relation zi eTpi déterminer les valeurs propres ziet ziqui assurent un
amortis-sement réduit 2
2 et une pulsation propre 1rd /s (prendre T 1s ). Calculer le retour d’état qui impose ces valeurs pro-pres au système bouclé.
3. Utilisation de Matlab pour la représen- tation d’état des systèmes discrets
Définition (exemple de l’exercice 3)
A=[0,1 ;0,-10] ;B=[0,200]’ ; C=[1 0] ; D=0 ;
syscont=ss(A,B,C,D,’InputName’,’u’)
% syscont est un objet doté de propriétés comme la propriété : InputName.
>> get(syscont) A= …
B= …C= … D= …
StateName= … Ts= …
Td= …
InputName= … OutputName
= … Lire une propriété :
>> etat = get(syscont,’a’)
Ecrire :
>> set(syscont,’Td’,1.0)
Passage à la fonction de transfert
hdep=tf(syscont) ou inversement ss(hdep)
Discrétisation
Ts=0.02 % 20 ms, 50 Hz sysdis=c2d(syscont,Ts)
donne la solution de l’exercice 3
818 . 0 0
018 . 0
ad 1 ,
625 . 3
037 .
bd 0 , cd
1 0
, d 0.Sampling time : 0.02
Discrete time system.
On retrouvera
>> ad=get(sysdis,’a’), >> bd=get(sysdis,’b’), >> cd=...
Valeurs propres, pôles
>> eig(sysdis), ou pzmap(sysdis), ou encore
>> damp(sysdis)
Réponses caractéristiques (tests)
>> step(sysdis/(1+sysdis)) % si fonction de transfert
Time (sec.)
Amplitude
Step Response
0 0.5 1 1.5
0 0.2 0.4 0.6 0.8 1 1.2 1.4
>> bode(sysdis,hdep) % compare les réponses harmoniques de sysdis et hdep
Observabilité, Commandabilité
>> G=ctrb(ad,bd)
>> rank(G)
>> det(G)
>> O=obsv(ad,cd)
>> det(O)
Stabilité du système bouclé
>> rlocus(sysdis)%étudie le système bouclé à retour unitaire k*sysdis/(1+k*sysdis)
>> zgrid
>> axis([0 1 0 1])
>> k=rlocfind(sysdis)
Placement de pôles par retour d’état
>> p= [0.5 0.3] % vecteur des pôles
>>K = acker(ad,bd,p) K=[4.8271 0.2311]
>> set (sysdis,’a’,ad-bd*K) Frequency (rad/sec)
Phase (deg); Magnitude (dB)
Bode Diagrams
-100 -50 0 50
10-1 100 101 102 103
-250 -200 -150 -100 -50
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Real Axis
Imag Axis
>> damp(sysdis) 0.5 et 0.3
>> step(sysdis) ...
Exemple 3 : Discrétisation avec la représentation d’état
) ( 200 ) ( 10 ) )] (( [
)]
( [ )
~(( )
~ ) 10 (
) 200
( s t s t e t
t e L
t s L p e
p s p
p p
H
Avec le vecteur d’état
) (
) ) (
( s t
t t s
S
, on obtient la forme de commande suivante pour le processus continu :
) ( ) ( ) 200 ( ) 0
10 ( 0
1 ) 0
(t S t e t AS t Be t
S
, équ.
d’état
1 0
( ) ( ))
(t S t C t
s
équation d’observation
Solution
s(t)entre
0et t utilisant la transformée de Laplace
)
~( )
~( ) 0 ( )
~(
p e B p S A S
p S
p
, soit
)
~( ) (
) 0 ( ) (
)
~(p pI A 1S pI A 1Be p
S
On note
eAtla transformée inverse
L1[(pI A)1](cf
**):
eAtS teAt Be d eAtS teAtBe t d t
S 0 0
)
( ( ) (0) ( )
) 0 ( )
(
= effet de
S(0)+ effet de la commande
e(t)entre 0 et t
D’où, par identification
] )
[( 1
1
L pI A
eAt
et
)]
~( ) [(
)
( 1 1
0
)
( Be d L pI A Be p
teAt
** vérifier que l’exponentielle de matrice
S(t)eAtS(0)est la solution de l’équation d’état homogène :
) ( )
(t AS t
S
. Comme on a également
S~(p)(pI A)1S(0), on déduit par identification que
L1[(pI A)1]eAt. Application à la discrétisation entre 0 et T :
e()e(0)reste constant (blocage), l’état initial
S(0)devient
) 0 ( ) 0 ( ) 0 ( ) (
) 0 ( )
(T e S 0 e Bd e FS Ge
S AT
T A (état)
1 0
( ))
(T S T
s
(observation)
Généralisation : entre
nTet
(n1)T, l’état initial est
)(nT
S
et on a
e()e(nT), la représentation d’état discrétisée est:
) ( )
(
) ( )
( )
) 1 ((
kT S C kT s
nT e G nT S F T n S
avec
) (
) ) (
( s nT
nT nT s
S
et
T
A t
pI L
F 1[( )1]
et
G L1[(pI A)1B/ p]tT(en
Tt
)
Application au cas particulier :
Ici
0 10
1 p A p
pI
et
p p
p A p
pI 0
1 10 )
10 ( ) 1
( 1
.
Egalement,
p p
p p B A
pI 200
200 ) 10 ( / 1 )
( 1
. On en tire :
AT T T
e e e
F 10
10
0
) 1
( 1 . 0
1
et
) 1
( 20
) 1
( 2 20
10 10 T
T
e e G T
Application numérique :
avec
T 20ms, on trouve
e10T e0.2 0.818, soit le résultat
1 0
( ) )(
) 625 (
. 3
037 . ) 0 818 (
. 0 0
018 . 0 ) 1
) 1 ((
kT S kT
s
kT e kT
S T
k S
,
) (
) ) (
( s kT
kT kT s
S