Vous êtes sur la page 1sur 44

Elements sur les representations detat

Version provisoire - V6

Gerard Blanchet, Denis Matignon

3 Janvier 2011
2 SI240etats.aux
Table des matieres

Notations 5

1 Transformee de Laplace 7
1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Proprietes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Systeme lineaire invariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Le pendule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Pre-compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Post-compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2 Representations detat a temps continu 11


2.1 Formes standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Forme controleur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.2 Forme observateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Solution de lequation detat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3 Passage de la representation detat a la fonction de transfert . . . . . . . . . . . . 14
2.3.1 Cas scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 Cas general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Elements structurels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1 Commandabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.2 Observabilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 Decomposition de Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3 Passage du temps continu au temps discret 21


3.1 Approximations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Passage en presence de bloqueur dordre 0 . . . . . . . . . . . . . . . . . . . . . . 22

4 Representations detat a temps discret 23


4.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Resolution de lequation detat, cas SLI . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Problemes fondamentaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Structure des filtres 29


5.1 Structure de filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.2 Realisation du filtrage dans MATLAB . . . . . . . . . . . . . . . . . . . . 31
5.2 Imperfections des implantations numeriques . . . . . . . . . . . . . . . . . . . . . 32

3
4 SI240etats.aux

6 Cas multivariable 33
6.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.1.1 Representation et dimension de lespace detat . . . . . . . . . . . . . . . 33
6.1.2 Forme diagonale de Gilbert . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2 Elements de structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2.1 Minimalite dune realisation . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7 Indications 37
7.1 Transformee de Laplace (p. 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2 Representations detat a temps continu (p. 11) . . . . . . . . . . . . . . . . . . . 37
7.3 Passage du temps continu au temps discret (page 21) . . . . . . . . . . . . . . . . 38
7.4 Representations detat a temps discret (page 23) . . . . . . . . . . . . . . . . . . 40
7.5 Structure des filtres (page 29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.6 Cas multivariable (page 33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Bibliographie 42

Index 44
Notations

B Domaine de convergence de lintegrale de Laplace


X(s) Transformee
R de Laplace de x(t) causale
X(s) = 0 x(t)est dt avec Re(s) >
Y (t) Fonction de Heaviside

SL systeme lineaire
SLI systeme lineaire invariant
TL transformee de Laplace
TF transformee de Fourier

5
6 SI240etats.aux
Chapitre 1

Transformee de Laplace

1.1 Definition
La transformee de Laplace est loutil privilegie pour letude des comportements transitoires des
systemes. Son principal interet reside dans son aptitude a donner les solutions causales (nulles
pour t < 0) dune large classe dequations differentielles. Cest la raison pour laquelle on ne
considerera, dans la majorite des cas, que des espaces de fonctions causales.
Z +
X : s B 7 X(s) C : L (x(t)) = X(s) = x(t)est dt (1.1)
0

B C est le domaine de convergence de lintegrale de Laplace :


 Z + 
st

B= s x(t)e dt < (1.2)
0

Le domaine de convergence est de la forme Re(s) > x .


Si on suppose x(t) causale, en posant s = + 2if , avec > x , on a (TF denote la
transformee de Fourier) :

X(s) = TF x(t)et (1.3)
1
Exemple : la fraction rationnelle X(s) = ss0 , avec Re(s) > Re(s0 ) est transformee de
Laplace de es0 t Y (t).

1.2 Proprietes
Linearite ;

Quelques transformees :
y(t) = (h x)(t) Y (s) = H(s) X(s)
dx(t)
dt sX(s) x(0+ )
d2 x(t)
dt2
s2 X(s) sx(0+ ) x(0+ )
x(t ) X(s)es (retard)
dX(s)
tx(t)
R tds X(s) Rt R
0 x(t)dt s (si limt0 0 x(t)dt = 0 et 0 x(t)dt < )

Sous certaines conditions de regularite a lorigine : limt0 x(t) = lims sX(s).

7
8 Chapitre 1 - Transformee de Laplace

Si les deux limites suivantes existent alors limt x(t) = lims0 sX(s).

Loriginal de X(s) avec B = {Re(s) > } est une fonction causale (theoreme de Paley-
Wiener).

1.3 Systeme lineaire invariant


Un systeme lineaire invariant realise une convolution entre lentree et une fonction du temps, la
reponse impulsionnelle, g(t), qui caracterise le systeme.
Noter quil ne faut pas confondre reponse impulsionnelle et reponse a une impulsion. On
retiendra que la reponse impulsionnelle est la reponse a une impulsion avec des conditions
initiales nulles.
La transformee de Laplace G(s) de la reponse impulsionnelle est la fonction de transfert du
systeme. Gf (f ) = G(2jf ) est le gain complexe du systeme.

Definition 1.1 Un systeme de reponse impulsionnelle g(t) est dit stable entree bornee-sortie
bornee si :

A > 0, B, |x(t)| < A |y(t)| = |(x g)(t)| < B (1.4)

Theoreme 1.1 Un systeme G(s) est stable entree bornee-sortie bornee (EBSB) (BIBO,
Bounded Input-Bounded Output) si et seulement si sa reponse impulsionnelle g(t) est sommable
(1.5) :
Z +
|g(t)|dt < (1.5)
0

Corollaire 1.1 Un systeme G(s) est stable entree bornee-sortie bornee si et seulement si
laxe imaginaire est dans le domaine de convergence de G(s).

On en deduit la propriete bien connue selon laquelle les singularites de la fonction de transfert
doivent se trouver dans la partie gauche du plan complexe. La plupart des systemes consideres
en pratique ont des fonctions de transfert rationnelles et les singularites sont des poles.

1.4 Le pendule
Le probleme du pendule est un grand classique en terme de commande.

mg

Figure 1.1: Pendule


SI240 / 2007-2008 / GB 9
Il sagit dun systeme non lineaire simple regi par lequation 1.6 :

(t) + 2 sin((t)) = (t) (1.6)

Il y a deux positions dequilibre, en = 0 et = . La premiere est stable, la seconde


instable. Cest cette derniere que lon va chercher a controler. Par linearisation autour de = ,
on obtient 1.7 :

y(t) 2 y(t) = (t) (1.7)

Le controle que lon va chercher a mettre en uvre est dit en boucle ouverte.

1.4.1 Pre-compensation
Cherchons une entree u(t) causale telle que (t) = u(t) u(t).

y(t) 2 y(t) = u(t) u (1.8)

Dun point de vue fonctionnel, on parlera de pre-compensation (schema 1.2).

u(t) d (t) y(t)


Systme
dt

Figure 1.2: Pre-compensation

Par application de la transformee de Laplace, avec des conditions initiales nulles, on obtient :

1
s2 Y (s) 2 Y (s) = sU (s) U (s) Y (s) = U (s) (1.9)
s+

ce qui laisse a penser que le systeme est asymptotiquement stable.


La presence de conditions initiales non nulles y(0) et y(0) conduit a des conclusions sensi-
blement differentes.
La resolution directe de 1.7 conduit a y(t) = Aet + Bet , puis a :

y(0)
y(t) = y(0) cosh(t) + sinh(t) (1.10)

Lapplication de la transformee de Laplace a 1.8 donne :

s2 Y (s) sy(0) y(0) 2 Y (s) = sU (s) u(0) U (s) (1.11)

Dun point de vue relation entree-sortie simple, caracterisee par la fonction de transfert G(s) =
1/(s + ), le systeme apparat comme stable. Par contre la presence des conditions initiales
donne :

s sy(0) + y(0) u(0)


Y (s) = 2 2
U (s) + (1.12)
s s2 2

La presence de ces conditions initiales non nulles explique linstabilite.


10 Chapitre 1 - Transformee de Laplace

(t) y(t) d z(t)


Systme
dt

Figure 1.3: Post-compensation

1.4.2 Post-compensation
On sinteresse au signal de sortie z(t) = dy(t)
dt y(t), le signal dentree etant (t) (figure 1.3).
Si lon applique la transformee de Laplace avec des conditions initiales nulles, on obtient la
meme fonction de transfert G(s) = 1/(s + ). Lequation differentielle secrit :

z 2 z = (1.13)

Lapplication de la transformee de Laplace donne :

s2 Z(s) sz(0) z(0) 2 Z(s) = ss (s) (0) s (s) (1.14)

dou :
1 sz(0) + z(0) (0)
Z(s) = s (s) + (1.15)
s+ s2 2
z(t) se comporte vis-a-vis de (t) de la meme facon que y(t) vis-a-vis de u(t). Levolution
libre traduit elle aussi un comportement instable.
Chapitre 2

Representations detat a temps


continu

Reprenons le cas du pendule avec post-compensation. On pose :


dx1 (t)
x1 (t) = y(t), x2 (t) =
dt
dx2 (t)
= 2 y(t) + (t) = 2 x1 (t) + (t)
dt
Le signal de sortie avec post-compensation est :
dy(t)
z(t) = y(t) = x2 (t) x1 (t) (2.1)
dt
En notant :
 
x1 (t)
X(t) = (2.2)
x2 (t)
ou X(t) est appele vecteur detat, on a une equation differentielle vectorielle du premier ordre
2.3 et une equation de sortie 2.4, le tout formant une representation detat :
   
d 0 1 0
X(t) = AX(t) + B(t) = 2 X(t) + (t) (2.3)
dt 0 1
 
Y (t) = CX(t) + D(t) = 1 X(t) (2.4)
A est la matrice de representation detat ou matrice detat. Son spectre, ensemble des valeurs
propres, est {, }.

2.1 Formes standard


Considerons la representation detat :
dX(t)
= AX(t) + BU (t) et Y (t) = CX(t) + DU (t) (2.5)
dt
ou lon suppose que les matrices A, B, C, D ne dependent pas du temps. On dit que le systeme
est invariant.
Il y a une infinite de representations detat. Il suffit de faire un changement de base de la
forme X = PZ. On obtient alors :
dZ(t)
= P1 APZ(t) + P1 BU (t) et Y (t) = CPZ(t) + DU (t) (2.6)
dt

11
12 Chapitre 2 - Representations detat a temps continu

D
U(t) + dX(t)/dt + Y(t)
B C
+ +
A X(t)
Systme

Figure 2.1: Representation detat dun systeme lineaire invariant

2.1.1 Forme controleur


On considere un systeme lineaire invariant decrit par lequation differentielle lineaire a coef-
ficients constants 2.7 :
dn d dm d
y(t) + + a1 y(t) + a0 y(t) = b m u(t) + + b1 u(t) + b0 u(t) (2.7)
dtn dt dtm dt
avec m < n (systeme dit strictement propre). Dans ce cas, on a D = 0. Le systeme ne possede
quune entree et quune sortie. On parle de systeme SISO (Single Input-Single Output).
On peut exhiber une representation detat de la forme (forme controleur) :

an1 . . . a1 a0 1




x 1 (t)
1 0 . . . 0 0
x 1 (t) 0

d . .

dt .. = 0 1 ... 0 0
.. + 0 u(t)



. .. .

xn (t) .. . xn (t) ..
(2.8)

0 0 ... 1 0 0



x1 (t)

y(t) = 0 . . . 0 bm . . . b0 ...

 




xn (t)
ou la matrice detat A apparat sous forme compagnon (fonction compan de MATLAB).
Indications : On applique la TL a 2.7 (a conditions initiales nulles) :
(sn + + a1 s + a0 ) Y (s) = (bm sm + + b1 s + b0 ) U (s) (2.9)

On divise le tout par sn et on pose :


V (s) 1 Y (s)
= n1 n
et = bm /snm + + b0 /sn (2.10)
U (s) 1 + + a1 /s + a0 /s V (s)
On pose Xn (s) = V (s)/sn , . . . X1 (s) = V (s)/s auxquels sont associes xn (t), . . . x1 (t).
On en deduit :
(
v(t) = dx
dt = u(t) an1 x1 (t) a0 xn (t)
1
(2.11)
y(t) = bm xnm (t) + + b0 xn (t)
 T
On pose X(t) = x1 . . . xn et on deduit la representation :

an1 . . . a1 a0
1 1
0 ... 0
0
dX(t) 0 1 ...
dt =
.
X(t) + .. u(t)
. (2.12)
..
0
 0 0 1  0
y(t) = 0 . . . 0 bm . . . b0 X(t)
SI240 / 2007-2008 / GB 13

Dans le cas ou les degres du numerateur et du denominateur sont les memes, la seconde
relation de 2.11 secrit :

y(t) = bn v(t) + bn1 x1 (t) + + b0 xn (t)


= bn u(t) + (bn1 bn an1 )x1 (t) + + (b0 bn a0 )xn (t)

et la relation de sortie devient :


 
y(t) = (bn1 bn an1 ) . . . (b0 bn a0 ) X(t) + bn u(t) (2.13)

La fonction tf2ss de MATLAB realisant le passage de la fonction de transfert a la


representation detat donne cette forme de representation.

2.1.2 Forme observateur


Il existe une autre forme dite forme observateur :



0 . . . . . . 0 a0
b0

.
..

1 0 . . . 0 a1



d 0 1 . . . 0 a2

dt X(t) = X(t) + bm u(t)

. ..
.. . 0

.. (2.14)

0 . . . 0 1 a n1 .




x1 (t)

y(t) = 0 . . . . . . 1
.


..

xn (t)
Indications : on reprend 2.9 que lon ecrit sous la forme :
an1 am+1
Y (s) = Y (s) nm1 Y (s)
s s
bm U (s) am Y (s) b0 U (s) a0 Y (s)
+ nm
+ + n
 s   s
Xn1 Xn1 Xn2
= Xn + +
s s s2
 
X2 X1 X1
+ n2
n1 + n1 (2.15)
s s s
 T
En posant X(t) = x1 (t) . . . xn (t) , cela conduit a la forme 2.14.

2.2 Solution de lequation detat


Si on suppose que lentree est continue par morceaux, la resolution de lequation differentielle
du premier ordre donne (solution unique passant par CX(t0 ) a linstant t0 ) :
Z t
y(t) = CeA(tt0 ) X(t0 ) + C eA(tv) Bu(v)dv (2.16)
| {z } 0
(1) | {z }
(2)

qui fait apparatre :


14 Chapitre 2 - Representations detat a temps continu

un terme (1) associe a la solution generale de lequation sans second membre et ne


dependant que des conditions initiales ;
un terme (2) convolutif correspondant a une solution particuliere dependant de lentree du
systeme.

2.3 Passage de la representation detat a la fonction de transfert


2.3.1 Cas scalaire
On suppose que le systeme ne possede quune entree et quune sortie. Lapplication de la
transformee de Laplace a la representation detat donne pour fonction de transfert G(s) :
G(s) = C(sI A)1 B + D (2.17)
Etant donnees deux matrices U(m n) et V(n m), on a la relation det(In + UV) =
det(Im + VU). La quantite C(sI A)1 B etant scalaire, on peut ecrire :

1 + C(sI A)1 B = det 1 + C(sI A)1 B

= det I + BC(sI A)1

= det (sI A)1 det ((sI A) + BC)
dou lexpression de la fonction de transfert :
det (sI A + BC)
G(s) = +D1 (2.18)
det (sI A)
On verifie facilement que G(s) est invariante dans tout changement de base.

Exemple 2.1 cas du pendule avec post-compensation mis sous forme observateur :
        
d x1 (t) 0 2 x1 (t)   x1 (t)
= + (t) et y(t) = 0 1
dt 2x (t) 1 0 x 2 (t) 1 x2 (t)
      
  s 2 1 1   s 2 1
G(s) = 0 1 = 2 2
0 1 =
1 s 1 s 1 s 1 s+
Exemple 2.2 cas du pendule avec post-compensation mis sous forme controleur :
        
d x1 (t) 0 2 x1 (t) 1   x1 (t)
= + (t) et y(t) = 1
dt x2 (t) 1 0 x2 (t) 0 x2 (t)
      
  s 2 1 1 1   s 2 1 1
G(s) = 1 = 2 1 =
1 s 0 s 2 1 s 0 s+

Exercice 2.1 (Calcul de la matricePn1 exponentielle (page 37)) On desire calculer eAt
sous forme dune somme finie k
k=0 k (t)A (consequence directe du theoreme de Cayley-
Hamilton). On note (s) le polynome caracteristique associe au systeme avec :

(s) = sn a0 + a1 s + + an1 sn1
et
on construit une suite de polynomes k (s) de la facon suivante :

0 (s) = (s) 
1 (s) = sn1 a1 + a2 s + + an1 sn2

.
..

n (s) = 1
SI240 / 2007-2008 / GB 15

+ dx1(t)/dt x1(t) (t) + dx1(t)/dt x1(t) + Z(t)



+ + +
2 2

(t) + dx2(t)/dt x2(t) Z(t) dx2(t)/dt x2(t)

Figure 2.2: Formes observateur (a gauche) et controleur (a droite) pour le pendule linearise

1. Montrer que :
" n #
X
(s) = k (s)Ak1 (sI A) = (s)I
k=1

2. En deduire lexpression de (sI A)1 et une facon de calculer les k (t).


3. On considere le systeme de fonction de transfert :
1
G(s) =
(s + 1)2 (s + 2)
En choisissant une representation detat sous forme commandable, donner lexpression des
k (t) correspondante.

2.3.2 Cas general


Dans le cas multivariable (plusieurs entrees et/ou plusieurs sorties, on traite chaque couple
entree/sortie lun apres lautre.
Le terme (sIA) est une matrice polynomiale dont linverse existe dans lespace des matrices
a coefficients dans le corps des fractions rationnelles. Si on suppose que D est nulle, la fonction
de transfert est donnee par :
G(s) = C(sI A)1 B (2.19)
On peut ecrire :
+
X CAk1 B
G(s) = (2.20)
sk
k=1

Les CAk1 B sont appeles parametres de Markov. Ceux-ci sont directement lies aux valeurs
initiales de la reponse impulsionnelle et de ses derivees. Ils sont invariants dans tout changement
de base.

2.4 Elements structurels


Deux questions importantes se posent des lors que lon sinteresse au comportement des
systemes :
1. Est-on capable damener letat en nimporte quel point de lespace detat en agissant sur
lentree u(t) pendant une duree finie ?
2. Est-on capable de connatre letat initial par simple observation des entrees u(t) et des
sorties y(t) pendant une duree finie ?
16 Chapitre 2 - Representations detat a temps continu

2.4.1 Commandabilite
La question posee est la suivante : est-il possible de calculer une commande u(t) qui amene
letat dun etat quelconque X1 a 0 en temps fini ? Si on peut obtenir une telle commande, alors
(relation 2.16) elle satisfait :
Z
X1 = eAv Bu(v)dv (2.21)
0

On dit que X1 est commandable. Si tous les etats sont commandables, le systeme est dit
commandable (on dit aussi completement commandable).
 
Theoreme 2.1 Le systeme est commandable ssi la matrice Cm = B AB . . . An1 B est
de rang plein.

Indications : considerons la matrice Cm .

Condition necessaire : supposons le systeme commandable. Si Cm netait pas de


rang plein, il existerait un vecteur V non nul tel que V T Cm = 0. On en deduit
V T eA = 0 dou V T X1 = 0. X1 est dans un sous-espace orthogonal a V .
Il ne peut donc etre pris nimporte ou dans lespace detat. Le systeme nest pas
commandable.
Supposons Cm de rang plein. Alors la matrice W (0, t) :
Z t
Tu
W (0, t) = eAu BBT eA du (2.22)
0

est inversible et on peut construire une entree satisfaisant le probleme.


En effet, si W (0, t) netait pas inversible, il existerait un vecteur V non nul tel
que V T W (0, t)V soit nul, donc V T eAu B = 0 ce qui est equivalent a dire, par
Cayley-Hamilton, que Cm nest pas de rang plein.
Partant de 2.16 :
Z
X1 = eAv BU (v)dv (2.23)
0

T
et en reportant la commande U (v) = BT eA v W 1 (0, )X1 , on verifie :
Z
T
eAv B BT eA v dv W 1 (0, )X1 = X1 (2.24)
|0 {z }

Propriete 2.1 Si le systeme nest pas completement commandable, on peut mettre lequation
detat sous la forme :
   
dX A11 A12 B1
= X(t) + (2.25)
dt 0 A22 0
 
y(t) = C1 C2 X(t)

dans lequel le sous-systeme defini par A11 (r r), B1 (r 1) et C1 (1 r) est completement


commandable.
SI240 / 2007-2008 / GB 17
Exemple 2.3 On considere un systeme avec :
   
1 0 1
A= et B = (2.26)
0 1/2 1

Z t Z t u   
Au T AT u e 0 1 1 eu 0
W (0, t) = e BB e du = du
0 0 0 eu/2 1 1 0 eu/2
 1 2t 
2 (e 1) 32 (e3t/2 1)
=
23 (e3t/2 1) et 1

La trajectoire de letat est alors donnee par :


 Z t 
At Av T AT v 1
X(t) = e X1 e BB e dv W (0, )X1
0

= eAt X1 W (0, t)W 1 (0, )X1

Le programme qui suit illustre lapplication de la commande faisant intervenir W (0, ) (figure
2.3).
%===== EXPLE1.M
clear all
A=[-1 0;0 -1/2]; B=[1;-1]; X1=[2;-3];
alpha=X1(1); beta=X1(2);
tau=1; nbpts=100; deltT=tau/nbpts;
v=[0:deltT:tau]; Lv=length(v);
Wtau=[(exp(2*tau)-1)/2 , -(exp(3*tau/2)-1)*2/3;...
-(exp(3*tau/2)-1)*2/3 , (exp(tau)-1)];
Wm1=inv(Wtau);
for k=1:Lv
Wt=[(exp(2*v(k))-1)/2 , -(exp(3*v(k)/2)-1)*2/3;...
-(exp(3*v(k)/2)-1)*2/3 , (exp(v(k))-1)];
Xn(:,k)=expm(A*v(k))*(X1-Wt*Wm1*X1);
end
plot(Xn(1,:),Xn(2,:),-b,Xn(1,Lv),Xn(2,Lv),o), grid
hold on; plot(Xn(1,1),Xn(2,1),x); hold off

3
3 2,5 2 1,5 1 0,5 0 0,5 1 1,5 2

Figure 2.3: Retour de letat a 0


18 Chapitre 2 - Representations detat a temps continu

2.4.2 Observabilite
La question posee est la suivante : est-il possible de reconstruire X(0) a partir de la connaissance
des entrees et des sorties entre les instants 0 et t ?
Si cest le cas, letat X(0) est dit observable. Lorsque tous les etats initiaux sont observables
on dit que le systeme est observable (ou completement observable). La matrice dobservabilite
est donnee par :

C
CA

Ob = . (2.27)
..
CAn1
Lobservabilite du systeme est liee au rang de la matrice Ob . Si elle est de rang n le systeme
est observable.

Propriete 2.2 En prenant pour base de lespace detat les vecteurs du noyau B1 de Ob et un
sous-espace supplementaire B1 - B = B1 B2 - on peut ecrire A et C sous la forme (que lon
peut obtenir par lalgorithme de Luenberger) :
 
A11 0  
A = et C = C1 0 (2.28)
A21 A22

On dit que (A11 , C1 ) est observable.

Le fait que le systeme ne soit pas observable ne signifie pas que lon ne
Remarque peut pas construire letat mais que la solution nest pas unique.

Remarques
On fait une distinction entre commandabilite (amener dun etat donne a letat 0) et accessibilite
(amener de letat 0 a un etat donne) dun cote et observabilite (reconstruction de letat a partir
de donnees du futur) et constructabilite (reconstruction de letat courant a partir des entrees et
sorties du passe et du present) dun autre. Accessibilite et observabilite sont duales de meme
que commandabilite et constructabilite. Dans le cas SLI les notions de systeme commandable
et de systeme accessible sont equivalents (ce nest pas vrai en temps discret).

2.4.3 Decomposition de Kalman


Tout systeme peut etre mis (c.a.d. quil existe une base de lespace detat) sous la forme illustree
par le schema 2.4.


Xcno A11 A12 0 A14 Xcno B1
d X co A21 A22 A23 A24 Xco B2
= + U (t)
(2.29)
dt Xncno 0 0 A33 A34 Xncno 0
Xnco 0 0 0 A44 Xnco 0

Xcno
  Xco
Y (t) = 0 C2 0 C4 Xncno + DU (t)
(2.30)
Xnco
SI240 / 2007-2008 / GB 19
D
A13
A11 A33
+
+ +
B1
+ Xcno Xncno

A12 A14 A34


U(t)

Y(t)
A22 A44 C4
+ +
B2 + + + Xnco
Xco
C2
A24

Figure 2.4: Decomposition de Kalman

Indications : Si le systeme nest pas completement commandable, on a indique que lon


peut le mettre sous la forme :
   
dX A11 A12 B1
= X(t) + (2.31)
dt 0 A22 0
 
y(t) = C1 C2 X(t)

dans lequel le sous-systeme defini par A11 (r r), B1 (r 1) et C1 (1 r) est com-


pletement commandable.
En effet, si le systeme est mis sous la forme 2.31, alors on peut ecrire :
dX2
= A22 X2 (t)
dt
et on ne peut atteindre letat 0 en temps fini que si X2 (0) = 0. Le systeme nest donc
pas completement commandable.
Inversement, supposons que le systeme nest pas completement commandable et que
le rang de Cm est egal a r. Il existe un changement de base X = PZ tel que :
   
Ir M12   Ir M12
Cm = P = P1 P2
0 0 0 0
ou Ir est la matrice unite (r r). P1 est donc constitue des r premieres colonnes de Cm .
On peut completer en prenant n r vecteurs orthogonaux a ces derniers pour obtenir
P2 .
 

 n1
 Ir M12
Cm = B AB A B =
0 0

De la meme facon un systeme non observable peut se mettre sous la forme :


   
dX A11 0 B1
= X(t) + (2.32)
dt A21 A22 B2
 
y(t) = C1 0 X(t)

En combinant les deux cas, on arrive au resultat enonce.


20 Chapitre 2 - Representations detat a temps continu

On peut remarquer que, sil ny a pas commandabilite et/ou observabilite, il y a des sim-
plifications dans la fonction de transfert. Prenons en exemple le cas ou le systeme nest pas
commandable et exprimons sa fonction de transfert (expression 2.18) en supposant quil est
strictement propre :
det(sI A + BC) det(sI A11 + B1 C1 )det(sI A22 )
G(s) = 1= 1
det(sI A) det(sI A11 )det(sI A22 )
det(sI A11 + B1 C1 )
= 1
det(sI A11 )
Les poles et zeros associes a la partie non commandable sont simplifies.
Chapitre 3

Passage du temps continu au temps


discret

Le probleme du passage du temps continu au temps discret se pose dans plusieurs domaines.
Ainsi la resolution numerique dune equation differentielle necessite-t-elle un tel passage. Il en
est de meme lorsquon desire synthetiser un filtre a temps discret a partir dun filtre a temps
continu. Autre domaine ou ce passage est essentiel, celui de lautomatique ou lon peut vouloir
calculer un compensateur a temps discret a partir dun compensateur a temps continu ou
lorsquon desire effectuer une simulation dun systeme. En dehors de ce dernier cas qui presente
une particularite, tous les autres problemes sont identiques [2].

3.1 Approximations
La facon la plus simple de calculer les solutions dune equation differentielle est dapproximer
les derivees par :

dx x(tn ) x(tn1 )
(3.1)
dt T
operation designee par transformation dEuler. Cette transformation preserve le gain a lorigine,
la stabilite et transforme le demi-plan gauche en disque (1/2, 1/2) (figure 3.1).
La transformation dEuler nest generalement pas retenue. On lui prefere la transformee
bilineaire :

dx 2 x(tn ) x(tn1 )
(3.2)
dt T x(tn ) + x(tn1 )

Cette transformation preserve le gain a lorigine, le gain a linfini, la stabilite et transforme


le demi-plan gauche en disque (0, 1) (figure 3.1).
La fonction bilinear de MATLAB de la toolbox control permet de transformer une fonc-
tion de transfert en temps continu a une fonction de transfert en temps discret. On notera quen
automatique les praticiens parlent dune transformation de Tustin.
On peut legerement modifier la transformee bilineaire - on parle de prewarping - en intro-
duisant une frequence fp dite frequence pivot.

dx fpT 2 x(tn ) x(tn1 )


(3.3)
dt tan(fp T ) T x(tn ) + x(tn1 )

21
22 Chapitre 3 - Passage du temps continu au temps discret

Im
Euler

Re

Bilinaire

Figure 3.1: Passage temps continu-temps discret, transformation du 1/2 plan gauche

3.2 Passage en presence de bloqueur dordre 0


Lorsque le systeme est alimente par un convertisseur numerique analogique de type bloqueur
dordre 0, il est possible de trouver un equivalent exact. Les valeurs calculees par recurrence
xn sont exactement les valeurs des echantillons x(nT ) et ceci independamment de la valeur de
la frequence dechantillonnage !
On part de la solution 2.16 de lequation detat en remarquant que lentree reste constante
entre deux instants dechantillonnage.
Z (n+1)T
AT
X((n + 1)T ) = e X(nT ) + eA((n+1)T v) BU ((n + 1)T )dv
nT

Avec le changement de variable u = (n + 1)T v :

X((n + 1)T ) = X(nT ) + U ((n + 1)T )

on obtient :
Z T
= eAT et = eAu du B (3.4)
0

La fonction de transfert est alors donnee par :

G(z) = C(zI )1 + D (3.5)

Exercice 3.1 (Calcul des matrices detat (page 38) Verifier que la matrice :
 
A B
Ae = T T (3.6)
0 0

dont on prend lexponentielle de matrice, permet de calculer la matrice et le vecteur .


Chapitre 4

Representations detat a temps


discret

4.1 Notations
On se limite au cas SISO. Xk est un vecteur Rn . Uk et Yk sont des scalaires. Levolution du
systeme est alors decrite par les relations 4.1. Uk constitue lentree du systeme et Yk sa sortie.

Xk+1 = fk (Xk , Uk ) et Yk = hk (Xk , Uk ) (4.1)

Dans le cas dun modele lineaire :

Xk+1 = Ak Xk + Bk Uk et Yk = Ck xk + Dk Uk (4.2)

Dans le cas dun modele lineaire invariant :

Xk+1 = AXk + BUk et Yk = CXk + DUk (4.3)

D
Uk + Xk+1 (n) + Yk
B z-1 C
+ +
A
Systme Xk

Figure 4.1: Representation detat dun systeme lineaire invariant

4.2 Resolution de lequation detat, cas SLI


Dans le cas SLI, le resultat est facile a obtenir. On a en effet une equation recurrente lineaire a
coefficients constants. Connaissant X0 et U0 , on construit la solution :


X1 = AX0 + BU0

X2 = AX1 + BU1 Xk
.. Xk = Ak X0 + Akm BU (m 1) (4.4)


. m=1

Xk = AXk1 + BUk1

23
24 Chapitre 4 - Representations detat a temps discret

ou encore :
k1
X
k
Xk = A X0 + Akm1 BU (m) (4.5)
m=0

La solution est donnee par la somme de la solution de lequation sans second membre et dun
produit de convolution.

4.3 Problemes fondamentaux


Deux questions importantes se posent des lors que lon sinteresse au comportement des
systemes :

1. Est-on capable damener letat en nimporte quel point de lespace detat en agissant sur
lentree Uk pendant une duree finie ?

2. Est-on capable de connatre letat a tout instant k par simple observation des entres Uk
et des sorties Yk pendant une duree finie ?

Considerons le cas de lobservabilite. On se pose la question : est-il possible de reconstruire


X0 a partir de la connaissance des entrees et des sorties entre les instants 0 et K (letat X0 est
dit observable) ? On peut ecrire :

YK CAK D CB . . . CAK1 B UK
.. .. .. .. ..
. . . . .
= X0 +
Y1 CA 0 0 D CB U1
Y0 C 0 0 ... D U0
= Ob (K)X0 + TU0:K (4.6)

Lobservabilite est liee au rang de la matrice Ob (K), et plus precisement de la matrice


Ob (n 1) que lon notera simplement Ob (theoreme de Cayley-Hamilton). Si elle est de rang
n, le systeme est observable. Ob est appelee matrice dobservabilite et T matrice de reponse
impulsionnelle. Les termes CA B sont appeles parametres de Markov.
En prenant pour base de lespace detat les vecteurs du noyau B1 de Ob et un sous-espace
supplementaire B1 - B = B1 B2 - on peut ecrire A et C sous la forme dite forme observable
(que lon peut obtenir par lalgorithme de Luenberger) :
 
A11 0  
A = et C1 0 (4.7)
A21 A22

Le fait que le systeme ne soit pas observable ne signifie pas que lon ne peut pas construire
letat mais que la solution nest pas unique.
Le test de lobservabilite et de la commandabilite sont realisables a partir de criteres directs ;
ainsi, comme nous lavons vu, lobservabilite est testable en examinant le rang de Ob . Il y a un
grand nombre dautres criteres. Les tests designes par PBH (Popov-Belevitch-Hautus) en font
partie :

1. C ne doit etre orthogonal a aucun des vecteurs propres de A ;

2. la matrice [C|(I AT )] doit etre de rang n, etc.


SI240 / 2007-2008 / GB 25
Exercice 4.1 (Test PBH dobservabilite (page 40)) Montrer la propriete 1.
Comme on la vu dans le cas du temps continu (remarques, page 18), on peut definir acces-
sibilite et constructibilite. Laccessibilite entrane la commandabilite et lobservabilite entrane
la constructibilite. Dans le cas du temps discret il ny equivalence que si A est non singuliere.
On peut aussi utiliser des criteres indirects ; on peut par exemple tester le caractere
dirreductibilite de la fonction de transfert. On sait en effet que toute simplification dans la
fonction de transfert (lordre du systeme est inferieur a la dimension de lespace detat) est liee
a une perte dobservabilite ou de commandabilite. Un tel test est realisable sur la matrice de
Sylvester associee au systeme. Il suffit de regarder si son determinant est nul ou non.

Exemple 4.1 considerons les fonctions de transfert :


B(z) a0 z 3 + a1 z 2 + a2 z + a3 a0 z 3 + a1 z 2 + a2 z + a3
G1 (z) = = et G2 (z) = (4.8)
A(z) b0 z + b1 b0 z 2 + b1 z + b2
la matrice de Sylvester peut secrire (premiere forme) :

a0 a1 a2 a3 0
a0 a1 a2 a3 0 a0 a1 a2 a3
b0 b1 0 0
S1 = et S 2 = b0 b1 b2 0 0 (4.9)
0 b0 b1 0
0 b0 b1 b2 0

0 0 b0 b1
0 0 b0 b1 b2
ou (seconde forme) :

a0 a1 a2 a3 0
a0 a1 a2 a3 0 a0 a1 a2 a3
0 0 b0 b1
S1 =
0 b0 b1
et S2 = 0 0 b0 b1 b2 (4.10)
0
0 b0 b1 b2 0

b0 b1 0 0
b0 b1 b2 0 0
La methode peut etre programmee de la facon qui suit. En exemple, taper :
A=[1 -3 -1 3]; B=[1 -3 2]; M=sylvester(B,A,2), det(M)

avec la fonction sylvester.m :


function M=sylvester(B,A,tp)
%!=======================================!
%! Creating a matrix of Sylvester !
%! SYNOPSIS: M=SYLVESTER(p,q) !
%! B = polynomial B(x)=b(0)x^m+...+b(m) !
%! A = polynomial A(x)=a(0)x^m+...+a(m) !
%! tp = kind of matrix !
%! n and m must be >1 !
%!=======================================!
if size(B,1)~=1, B=B., end
m=length(B)-1;
if size(A,1)~=1, A=A., end
n=length(A)-1;
A1=toeplitz([A(1);zeros(m-1,1)],[A zeros(1,m-1)]);
B1=toeplitz([B(1);zeros(n-1,1)],[B zeros(1,n-1)]);
if nargin<3 | tp==1
M=[A1;B1];
else
M=[A1;flipud(B1)];
end
26 Chapitre 4 - Representations detat a temps discret

Exercice 4.2 (Critere de Sylvester (page 40) montrer la propriete precedente.

Decomposition de Kalman
Comme dans le cas du temps continu, le comportement des systemes peut etre compris
en examinant la description due a Kalman, description qui met en evidence une struc-
ture basee sur une decomposition de lespace detat en quatre sous-espaces supplementaires :
commandable-observable, non commandable-observable, commandable-non observable et
non commandable-non observable (figure 4.2).

D
A13
A11 A33
+
+ +
B1 z-1 z-1
+ Xcno Xncno

A12 A14 A34


Uk
Yk
A22 A44 C4
+ +
B2 + + z-1 +
z-1
Xnco
Xco
C2
A24

Figure 4.2: Decomposition de Kalman

Reponse frequentielle
Dun point de vue frequentiel, dans le cas SLI (4.3) :

Xk+1 = AXk + BUk et Yk = CXk + DUk

on peut ecrire :

zXz (z) zX(0) = AXz (z) + BUz (z) et Yz (z) = CXz (z) + DUz (z) (4.11)

ce qui donne :

Yz (z) = C(zI A)1 B + D Uz (z) + C(zI A)1 zX0 (4.12)

C(zI A)1 B + D est la fonction de transfert, C(zI A)1 zX0 la partie autonome de la
reponse.

Exercice 4.3 (Simulation en presence dun bloqueur dordre 0 (page 39))


On desire effectuer la simulation du comportement dun systeme temps continu alimente a
travers un bloqueur dordre 0 (figure 4.3 et page 22) et modelise par une representation detat.
Le signal dentree est donc construit a partir dune suite dechantillons U (kT ) en maintenant
constante la valeur U (kT ) entre kT et (k + 1)T .

1. Rappeler la relation qui lie le vecteur detat a linstant (k +1)T au vecteur detat a linstant
kT .
SI240 / 2007-2008 / GB 27

U(kT) U(t) Systme Y(t)


CNA temps
continu

Figure 4.3: Equivalent temps discret en presence dun bloqueur dordre 0

2. Comment calculer la reponse entre deux instants dechantillonnage en fonction de la ma-


trice et du vecteur ?

3. La modelisation dun systeme a temps continu lineaire invariant sous forme de


representation detat a conduit aux expressions suivantes :

11/4 11/8 5/4 1
A = 27/4 11/8 21/4 , B = 1 (4.13)
15/8 19/16 5/8 1/2
 
C = 3/8 1/2 1/4 , D = 0

On desire effectuer une simulation numerique dune reponse de ce systeme, alimente


a travers un bloqueur dordre 0, a un echelon unite. Effectuer cette simulation, en
utilisant les resultats de lexercice precedent, pour plusieurs valeurs de la frequence
dechantillonnage pour une duree de 10 s.

4. Examiner levolution de la norme ||.|| du vecteur detat pendant la simulation. Que


peut-on dire de la stabilite ?

5. Donner la forme de la fonction de transfert (en z) associee a ce systeme. Comment juge-t-


on de la stabilite ? Dans quelle situation se trouve-t-on (inobservabilite/ingouvernabilite) ?

6. Effectuer la simulation pour une duree de lordre de 3 minutes. Que constate-t-on ? A


quoi ce phenomene est-il du ?

7. Donner, a laide MATLAB R


, la fonction de transfert en z associee a lensemble systeme
+ bloqueur. On utilisera lexpression 2.18 de facon adequate. Comment faire la meme
simulation par filtrage. On pourra prendre des conditions initiales nulles et non nulles.
Examiner le comportement de la sortie.
28 Chapitre 4 - Representations detat a temps discret
Chapitre 5

Structure des filtres

Plusieurs problemes sont lies a la structure des filtres : la charge de calcul, le passage de letat
dun calcul a lautre lorsquon enchane des traitements et le bruit de calcul du aux arrondis
et/ou troncatures. Ce dernier probleme peut saverer important lorsquon travaille en virgule
fixe.

5.1 Structure de filtre


5.1.1 Exemple
On considere la fonction de transfert G(z) :
b0 + b1 z 1 + + bp z p
G(z) =
1 + a1 z 1 + + ap z p
et sa realisation symbolisee [3] par le schema de la figure 5.1.

u(n) + t(n) + y(n)


b0
x0 +
z 1
+ x1 +
a1 b1
+ +
z 1
+ x2 +
a2 b2
+ +
z 1

+ a x p1 +
p1 b p1
+ +
z 1
ap bp

Figure 5.1: Structure canonique directe

Cette realisation sous la forme controleur deja rencontree effectue dabord le calcul de :
t(n) = u(n) a1 t(n 1) ap t(n p)

29
30 Chapitre 5 - Structure des filtres

puis celui de :

y(n) = b0 t(n) + b1 t(n 1) + + bp t(n p)

Pour cet algorithme, on appellera etat du filtre a linstant n le vecteur X(n) (p 1) :


 T
X(n) = t(n) t(n 1) . . . t(n p + 1)

Ce qui donne la forme deja vue :




a1 . . . . . . ap

1 0 0


X(n) = . X(n 1)
0 . . 0 (5.1)


 0 1 0




y(n) = (b1 b0 a1 ) . . . (bp b0 ap ) X(n 1) + b0 u(n)

En introduisant les vecteurs :

a = [a1 a2 . . . ap ] et = [b1 b2 . . . bp ]

on obtient lecriture suivante :


(
u(n) = t(n) + aX(n 1)
(5.2)
y(n) = b0 t(n) + X(n 1)

La recherche de letat initial qui a conduit a une sequence dentree-sortie donnee est un autre
probleme. Partant des equations recurrentes 5.2 donnant t(n) et s(n), on peut encore ecrire :

b0 b1 bp 0 0
t(p 1)

y(p 1) 1 a1 a p 0 0

u(p 1) 0 b0 bp1 bp 0 0
..
.
.. 0 1
. = t(1) = OT
. ..
y(0) ..
.
u(0) 0 0 b0 b1 bp t(p)
0 0 1 a1 ap

Cette expression montre quon peut reconstituer letat initial T = [t(1) . . . t(p)]T des lors
que la matrice O est inversible. La theorie des systemes montre que la possibilite de reconstruire
letat est liee a la notion dobservabilite. Il existe un grand nombre de criteres dobservabilite
batis sur les representations detats associes a un systeme [4].

Exemple 5.1 on considere un systeme du second ordre (numerateur b0 + b1 z 1 + b2 z 2 et


denominateur 1 + a1 z 1 + a2 z 2 dentree x(n) et de sortie y(n). On peut ecrire :

y(1) b0 b1 b2 0 t(1)
x(1) 1 a1 a2 0 t(0)
y(0) = 0 b0 b1 b2 t(1)

x(0) 0 1 a1 a2 t(2)
 T
A partir de letat initial X T (1) = t(1) t(2) calcule, la sequence dentree {x(0), x(1)}
donne {y(0), y(1)}.
SI240 / 2007-2008 / GB 31
u(n) + + y(n)
b0
+ x 1 (n1)
z 1

+ x 1 (n)
b1 a1
+
+

z 1

+ x p1 (n)
+
b p1 a p1
+

z 1
x p (n)
bp ap
+

Figure 5.2: Forme transposee de type II

5.1.2 Realisation du filtrage dans MATLAB


MATLAB R
effectue son algorithme de filtrage sous la forme schematisee selon la figure 5.2.
MATLAB R
offre une fonction (filtic) fabriquant les conditions initiales censees delivrer une
sequence de demarrage donnee.
On peut ecrire :

Y (z) = [bp U (z) ap Y (z)] z p + [bp1 U (z) ap1 Y (z)] z p+1 +


+ [b1 U (z) a1 Y (z)] z 1 + b0 U (z)

On definit :

Xp (z) = bp U (z) ap Y (z)


Xp1 (z) = z 1 Xp (z) + bp1 U (z) ap1 Y (z)
..
.
X1 (z) = z 1 X2 (z) + b1 U (z) a1 Y (z)

En utilisant Y (z) = b0 U (z) + z 1 X1 on obtient :

Xp (z) = ap z 1 X1 (z) + (bp ap b0 )U (z)


Xp1 (z) = ap1 z 1 X1 (z) + z 1 Xp (z) + (bp1 ap1 b0 )U (z)
..
.
X1 (z) = a1 z 1 X1 (z) + z 1 X2 (z) + (b1 a1 b0 )U (z)
32 Chapitre 5 - Structure des filtres

 T
En posant X(n) = xp (n) . . . x1 (n) , on obtient la representation detat :

0 . . . . . . 0 ap



1 0 . . . . . . 0 ap1
bp ap b0




0 1 . . . . . . 0 ap2 bp1 ap1 b0


X(n) = . . .
X(n 1) + .. u(n)
.. .. ..
0 . (5.3)
. . .


. .
.. . . . . . . ..

b1 a1 b0



 0 . . . . . .  0 1 a1




y(n) = 0 . . . 0 1 X(n) + b0 u(n)

qui correspond a une forme observateur.

5.2 Imperfections des implantations numeriques


Dans MATLAB R
tous les calculs se font en flottants double precision, aussi ne se pose-t-on que
rarement les problemes derreurs de calcul. Par contre, la mise en uvre pratique des operations
de filtrage se fait souvent sur des processeurs a unite arithmetique entiere (dsp, Digital Signal
Processor). La representation des donnees se fait en virgule fixe. Deux facteurs influent sur
les resultats des operations de filtrage :

1. le nombre de bits attribue a la representation des coefficients ;

2. le nombre de bits utilise pour la representation des donnees. Les elements a prendre en
compte sont :

le bruit de quantification sur le signal ;


les erreurs darrondi dans les calculs ;
le comportement dynamique du filtre (oscillations).

Les structures de calcul dans ce cas privilegient la structure cascade dans laquelle on met
en serie des cellules du premier et second ordre. Laffectation des gains de chaque cellule ainsi
que lappairage des poles et zeros sont alors des facteurs determinants [1].
Chapitre 6

Cas multivariable

La transposition des resultats obtenus dans le cas monovariable au cas multivariable ne peut
pas etre realisee sans precaution.

6.1 Exemple
6.1.1 Representation et dimension de lespace detat
Considerons la matrice de transfert :
1 1

G(s) = (s 1)2 (s 1)(s + 3)
2 s2
(s 1)(s + 3)2 (s + 3)2

correspondant a m = 2 entrees et p = 2 sorties. On utilise la representation 2.12 pour obtenir :



2 1 0 0 0 0 0 0 0 1 0
1 0 0 0 0 0 0 0 0 0 0

0 0 2 3 0 0 0 0 0 0 1

0 0 1 0 0 0 0 0 0 0 0

A = 0 0
0 0 5 3 9 0
1
0 et B = 0
(6.1)
0 0 0 0 1 0 0 0 0 0 0

0 0 0 0 0 1 0 0 0 0 0

0 0 0 0 0 0 0 6 9 0 1
0 0 0 0 0 0 0 1 0 0 0
 
0 1 0 1 0 0 0 0 0
C=
0 0 0 0 0 0 2 1 2

Cette realisation na aucune raison detre minimale (au sens de la dimension de lespace
detat).
Considerons maintenant D(s) = (s 1)2 (s + 3)2 de degre r = 4. On a :
 
1 (s + 3)2 (s 1)(s + 3)
G(s) =
(s 1)2 (s + 3)2 2(s 1) (s 2)(s 1)2
        
1 3 0 0 2 1 1 6 2 9 3
= s +s +s +
(s 1)2 (s + 3)2 0 1 0 4 2 5 2 2

33
34 Chapitre 6 - Cas multivariable

Sachant que D(s) = s4 + 4s3 2s2 12s + 1, on peut verifier quune representation, analogue
a la forme compagnon precedente, peut etre :

4 I2 2 I2 12 I2 I2 I2
I2 0 0 0 0
A=
0
et B = (6.2)
I2 0 0 0
0 0 I2 0 0
       
0 0 1 1 6 2 9 3
C=
0 1 0 4 2 5 2 2

On peut constater que la dimension de A nest pas le meme que precedemment. Le nombre
de ligne est egal a r m.
La forme 6.2, de type controleur, suggere quil y a une forme de type observateur :
 
0 0
0 1
 
4 I2 I2 0 0 1 1

2 I2 0 I2 0 et B = 0 4

A=
12 I2 0 0 (6.3)
I2 6 2

I2 0 0 0 2 5

9 3
2 2
 
C = I2 0 0 0

Le nombre de lignes de A est maintenant r p.


Au vu des resultats obtenus dans le cas monovariable, on peut supposer que la dimension de
lespace detat est liee a lobservabilite et a la commandabilite du systeme.

6.1.2 Forme diagonale de Gilbert


On note i , i = 1,. . . , r, les racines du polynome denominateur. On peut alors ecrire :
X Ri
G(s) = (6.4)
s i
i

On note i le rang de la matrice Ri .

Exemple 6.1 (Decomposition dans le cas diagonalisable)


   

1 2
1 0 1 2
(s + 1)(s + 2) s + 2 = 1 1 0 0
G(s) = 1 1 +
s+1 s+2
s+1 s+1

La propriete de base dit que la dimension de lespace detat est egal a 3, somme des rangs
des matrices residus. Cette dimension est inferieure a la dimension que lon obtiendrait avec
les constructions precedentes et superieure au degre de D(s).
SI240 / 2007-2008 / GB 35
6.2 Elements de structure
Propriete 6.1 La realisation {A, B, C} est observable si et seulement si le rang de la matrice
Ob (np n) est de rang plein n.
 
Le plus petit entier q tel que C . . . A(q1) C est de rang n est appele indice
dobservabilite.

Propriete 6.2 La realisation {A, B, C} est commandable si et seulement si le rang de la ma-


trice Cm (n nm) est de rang plein n.
 
Le plus petit entier q tel que B . . . A(q1) B est de rang n est appele indice de com-
mandabilite.
Comme dans le cas monovariable, il existe un changement de base qui permet de mettre le
systeme sous une forme 6.6 ou 6.6 dites formes non-commandable ou non-observable.
   
dX A11 A12 B1
= X(t) + (6.5)
dt 0 A22 0
 
y(t) = C1 C2 X(t)

   
dX A11 0 B1
= X(t) + (6.6)
dt A21 A22 B2
 
y(t) = C1 0 X(t)

6.2.1 Minimalite dune realisation


Definition 6.1 Une realisation sera dite minimale si la taille de la matrice A est minimale
avec G(s) = C(sI A)1 B.

Theoreme 6.1 Une realisation est minimale si et seulement si elle est commandable et observ-
able.

Indications : Si la realisation est minimale, elle est alors commandable et obser-


vable. En effet, supposons le systeme A, B, C non commandable. Alors il existerait
une representation A, B, C comportant moins detats et de meme matrice de transfert.
La representation A, B, C ne serait donc pas minimale.
Si le systeme est commandable et observable, la realisation est minimale. Supposons
que la realisation nest pas minimale. Dans ce cas il existe une autre realisation A, B, C
avec n < n. Les parametres de Markov (2.20) sont tels que CAk B = CAk B pour tout
k. On en deduit que

Cm Ob = Cm Ob (6.7)
 
ou on a pose Cm = B . . . An1 B .
Comme on a des realisations commandables et observables, les rangs des matrices Ob Cm
et Ob Cm sont tels que (Ob Cm ) = n et (Ob Cm ) = n. Comme Cm Ob = Cm Ob , on a
n = n ce qui est contraire a lhypothese.
36 Chapitre 6 - Cas multivariable
Chapitre 7

Indications

7.1 Transformee de Laplace (p. 7)


7.2 Representations detat a temps continu (p. 11)
7.2.1 (Calcul de la matrice exponentielle (page 14))

1. Premiere relation :
n
X n
X
k1
(s) = s k (s)A k (s)Ak
k=1 k=1
n
X n1
X
= s1 (s)I + sk (s)Ak1 k (s)Ak An
k=2 k=1
n1
X
= s1 (s)I + (sk+1 (s) k (s)) Ak An
k=1
n1
X
= s1 (s)I + ak Ak An
k=1

Pn1
Or, An k=1 ak Ak = a0 I car A annule son polynome caracteristique :

(s) = s1 (s)I a0 I = (s)I

2. On deduit que :
Pn k1
1 k=1 k (s)A
(sI A) =
(s)

On en deduit que les k (t) sont les originaux des k (s)/(s).

3. (s) = s3 + 4s2 + 5s + 2. La forme commandable de la matrice detat est :



4 5 2
A= 1 0 0
0 1 0

37
38 Chapitre 7 - Indications


0 (s) = (s)
1 (s) = s2 + 4s + 5

La suite des k (s) est donnee par :
(s) = s + 4
2


3 (s) = 1
dou :

s2 + 4s + 5 s+4 1
(sI A)1 = 3 2
I+ 3 2
A+ 3 2
A2
s
 + 4s + 5s + 2  s + 4s + 5s + 2 s + 4s + 5s + 2
2 1
= + I
(s + 1)2 s + 2
 
3 2 2
+ + + A
(s + 1)2 s + 1 s + 2
 
1 1 1
+ 2
+ + A2
(s + 1) s+1 s+2

et :
  
eAt = 2tet + e2t I + 3tet 2et + 2e2t A + tet et + e2t A2

%===== tstmatexp.m
% verification de lexpression de exp(At)
A=[-4 -5 -2;1 0 0;0 1 0];
t=2;
Aexp1=expm(A*t)

a0=2*t*exp(-t)+exp(-2*t);
a1=3*t*exp(-t)-2*exp(-t)+2*exp(-2*t);
a2=t*exp(-t)-exp(-t)+exp(-2*t);

Aexp2=a0*eye(3,3)+a1*A+a2*A*A

7.3 Passage du temps continu au temps discret (page 21)


7.3.1 (Calcul des matrices detat (page 22) Nous devons calculer :
Z T
= eAu du B
Z0 T  
1 n n
= I + Au + + A u + du B
0 n!
T2 T n+1
= BT + AB + + An B +
2 (n + 1)!
Lexponentielle de matrice de Ae est :
A2
exp(Ae ) = I + Ae T + e T 2 +
  2!   
I 0 A B 1 An An1 B n
= + T + + T +
0T 1 0T 0 n! 0T 0
 

=
0T 0
ce qui permet de calculer simultanement le deux matrices et a laide de la fonction expm de
MATLAB . R
SI240 / 2007-2008 / GB 39
7.3.2 (Simulation en presence dun bloqueur dordre 0 (page 26))

1. On a :
Z T
= eAT et = eAu du B
0

2. A partir de letat X(kT ), on a une relation de recurrence semblable a celle qui permet de
construire X(kT + T ).
Z kT +
X(kT + ) = e A
X(kT ) + ekT + v BU (kT )dv
kT

qui conduit a des expressions similaires.

3. Simulation :

%===== REPETAT.M
clear
%===== Definition du systeme temps continu
atc=[-11/4 -11/8 -5/4;27/4 11/8 21/4;15/8 19/16 5/8];
btc=[1;-1;-1/2]; ctc=[3/8 1/2 -1/4];
%===== Parametres
T=.2; % Periode dechantillonnage
x0=[0;0;0]; % Etat initial
tpm=100; % Duree de simulation
Npts=tpm/T; tps=[0:T:(Npts-1)*T]; e=ones(1,Npts);
%===== Equivalent temps discret
Ae=[atc btc;zeros(1,4)]*T;
Aem=expm(Ae);
PHI=Aem(1:3,1:3); abs(eig(PHI))
PSI=Aem(1:3,4);
ctd=ctc;
%===== Simulation
x=x0; s=[ctd*x0]; m=[max(max(abs(x0)))]; zz=[x0];
for k=1:Npts-1
x=PHI*x+PSI*e(k); s(k+1)=ctd*x;
zz=[zz;x];
m(k+1)=max(max(abs(x)));
end
figure(1); subplot(211); plot(tps,m); grid
title(Norme du vecteur d etat)
subplot(212); plot(tps,s,x); grid
%===== Simulation par filtrage
nz=poly(PHI-PSI*ctd)-poly(PHI);
dz=poly(PHI);
s2=filter(nz,dz,e,x0);
hold on; plot(tps(1:Npts),s2,o); hold off
title(Sortie du filtre)
%figure(2); plot(zz);grid
%===== Verification avec la control toolbox
%[a,b,c,d]=c2dm(atc,btc,ctc,0,T,zoh);
%[nz2,dz2]=ss2tf(atc,btc,ctc,0);

4. Levolution du vecteur detat indique quil y a certainement instabilite. Si on augmente


le temps de traitement, par exemple en prenant tpm=1000, on voit apparatre linstabilite
sur la sortie.
40 Chapitre 7 - Indications

5. Le systeme de depart
1
G(s) =
p2 +p+1
est instable. Lequivalent temps discret lest aussi. Il y a simplification dune paire insta-
ble.
6. Le systeme diverge de toute facon a cause du bruit de calcul.

7.4 Representations detat a temps discret (page 23)


7.4.1 (Test PBH dobservabilite (page 25)) Soit v vecteur propre de A. On a Av = v.
Supposons que Cv=0. On peut alors ecrire :
CAv = Cv = 0
CA2 v = CAv = 0
..
.
CAn1 v = 0
La matrice Ob est donc singuliere, non-observabilite.
Supposons la paire (A, C) non observable. On sait quil existe une base dans laquelle on
peut representer le systeme sous la forme :
 
A11 0  
A= et C = C1 0 (7.1)
A21 A22
Un vecteur orthogonal a C peut etre choisi de la forme :
 
0
v=
w
avec w vecteur propre de A22 . Dans ce cas, on verifie bien que :
 
0
Av = = v
A22 w
On a donc bien trouve un tel vecteur.

7.4.2 (Critere de Sylvester (page 26)) On peut aboutir a ce resultat suivant plusieurs
methodes, par exemple :
En partant de la seconde forme, on multiplie a droite par la matrice :
n+m1
z 0 ... 0
z n+m2 1 . . . 0

R= .. (7.2)
.
1 0 ... 1
et on evalue le determinant du produit de deux facons.

det(S)det(R) = z n+m1 = det(SR) = A(z)Q(z) + B(z)P (z) (7.3)

ou degre(P ) n 1 et degre(Q) m 1. On en deduit que lexistence dun facteur


commun ne peut avoir lieu que si det(S) = 0.
SI240 / 2007-2008 / GB 41
 
En partant de la premiere forme, on multiplie a gauche par un vecteur ligne X Y avec
X(1 (m 1)) et Y (1 (n 1)). La resolution de lequation :
 
  XA
X Y S=0 =0 (7.4)
Y B

ou est le produit de convolution (X A est un vecteur colonne contenant les coefficients


du produit des polynomes A(z) et X(z)). 7.4 donne lequation polynomiale X(z)A(z) +
Y (z)B(z) = 0. A(z) et B(z) premiers entre eux est alors equivalent a det(S) 6= 0.

7.5 Structure des filtres (page 29)


7.6 Cas multivariable (page 33)
42 Chapitre 7 - Indications
Bibliographie

[1] M. Bellanger. Traitement Numerique du Signal. Dunod, 1998.

[2] G. Blanchet. Commande et temps discret : illustration sous Matlab. Hermes, 2003.

[3] G. Blanchet and M. Charbit. Digital Signal and Image Processing. ISTE, 2006.

[4] T. Kailath. Linear Systems. Prentice Hall, Englewood Cliffs, 1980.

43
Index

etat observable, 24 de reponse impulsionnelle, 24

accessibilite, 18, 25 observable, 24

BIBO, 8 pole, 8
parametres
commandable de Markov, 15, 24
etat, 16 prewarping, 21
systeme, 16 Programme
compagnon, 12 exple1.m, 17
constructibilite, 25
controle reponse impulsionnelle, 8
en boucle ouverte, 8 representation detat, 11

Equation Single Input-Single Output, 12


detat, 30 SISO, 12
Etat (dun filtre), 30 solution
causale, 7
Filtre lineaire generale, 14
etat, 30 particuliere, 14
fonction stabilite
sylvester.m, 25 entree bornee-sortie bornee, 8
fonction de transfert, 8, 9 stabilite
forme BIBO, 8
compagnon, 12 EBSB, 8
controleur, 12 systeme
non commandable, 19, 35 invariant, 11
non observable, 19, 35 strictement propre, 12
observateur, 13
forme observable, 24 transformee
frequence de Laplace, 7
pivot, 21 transformation
bilineaire, 21
gain complexe, 8 dEuler, 21
de Tustin, 21
indice
dobservabilite, 35 vecteur detat, 11
de commandabilite, 35
invariant, 11

matrice
dobservabilite, 18, 24
de Sylvester, 25

44

Vous aimerez peut-être aussi