Vous êtes sur la page 1sur 46

Observation

Frdric Rotella
Ecole Nationale dIngnieurs de Tarbes
rotella@enit.fr
Table des matires
1 Principe des observateurs 3
2 Utilisation en boucle ferme 5
2.1 Principe de sparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Forme RST du rgulateur-observateur . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Dtermination du gain de lobservateur 8
3.1 Cas monosortie (l = 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 Calcul direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 Formule de Bass et Gura . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Cas multisortie (l > 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Mthode LTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4 Systmes discrets 14
4.1 Observateurs prdicteurs ou correcteurs . . . . . . . . . . . . . . . . . . . . . . . 14
4.1.1 Observateur - prdicteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.2 Observateur - correcteur . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.1.3 Remarques sur les observateurs de systmes discrets . . . . . . . . . . . . 16
5 Simplication des observateurs 17
5.1 Observateur dordre rduit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.1 Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 Observation dune fonction linaire de ltat . . . . . . . . . . . . . . . . . . . . 20
5.2.1 Rduction de lordre de lobservateur . . . . . . . . . . . . . . . . . . . . 20
5.2.2 Structure gnrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
5.2.3 Dtermination de lobservateur . . . . . . . . . . . . . . . . . . . . . . . 23
1
F. Rotella Observateurs
5.3 Utilisation en boucle ferme et robustesse . . . . . . . . . . . . . . . . . . . . . . 25
5.3.1 Principe de sparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3.2 Forme RST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3.3 Robustesse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6 Applications des observateurs 26
6.1 Observateurs entres inconnues . . . . . . . . . . . . . . . . . . . . . . . . . . 27
6.1.1 Estimation des entres inconnues . . . . . . . . . . . . . . . . . . . . . . 29
6.1.2 Mesures dpendant des entres inconnues . . . . . . . . . . . . . . . . . . 29
6.2 Dtection de dfauts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7 Annexe : Algorithme de Luenberger 31
7.1 Forme canonique commandable . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
7.2 Forme canonique observable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
8 Annexe B : Formes canoniques de matrices 35
8.1 Forme de Smith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
8.2 Dcomposition en valeurs singulires . . . . . . . . . . . . . . . . . . . . . . . . 37
9 Annexe C : Inverses gnralises et systmes linaires 40
9.1 Inverse gnralise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
9.2 Application aux systmes linaires . . . . . . . . . . . . . . . . . . . . . . . . . . 41
9.3 Pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.3.1 Notion de pseudo-inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
9.3.2 Formes explicites de la pseudo-inverse . . . . . . . . . . . . . . . . . . . . 42
9.3.3 Quelques proprits de la pseudo-inverse . . . . . . . . . . . . . . . . . . 43
9.3.4 Algorithme de Greville-Albert-Sittler . . . . . . . . . . . . . . . . . . . . 44
9.3.5 Application aux systmes linaires incompatibles . . . . . . . . . . . . . 44
9.3.6 Rsolution dun systme linaire . . . . . . . . . . . . . . . . . . . . . . . 44
Rfrences 44
2
F. Rotella Observateurs
Processus Reconstructeur
Modle dtat x
-
-
-
-
?
entres
sorties
x
estimation
de x
Fig. 1 Principe dun estimateur.
De nombreuses mthodes de commande des processus utilisent le principe du retour dtat
(commande optimale, dcouplage, placement de ples,. . . ). Comme dans la plupart des cas, les
seules grandeurs accessibles du systme sont les variables dentre et de sortie, il est ncessaire,
partir de ces informations, de reconstruire ltat du modle choisi pour laborer la commande.
Un reconstructeur dtat ou estimateur est un systme (gure 1) ayant comme entres les
entres et les sorties du processus rel et dont la sortie est une estimation de ltat de ce
processus.
Sous lhypothse de linarit du modle du processus, la structure de base de lestimateur
est toujours la mme, mais sa ralisation dpendra du contexte choisi : continu ou discret,
dterministe ou stochastique.
Dans le cas o ce modle est un modle dterministe, le reconstructeur dtat sera appel
observateur, ce qui sera lobjet de ce cours. Dans le cas de systmes bruits, o interviennent
des phnomnes alatoires, nous parlerons alors de ltre et cela constitue lobjet du cours sur
le ltre de Kalman.
1 Principe des observateurs
Soit un systme continu dcrit par lquation dtat (dterministe car non bruite) :
x(t) = Ax(t) +Bu(t),
y(t) = Cx(t) +Du(t),
(1)
o u(t), y(t) et x(t) sont des vecteurs de dimension m, l et n et reprsentent respectivement
la commande, la sortie (mesure) et ltat du systme. Les matrices A, B, C et D sont des
matrices constantes de dimensions convenables.
3
F. Rotella Observateurs
Comme ltat nest en gnral pas accessible, lobjectif dun observateur consiste, en vue de
raliser une commande par retour dtat, destimer cet tat par une variable que nous noterons
x(t). Cette estimation est ralise par un systme dynamique dont la sortie sera prcisment
x(t) et lentre sera constitue de lensemble des informations disponibles, cest--dire u(t) et
y(t). La structure dun observateur est de la forme :

x (t) = A x(t) +Bu(t) +L(y(t) y(t)),


y(t) = C x(t) +Du(t),
o apparait clairement le terme correctif en fonction de lerreur de reconstruction de la sortie,
y(t) y(t), et le gain de correction, L, appel gain de lobservateur est dterminer. Cette
structure peut tre crite sous la forme :

x (t) = (ALC) x(t) + (B LD)u(t) +Ly(t).


Si on considre lerreur destimation :
x(t) = x(t) x(t),
on obtient :

x (t) = (ALC) x(t),


ce qui conduit lvolution de lerreur destimation partir de la condition initiale x(0) =
x(0) x(0), qui est non nulle de faon gnrale parce que ltat est a priori inaccesible :
x(t) = exp [(ALC)t] x(0).
Pour que lobservateur soit utilisable il est ncessaire que cette erreur tende vers 0 lorsque
t augmente. Lorsque cette proprit est satisfaite lobservateur est dit asymptotique, mais il
est vident que cest une proprit ncessaire au fonctionnement correct dun observateur. En
consquence il faudra choisir L telle que les valeurs propres de la matrice ALC soient toutes
partie relle strictement ngative.
Thorme 1 Les valeurs propres de ALC peuvent tre xes arbitrairement si et seulement
si la paire (A, C) est observable, i.e. :
rang
_
_
_
_
_
_
_
_

_
C
CA
CA
2
.
.
.
CA
(n1)
_

_
_
_
_
_
_
_
_
= n.
4
F. Rotella Observateurs
processus
(A, B, C, D)
+

K
B LD
L
ALC
R
6
- - -
?
?
- - -
6

Gv(t)
u(t)
y(t)
x(t)


u
+
Fig. 2 Commande par rgulateur-observateur.
Dans ce cas, une grande libert est laisse au choix des valeurs propres, mais en pratique on
choisit une dynamique derreur plus rapide que celle du processus dans le cas dune observation
en boucle ouverte ou que celle dsire en boucle ferme. Cependant on ne peut les prendre
inniment grandes pour deux raisons essentielles : on ne peut utiliser que des gains ralisables
et laugmentation de la bande passante du reconstructeur ne permet plus de ngliger les bruits
qui deviennent prpondrants en haute frquence.
2 Utilisation en boucle ferme
En supposant que tout ltat soit accessible, la commande par retour dtat que lon veut
mettre en uvre est de la forme :
u(t) = Gv(t) Kx(t),
o v(t) est la nouvelle entre, K est le gain de retour dtat qui est dni par la structure
dsire pour le systme boucl (i.e. A BK), et G un gain de prbouclage qui est calcul en
gnral en fonction du gain statique dsir.
Comme ltat nest pas accessible, la commande rellement mis en uvre devient :
u(t) = Gv(t) K x(t), (2)
et nous allons voir les consquences dutiliser la structure de commande par rgulateur-observateur
dcrite dans la gure 2.
5
F. Rotella Observateurs
2.1 Principe de sparation
Lutilisation de (2) dans (1) conduit lquation dtat du systme en boucle ferme :
"
x(t)

x (t)
#
=

ABK BK
0 ALC

x(t)
x(t)

BG
0

v(t),
y(t) =

C DK DK

x(t)
x(t)

+DGv(t).
De ces relations on dduit deux consquences :
le principe de sparation : les dynamiques du systme command par un rgulateur-
observateur en boucle ferme, i.e. les valeurs propres de la matrice :

ABK BK
0 ALC

sont constitues de la runion de celles dsires en boucle ferme et celles de lobservateur.


Ainsi on peut rgler de faon indpendante le problme de la rgulation et le problme
de lobservation;
la non observabilit et non commandabilit de lobservateur : si lon calcule le transfert
obtenu laide de la structure rgulateur-observateur, on arrive :
T
BF
(p) = DG+

C DK DK

pI A+BK BK
0 pI A+LC

BG
0

,
= DG+ (C DK)(pI A+BK)
1
BG,
cest--dire le transfert que lon aurait obtenu si on avait utilis le retour dtat avec accs
complet ltat.
2.2 Robustesse
Toute utilisation dun rgulateur dynamique implique une dgradation des marges de sta-
bilit, et un rgulateur-observateur ne fait pas exception cette rgle. Nous allons voir dans ce
paragraphe comment juger de la robustesse en stabilit du rgulateur-observateur construit ce
qui sera un guide dans le choix du gain de lobservateur. Si les marges obtenues, par un trac
frquentiel, ne sont pas satisfaisantes il conviendra de modier la dynamique de lobservateur.
Le transfert calculer est celui obtenu lorsque lon ouvre la boucle juste avant la commande
que lon applique au systme, i.e. des variables u
+
aux variables u

, sur la gure 2, lorsque


le lien entre les deux ()est ouvert.
On a les relations :
u

(t) = Gv(t) K x(t),

x (t) = (ALC) x(t) + (B LD)u

(t) +Ly(t),
6
F. Rotella Observateurs
ce qui conduit au transfert entre y(t) et u

(t) :
T
y(t)u

(t)
= K(pI A+LC +BK LDK)
1
L.
Ainsi le transfert de u
+
(t) vers u

(t) scrit :
T
BO
(p) = K(pI A+LC +BK LDK)
1
L

D +C(pI A)
1
B

.
Notons que ce transfert est galement comparer au transfert idal de la boucle ouverte
que lon obtiendrait si lon avait accs ltat, soit :
T

BO
(p) = K(pI A)
1
B,
Si lon veut que T
BO
(p) soit aussi proche que possible de T

BO
(p) il faut choisir K et L tels
que :
K(pI A+LC +BK LDK)
1
LC ' K,
K(pI A+LC +BK LDK)
1
LD ' 0.
Le principe de dtermination des gains reposant sur cette technique sappelle le recouvre-
ment de transfert de boucle (Loop Transfer Recovery) et sera dcrit ultrieurement.
2.3 Forme RST du rgulateur-observateur
En reprenant les calculs prcdents on obtient que la commande fournie par le rgulateur-
observateur scrit sous la forme :
u(t) = T
v
(p)v(t) T
y
(t)y(t),
o :
T
v
(p) = (I K(pI A+LC +BK LDK)
1
(B LD))G,
T
y
(t) = K(pI A+LC +BK LDK)
1
L.
En notant (p) = det (pIA+LC+BKLDK), et M(p) = K [Com(pI A+LC +BK LDK)]
T
on obtient la commande crite sous une forme RST :
S(p)u(t) = T(p)v(t) R(p)y(t),
avec :
S(p) = (p)I,
T(p) = ((p)I M(p)(B LD))G,
R(p) = M(p)L.
Dornavant, et parce que cela est vri pour la plupart des processus nous supposerons,
pour simplier les expressions, que D = 0. Dans le cas o D est non nul, une mthode simple
permettant sans aucun changement dutiliser les rsultats qui suivent est de construire le nou-
veau vecteur de mesures Y (t) = y(t) Du(t) = Cx(t).
7
F. Rotella Observateurs
3 Dtermination du gain de lobservateur
Comme nous lavons vu le gain de lobservateur est x daprs le choix des valeurs propres
de la matrice ALC. Mais comme :
det(pI A+LC) = det(pI A
T
+C
T
L
T
),
les mthodes que lon utilise sont directement transposes des mthodes utilises pour trouver
un gain de retour dtat qui place les ples du systme boucl. Dans ce qui suit nous noterons
par a(p) = det(pI A) = p
n
+
P
n1
i=0
a
i
p
i
et a(p) le polynme reprsentant les dynamiques
dsires pour lobservateur :
a(p) =
n
Y
i=1
(p
i
) = p
n
+
n1
X
i=0
a
i
p
i
,
o les
i
sont les valeurs propres dsires pour ALC.
3.1 Cas monosortie (l = 1)
Il sagit de dterminer les n composantes du vecteur L :
L =
_

_
l
1
l
2
.
.
.
l
n
_

_
.
Cela peut tre fait directement ou par la formule de Bass et Gura qui permet la construction
dun algorithme.
3.1.1 Calcul direct
En dveloppant det(pI A+LC) on obtient :
det(pI A+LC) = p
n
+
n1
X
i=0
f
i
(l
1
, . . . , l
n
)p
i
,
o les f
i
(l
1
, . . . , l
n
) sont n formes linaires en les inconnues l
1
, . . . , l
n
, cest--dire que lon peut
crire, pour i = 0, . . . , n 1, f
i
(l
1
, . . . , l
n
) = F
i
L. Les n galits :
i = 0, . . . , n 1, f
i
(l
1
, . . . , l
n
) = a
i
,
conduisent :
FL = a,
8
F. Rotella Observateurs
o :
F =
_

_
F
0
F
1
.
.
.
F
n1
_

_
, a =
_

_
a
0
a
1
.
.
.
a
n1
_

_
.
On obtient donc le gain par :
L = F
1
a.
3.1.2 Formule de Bass et Gura
On peut crire :
a(p) = det(pI A+LC) = a(p) det(I (pI A)
1
LC),
et comme det(I MN) = det(I NM), on obtient :
a(p) = a(p) det(1 C(pI A)
1
L) = a(p) a(p)C(pI A)
1
L.
Or la formule de Leverrier-Souriau donne :
a(p)(pI A)
1
= p
n1
I + (A+a
n1
I)p
n2
+
(A
2
+a
n1
A+a
n2
I)p
n3
+ +
(A
n1
+a
n1
A
n2
+ +a
2
A+a
1
I),
ce qui permet dobtenir, en notant :
a =
_

_
a
n1
a
n1
a
n2
a
n2
.
.
.
a
0
a
0
_

_
,
les relations :
a
n1
a
n1
= CL,
a
n2
a
n2
= CAL +a
n1
CL,
a
n3
a
n3
= CA
2
L +a
n1
CAL +a
n2
CL,
.
.
.
a
0
a
0
= CA
n1
L +a
n1
CA
n2
L + +a
2
CAL +a
1
CL.
Cet ensemble de relations se met sous la forme matricielle :
a = T
A
O
(A,C)
L,
9
F. Rotella Observateurs
o :
T
A
=
_

_
1 0 0
a
n1
1 0 0
a
n2
a
n1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 1 0
a
1
a
2
a
n1
1
_

_
, O
(A,C)
=
_

_
C
CA
CA
2
.
.
.
CA
n1
_

_
.
Lorsque la paire (A, C) est observable, O
(A,C)
est rgulire et on obtient :
L = O
1
(A,C)
T
1
A
a.
3.2 Cas multisortie (l > 1)
Le cas plusieurs sorties ne peut tre trait directement car on arriverait un systme,
toujours linaire mais de n quations et nl inconnues, les composantes de L. Pour viter
le problme du choix des inconnues principales et des inconnues secondaires de ce systme
surdtermin, nous allons passer par une forme plus simple de lquation dtat. Cette mthode
peut tre vue comme une gnralisation de la formule de Bass et Gura.
Suivant lannexe sur les formes canoniques, lorsque le systme est observable, on peut, par
les changements de variables : x
O
= T
O
x et y = H
O
y
O
, ramener lquation dtat (1) sous la
forme canonique observable de Luenberger :
x
O
(t) = A
O
x
O
(t) +B
O
u(t),
y
O
(t) = C
O
x
O
(t),
(3)
o A
O
= T
O
AT
1
O
, B
O
= T
O
B, et C
O
= H
1
O
CT
1
O
, mais o les matrices A
O
, C
O
et H
O
possdent les structures suivantes :
A
O
est forme de l
2
sous-matrices A
ij
O
, i = 1 l, j = 1 :
A
O
=
_

_
A
11
O
A
1l
O
.
.
.
.
.
.
A
l1
O
A
ll
O
_

_
,
qui sont de taille (
i

j
) o les
k
sont les l indices dobservabilit qui vrient
P
l
k=1

k
=
n. De plus, ces sous-matrices ont la forme :
A
ii
O
=
_

_
0 0
1
.
.
.
.
.
.
0
.
.
.
0
.
.
.
0 0 1
_

_
, et pour i 6= j, A
ij
O
=
_

_
0 0
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
0 0
_

_
;
10
F. Rotella Observateurs
C
O
est forme de l sous-matrices C
i
O
, i = 1 l :
C
O
=

C
1
O
C
l
O

,
qui sont de taille (l
i
) et qui ont des composantes toutes nulles sauf la composante
(C
i
O
)
i,
i
qui est gale 1;
H
O
est une matrice (l l) qui a pour structure :
H
O
=
_

_
1 0 0
1
.
.
.
.
.
.
.
.
.
.
.
.
0
1
_

_
.
Les composantes signicatives des matrices (notes ici ) et les indices dobservabilit sont
donns par lapplication de lalgorithme de Luenberger de construction de la forme canonique.
Ltape suivante consiste crire :
a(p) = det(pI A+LC),
= det(pI T
1
O
A
O
T
O
+LH
O
C
O
T
O
),
= det(pI A
O
+L
O
C
O
),
avec L
O
= T
O
LH
O
et organiser ce nouveau gain sous la forme :
L
O
=
_

_
L
11
O
L
1l
O
.
.
.
.
.
.
L
l1
O
L
ll
O
_

_
,
o les L
ij
O
, i = 1 l, j = 1 sont des vecteurs de dimensions (
i
1). Lorsque lon ralise alors
lopration A
O
L
O
C
O
on saperoit que lon peut xer les vecteurs L
ij
O
par les rgles suivantes :
les vecteurs L
ij
O
avec i 6= j sont gaux la dernire colonne de la matrice A
ij
O
, ce qui rend
A
O
diagonale par blocs ;
on dcompose le polynme caractristique dsir, soit a(p) en l polynmes a
i
(p), chacun
de degr
i
:
a(p) =
l
Y
i=1
a
i
(p);
les l relations :
det(pI A
ii
O
+L
ii
O
[ 0 0 1 ]) = a
i
(p),
fournissent directement les L
ii
O
.
Ayant obtenu L
O
, on obtient L par :
L = T
1
O
L
O
H
1
O
.
11
F. Rotella Observateurs
3.3 Mthode LTR
Une mthode de rglage du gain de retour dtat est base sur la minimisation du critre :
J =
Z

0
(u
T
Ru +x
T
Qx)dt, (4)
o R et Q sont deux matrices dnies positives et conduit au gain optimal :
K = R
1
B
T
P,
o P est solution de lquation algbrique de Riccati :
A
T
P +PAPBR
1
B
T
P +Q = 0.
Par dualit on peut proposer une forme optimale pour le gain de lobservateur sous la
forme :
L = C
T

1
,
o est solution de lquation algbrique de Riccati :
A+A
T
C
T

1
C+ = 0,
o et sont deux matrices dnies positives. Dans le cadre du ltrage optimal on peut
donner une interprtation ces matrices, mais ce point de vue sert surtout de point de dpart
la technique de recouvrement de transfert de boucle que nous avons voqu plus haut. Cette
technique est avantageuse car elle assure une bonne robustesse en stabilit, cependant elle nest
utilisable que sur les systmes carrs minimum de phase, cest--dire sur ceux dont les zros
du transfert initial :
F(p) = C(pI A)
1
B,
sont tous partie relle ngative.
La procdure LTR consiste poser :
= BB
T
+
2
M,
=
2
N,
o M et N sont dnies positives et un petit paramtre que lon va faire tendre vers 0. Dans
ces conditions lquation algbrique de Riccati devient :
A+A
T
C
T
(
2
N)
1
C+BB
T
+
2
M = 0,
et le gain :
L = C
T
(
2
N)
1
. (5)
On en dduit :
C
T
N
1
C =
2
(A+A
T
+BB
T
) +
4
M,
12
F. Rotella Observateurs
soit :
lim
0
= 0 et lim
0
L(
2
N)L
T
= BB
T
.
Ainsi :
lim
0
L =
1

BUN
1/2
,
o U est une matrice carre orthogonale, UU
T
= I, et N
1/2
est une racine carre de N,
N = N
1/2
(N
1/2
)
T
.
Remarque : il existe une innit de racine carres dune matrice dnie positive. On peut
cependant en proposer une dexpression simple. En eet, N tant dnie positive, il existe une
matrice orthogonale, V, et une matrice diagonale positive, = diag {d
i
, d
i
> 0} , telles que
N = V V
T
. En posant

= diag

d
i

, on peut crire :
N
1/2
= V

V
T
.
Dans ces conditions, il vient :
lim
0
L =
1

BW

1
V
T
,
o W est une matrice orthogonale arbitraire.
Maintenant il sagit de montrer que lorsque tend vers 0, le transfert T
BO
(p) :
T
BO
(p) = K(pI A+LC +BK)
1
LC(pI A)
1
B,
tend vers le transfert idal T

BO
(p) = K(pI A)
1
B. Pour ce faire, posons :
= (pI A+BK)
1
.
Alors, lutilisation du lemme dinversion matricielle :
(A+BCD)
1
= A
1
A
1
B(C
1
+DA
1
B)
1
DA
1
,
conduit crire :
T
BO
(p) = KL[I +CL]
1
F(p).
Lorsque tend vers 0, le transfert T
BO
(p) tend vers :
K
1

BUN
1/2
[I +C
1

BUN
1/2
]
1
F(p)
= KBUN
1/2
[I +CBUN
1/2
]
1
F(p)
KB[CB]
1
F(p).
Dautre part, toujours en utilisant le lemme dinversion matricielle, on a :
= (pI A)
1
(pI A)
1
B[I +T

BO
(p)]
1
K(pI A)
1
,
13
F. Rotella Observateurs
ce qui conduit aux relations :
KB = T

BO
(p)[I +T

BO
(p)]
1
,
CB = F(p)[I +T

BO
(p)]
1
.
Ainsi, lorsque F(p) est dinverse stable :
KB[CB]
1
F(p) = T

BO
(p).
En rsum la procdure LTR se droule suivant les tapes :
1. On calcule K par la minimisation dun critre linaire quadratique (4). Cela nest pas
obligatoire mais cela permet dassurer de bonnes marges de robustesse a priori.
2. On calcule un gain optimal (5) avec = BB
T
+
2
M, =
2
N o est x une valeur
arbitraire.
3. On trace les caractristiques frquentielles obtenues avec T
BO
(j).
4. On mesure les marges de robustesse. Si elles sont satisfaisantes on garde les gains trouvs
sinon on revient la deuxime tape en diminuant .
4 Systmes discrets
4.1 Observateurs prdicteurs ou correcteurs
Considrons le systme discret stationnaire dni par :
x
k+1
= Ax
k
+Bu
k
,
y
k
= Cx
k
,
o k N, x
k
R
n
est ltat du modle, u
k
R
m
, lentre du processus, y
k
R
l
, la sortie
mesure du processus, et A, B et C sont des matrices de dimensions adaptes.
On construit un observateur pour ce systme par le principe nonc dans le cas des systmes
continus, cest--dire :
x
k+1
= A x
k
+Bu
k
+G
k
,
o G
k
est un terme de correction, seulement ici nous distinguerons plusieurs types de corrections
donc dobservateurs suivant que la mesure est disponible linstant prcdent lestimation ou
linstant de lestimation. Dans le premier cas nous construirons un observateur-prdicteur
donnant une estimation de ltat linstant k + 1 daprs ce que lon connait linstant k,
nous noterons x
k+1/k
cette prdiction. Dans le deuxime cas, nous construirons un observateur-
correcteur, lestimation de ltat sera alors note x
k+1/k+1
.
14
F. Rotella Observateurs
4.1.1 Observateur - prdicteur
Dans ce premier cas on envisage G
k
= L
p
[y
k
y
k/k1
], o L
p
est un gain, ce qui conduit au
reconstructeur dtat dni par :
x
k+1/k
= A x
k/k1
+Bu
k
+L
p
[y
k
y
k/k1
],
avec y
k/k1
= C x
k/k1
. Ce qui peut scrire galement :
x
k+1/k
= [AK
p
C] x
k/k1
+Bu
k
+L
p
y
k
.
Cette structure est identique celle obtenue dans le cas des systmes continus. En notant
x
k+1/k
lerreur de reconstruction x
k+1
x
k+1/k
, il vient :
x
k+1/k
= [AL
p
C] x
k/k1
.
Le reconstructeur est asymptotique si le gain L
p
est choisi tel que les valeurs propres de la
matrice AL
p
C sont, en module, infrieures lunit (on a alors une matrice de Schur). Dans
le cas o la paire (A, C) est observable, ces valeurs propres peuvent tre xes arbitrairement
laide des techniques abordes dans la partie prcdente.
4.1.2 Observateur - correcteur
Dans le cas o y
k+1
est connue, on peut envisager que G
k
= L
c
[y
k+1
y
k+1
], o L
c
est un
gain et y
k+1
reprsente lestimation de la sortie linstant k + 1 qui peut tre ralise de deux
faons direntes : par anticipation ou par prdiction. Lestimation de x
k+1
est fournie par le
reconstructeur :
x
k+1/k+1
= A x
k/k
+Bu
k
+L
c
[y
k+1
y
k+1
].
Anticipation Si on suppose connue x
k+1/k+1
, on pose dans ce cas :
y
k+1
= C x
k+1/k+1
,
ce qui conduit crire lobservateur, sous la forme :
x
k+1/k+1
= [I +L
c
C]
1
[A x
k/k
+Bu
k
+L
c
y
k+1
].
Lerreur de reconstruction, x
k+1/k+1
= x
k+1
x
k+1/k+1
, est dnie par lquation rcurrente :
x
k+1/k+1
= [I +L
c
C]
1
A x
k/k
.
Pour obtenir un reconstructeur asymptotique, L
c
doit tre choisie telle que [I + L
c
C]
1
A
soit une matrice de Schur. Cela nest pas toujours possible et cest ce qui rend cette forme
dobservateur peu utilise en pratique.
15
F. Rotella Observateurs
Prdiction Dans ce cas, y
k+1
est la meilleure estimation que lon puisse faire de la sortie
partir de linformation disponible avant le calcul de x
k+1/k+1
. On pose donc :
y
k+1
= C[A x
k/k
+Bu
k
],
ce qui conduit la deuxime forme de reconstructeur-correcteur :
x
k+1/k+1
= [I L
c
C][A x
k/k
+Bu
k
] +L
c
y
k+1
.
Avec les mmes notations que prcdemment, lerreur de reconstruction est rgie par lqua-
tion :
x
k+1/k+1
= [I L
c
C]A x
k/k
,
Si le gain L
c
est choisi tel que [I L
c
C]A soit de Schur, le reconstructeur obtenu sera
asymptotique. Lorsque la paire (A, CA) est observable, il est toujours possible de trouver L
c
correspondant des dynamiques xes a priori pour lerreur. Cependant, on peut remarquer
que lon a :
O
(A,CA)
=
_

_
CA
CA
2
.
.
.
CA
n
_

_
=
_

_
C
CA
.
.
.
CA
n1
_

_
A = O
(A,C)
A,
soit, si la paire (A, C) est observable, daprs les ingalits de Sylvester, rang (O
(A,CA)
) = rang
A. Ainsi cet observateur ne sera pas utilis lorsque A a une valeur propre nulle, car on a une
perte dobservabilit.
4.1.3 Remarques sur les observateurs de systmes discrets
Quel que soit le type dobservateur choisi, le principe de sparation nonc dans le cas
des systmes continus reste valide : commande par retour dtat et observateur (prdicteur ou
correcteur) peuvent tre dtermins sparment.
Comme dans le cas continu, deux approches existent pour le choix du gain du reconstructeur
dtat, lune base sur la notion de placement de ples, lautre base sur la minimisation dun
critre quadratique associ, la procdure LTR pouvant galement tre applique.
Cependant, dans le cas des systmes discrets, il existe un choix particulirement intressant
qui consiste dterminer L tel que la matrice ALC soit nilpotente, cest dire que toutes ses
valeurs propres soient nulles. En eet, dans ce cas on obtient un observateur rponse pile o
lerreur est exactement nulle au bout de max {
i
} pas o les
i
sont les indices dobesrvabilit.
Notons la dirence avec un observateur asymptotique o lerreur destimation tend vers 0.
Pour calculer le gain L correspondant on reprend la technique dveloppe dans le cas continu
et il sut de prendre L
O
telle que toutes les composantes signicatives de A
O
L
O
C
O
soient
nulles.
16
F. Rotella Observateurs
Une autre technique mais qui ne demande pas de passage par la forme canonique observable
consiste faire les remarques suivantes :
Y
k
=
_

_
y
k
y
k+1
.
.
.
y
k+n1
_

_
= O
(A,C)
x
k
+MU
k
,
o :
U
k
=
_

_
u
k
u
k+1
.
.
.
u
k+n2
_

_
, M =
_

_
0 0
CB
.
.
.
.
.
.
.
.
.
.
.
.
0
CA
n2
B CB
_

_
,
soit, si le systme est observable :
x
k
= O
1
(A,C)
(Y
k
MU
k
).
Cependant, cet obervateur ntant pas ralisable, il convient de remarquer galement que :
x
k
= Ax
k1
+Bu
k1
,
= A
2
x
k2
+ABu
k2
+Bu
k1
,
.
.
.
= A
n1
x
kn+1
+
n1
X
i=1
A
i1
Bu
ki
,
= A
n1
x
kn+1
+U
kn+1
,
o =

A
n2
B AB B

. Or x
kn+1
= O
1
(A,C)
(Y
kn+1
MU
kn+1
), ce qui conduit
lobservateur ralisable :
x
k
= A
n1
O
1
(A,C)
Y
kn+1
+

A
n1
O
1
(A,C)
M

U
kn+1
.
5 Simplication des observateurs
Dans les parties prcdentes, nous avons dtermin des systmes observateurs de mme di-
mension que ltat du systme reconstruire. Nous allons montrer que lon peut construire,
en ralit, des reconstructeurs dordre infrieur. Plusieurs principes peuvent tre utiliss. Nous
regarderons successivement : le reconstructeur rduit de Luenberger qui estime la partie non
accessible de ltat et les observateurs de fonctionnelles linaires de ltat qui permettent des-
timer directement la commande lorsque celle-ci est un retour dtat linaire. Nous verrons que
si dans le premier cas lobservateur est assez facile dterminer, il nen est pas de mme dans
le deuxime. Cependant cette dernire solution est trs intressante car elle permet dobtenir
des observateurs de taille beaucoup plus petite (la minimalit est encore un problme ouvert)
et donc daugmenter la robustesse dune rgulation par rgulateur-observateur.
17
F. Rotella Observateurs
5.1 Observateur dordre rduit
5.1.1 Construction
Cet observateur, appel observateur de Luenberger, utilise le fait que la matrice dob-
servation soit de rang plein. Cette hypothse nest pas restrictive car il sut alors dliminer
les composantes de la sortie redondantes. Soit le systme (1) avec D = 0, et o aprs une
permutation des variables dtat, les matrices A, B, C, et le vecteur x sont de la forme :
A =

A
11
A
12
A
21
A
22

, B =

B
1
B
2

,
C =

C
1
C
2

, x =

x
1
x
2

,
o rang C
1
= l, A
11
et C
1
R
ll
, x
1
R
l
, et B
1
R
lm
.
Le changement de variables :
x =

C
1
C
2
0 I
nl

x,
transforme le systme (1) en :

x(t) =

A x(t) +

Bu(t),
y(t) =

C x(t),
(6)
o :
x =

x
1
x
2

,

A =


A
11

A
12

A
21

A
22

,

B =

B
1
B
2

,

C =

I
m
0

.
Ces matrices sont dnies par :

A
11
= [C
1
A
11
+C
2
A
21
]C
1
1
,

A
12
=

A
11
C
2
+ [C
1
A
12
+C
2
A
22
],

A
21
= A
21
C
1
1
,

A
22
= A
22
A
21
C
1
1
C
2
,

B
1
= C
1
B
1
+C
2
B
2
.
Lquation dtat (6) scrit donc sous la forme :

x
1
(t) =

A
11
x
1
(t) +

A
12
x
2
(t) +

B
1
u(t),

x
2
(t) =

A
21
x
1
(t) +

A
22
x
2
(t) +B
2
u(t),
y(t) = x
1
(t),
(7)
o la sortie correspond aux l premires composantes dtat, elles nont donc pas tre re-
construites. La premire quation de (7) peut alors tre considre comme une mesure (t)
dpendant de x
2
(t), variables dtat reconstruire, et de u(t) :
(t) =

x
1
(t)

A
11
x
1
(t) =

A
12
x
2
(t) +

B
1
u(t).
18
F. Rotella Observateurs
Suivant le principe de construction des observateurs, on peut proposer comme reconstructeur
de x
2
(t), le vecteur v(t) dni par :

v(t) =

A
21
x
1
(t) +

A
22
v(t) +B
2
u(t) +

L[(t)

(t)],
x
1
(t) = y(t),

(t) =

A
12
v(t) +

B
1
u(t).
Linconvnient de cette structure est de ncessiter, pour laborer la mesure (t), la drivation
de la sortie relle y(t). De faon contourner cette dicult, on dnit la variable :
z(t) = v(t)

Ly(t),
ce qui permet dobtenir :

z(t) =

v(t)

K

x
1
(t),
=

A
21
x
1
(t) +

A
22
v(t) +B
2
u(t)

L[

A
11
x
1
(t) +

A
12
v(t) +

B
1
u(t)],
(8)
o napparat aucune drivation de la sortie. En tenant compte du fait que v(t) = z(t) +

Ly(t)
et x
1
(t) = y(t), (8) se rcrit sous la forme :

z(t) =

M z(t) +

Nu(t) +

Py(t),

M =

A
22


L

A
12
,

N = B
2


L

B
1
,

P =

A
21
+

A
22

L

L

A
11


L

A
12

L.
(9)
Cette quation dtat dnit un observateur rduit (dordre n l) pour le systme (7), la
variable x
2
(t) tant reconstruite par :
v(t) = z(t) +

Ly(t),
o

L est la matrice ((n l) l) de gain de cet observateur. Notons lerreur dobservation
e(t) = x
2
(t) v(t), il vient :
e(t) =

Me(t),
Ainsi, lorsque la paire (

A
22
,

A
12
) est observable les valeurs propres de

M peuvent tre xes
arbitrairement par un choix convenable de

L.
Thorme 2 Si (A, C) est observable, alors (

A
22
,

A
12
) est observable.
Dmonstration : Il sut de montrer que si (

A,

C) est observable, alors (

A
22
,

A
12
) lest
galement. Si (

A,

C) est observable, on a :
s, rang

sI
n

= rang
_
_
sI
l


A
11

A
12

A
21
sI
nl


A
22
I
l
0
_
_
= n,
19
F. Rotella Observateurs
ce qui est quivalent :
s, rang


A
12
sI
nl


A
22

= n l,
donc (

A
22
,

A
12
) est une paire observable.
Dans le cas o le systme initial est observable, on peut appliquer les techniques de d-
termination du gain la paire (

A
22
,

A
12
) pour dterminer le gain

L. Lobservateur rduit du
systme (1) a nalement la structure suivante, en notant x
1
et x
2
les estimations des vecteurs
x
1
et x
2
:

z(t) =

M z(t) +

Nu(t) +

Py(t),
o

M,

N et

P sont dnies par les relations (9) et :
x
1
(t) = C
1
1
[(I C
2

L)y(t) C
2
z(t)],
x
2
(t) = z(t) +

Ly(t).
5.2 Observation dune fonction linaire de ltat
Dans la plupart des cas, lobservation de ltat dun systme est ralise pour construire une
loi de commande linaire de retour dtat de la forme Kx. On peut donc penser construire
un reconstructeur (appel observateur de fonctionnelle linaire) estimant directement la
variable w(t) = Kx(t) sans utiliser ltape intermdiaire destimation de ltat. Nous verrons
dans ce paragraphe que cela apporte une simplication, par diminution de lordre, de la structure
de lobservateur utilis.
5.2.1 Rduction de lordre de lobservateur
Si on considre le cas des systmes mono-entres, m = 1, la fonctionnelle linaire estimer
est une forme linaire de ltat, w = kx, k R
n
. Lutilisation de la mthode de calcul du
gain indique que lobservation de ltat dun systme multi-sorties se fait par lintermdiaire
de l sous-systmes chacun observant une partie x
i
de ltat et dont les ordres sont donns par
les l indices dobservabilit
i
, i {1, . . . , l}, dnis lannexe sur lalgorithme de Luenberger.
Lutilisation du principe de rduction dordre dtaill dans la partie prcdente permet damener
lordre de ces sous-systmes
i
1. La dcomposition de la variable sous la forme :
w =
l
X
i=1
k
i
x
i
,
conduit la structure de principe de la gure 3. .
En considrant le transfert de chacun des observateurs, on peut crire :
i = {1, . . . , l}, D
i
(p)w
i
(t) = N
i
u
(p)u(t) +N
i
y
(p)y(t),
20
F. Rotella Observateurs
processus
k
1
k
2
k
l
i
(ordre
1
1)
i
(ordre
2
1)
i
(ordre
l
1)

+
1
2
n
x
1
u
x
2
y
x
l
w
1
w
2
w
l
w
- -
- - - - -
-
-
-
- -
?
6
p
p
p
p
p
p
p
p
p
p
Fig. 3 Utilisation dbservateurs rduits.
o deg D
i
(p) =
i
1, deg N
i
u
(p) deg D
i
(p) et deg N
i
y
(p) deg D
i
(p). Comme les modes de ces
observateurs rduits peuvent tre xs arbitrairement, on peut choisir le gain de lobservateur
tel que :
i {1, . . . , l}, i 6= , P
i
(s) R < p >,
deg P
i
(p) =
i
et D

(p) = P
i
(p)D
i
(p),
o R < p > reprsente lensemble des polynmes en la variable p coecients rels et lindex
dobservabilit du systme dni par :
=
l
max
i=1
{
i
}.
Ainsi, il vient :
D

(p) w(t) = D

(p)
l
X
i=1
w
i
(t) =
l
X
i=1
D

(p)w
i
(t),
=
l
X
i=1
P
i
(p)D
i
(p)w
i
(t) =
l
X
i=1
P
i
(p)

N
i
u
(p)u(t) +N
i
y
(p)y(t)

,
=
"
l
X
i=1
P
i
(p)N
i
u
(p)
#
u(t) +
"
l
X
i=1
P
i
(p)N
i
y
(p)
#
y(t),
= N
u
(p)u(t) +N
y
(p)y(t),
o deg D

(p) = 1, deg N
u
(p) deg D

(p), et deg N
y
(p) deg D

(p).
Ceci indique que lobservateur dune forme linaire peut tre ralis par un observateur
dordre 1. Dans le cas o 1 < n l, ce rsultat implique une rduction de lordre de
lobservateur par rapport lemploi dun observateur rduit.
21
F. Rotella Observateurs
5.2.2 Structure gnrale
Ltude du cas particulier prcdent nous a permis de mettre en vidence la rduction de di-
mensionnalit apporte par la notion dobservateurs de formes linaires. Dans cette partie, nous
allons prciser, dans le cas gnral dune fonctionnelle linaire, l 1, la structure de lobserva-
teur utilis. Pour estimer la fonctionnelle linaire, Kx, K R
mn
,on utilise un observateur de
Luenberger dont la structure gnrale est :
z(t) = Dz(t) +Hu(t) +Ey(t),
w(t) = Pz(t) +V y(t),
(10)
o z(t) R
p
, w(t) R
m
et D, E, H, P, V sont des matrices de dimensions convenables.
Notons que lobservateur rduit est de cette forme. La sortie w(t) de cet observateur reconstruira
asymptotiquement la fonctionnelle linaire si lon a :
lim
t
[w(t) Kx(t)] = 0. (11)
Daprs la relation (11) et compte tenu de lquation de sortie de (10), si w(t) est une
estimation de Kx(t), alors z(t) sera une estimation dune autre forme linaire de ltat, par
exemple Tx(t). Soient les erreurs destimation :
e(t) = w(t) Kx(t),
(t) = z(t) Tx(t),
il vient :
e(t) = P(t) + [PT +V C K]x(t),
(t) = D(t) + [DT TA+EC]x(t) + [H TB]u(t).
Si les relations suivantes :
1. D est une matrice de Hurwitz,
2. TADT = EC,
3. PT +V C = K,
4. H = TB,
sont vries, alors lim
t
e(t) = 0, et (10) constitue bien un observateur asymptotique de
la fonctionnelle linaire. Lorsque D est xe, et possde des valeurs propres direntes de
celles de A alors la deuxime relation est soluble pour tout E, et dans ce cas le problme
de la construction de lobservateur rside dans la dtermination du triplet (E, P, V ) tel que
soit vrie la relation 3 (la dernire donnant directement G), le problme principal tant de
construire un observateur de fonctionnelle linaire minimal, cest--dire o p est le plus petit
possible. Nous allons regarder quelques mthodes permettant de rpondre cette question.
22
F. Rotella Observateurs
Auparavant, montrons que ces relations sont automatiquement vries dans le cas dun
observateur rduit. En supposant, ce qui ne restreint pas ce rsultat mais simplie les notations,
supposons que C = [ I 0 ] et K = [ K
1
K
2
] alors lobservateur rduit correspond :
D = A
22
LA
12
, H = B
2
LB
1
,
E = A
21
+A
22
L LA
11
LA
12
L,
P = K
2
, V = K
1
+K
2
L, T = [ L I ],
ce qui donne :
TA = [ A
21
LA
11
A
22
LA
12
], DT = [ LA
12
L A
22
L A
22
LA
12
],
TB = B
2
LB
1
, PT = [ K
2
L K
2
], V C = [ K
1
+K
2
L 0 ],
qui montre que les trois dernires relations sont vries, la premire ne dpendant que du choix
de L. Cette remarque permet darmer que lordre dun observateur de fonctionnelle linaire
sera compris entre 1 et n m.
5.2.3 Dtermination de lobservateur
Cas dune forme linaire (m = 1) Dans ce cas, suivant ce qui prcde, on a p = 1. Soit

i
, i {1, . . . , p} lensemble des valeurs propres de D que lon peut choisir arbitrairement. La
mthode, dite de Murdoch, consiste dcomposer D, laide dune matrice U rgulire, sous
la forme :
D = UU
1
o = diag
p
i=1
[
i
]. Posons les matrices :
R = U
1
T =
_

_
r
1
r
2
.
.
.
r
p
_

_
, et M = U
1
E =
_

_
m
1
m
2
.
.
.
m
p
_

_
,
la deuxime condition ncessaire scrit alors :
RAR = MC,
soit, pour i {1, . . . , p} :
r
i
= m
i
C(A
i
I
n
)
1
. (12)
Si, de plus, on impose pour P la structure :
P = 1
p
U
1
,
o 1
p
= [1, 1, . . . , 1] R
p
, la troisime condition se met sous la forme :
V C + 1
p
R = L,
23
F. Rotella Observateurs
soit, daprs (12) :
V C +
p
X
j=1
m
j
C(A
j
I
n
)
1
= L.
La multiplication, par
Q
p
i=1
(A
i
I
n
), de chacun des membres de cette galit, permet de
la mettre sous la forme matricielle :
XA = B, (13)
o X = [V, m
1
, . . . , m
p
] est un vecteur inconnu de dimension l et :
B = L
Q
p
i=1
(A
i
I
n
),
A =
_

_
C
Q
p
i=1
(A
i
I
n
)
C
Q
p
i=2
(A
i
I
n
)
.
.
.
C
Q
p
i=1
i6=j
(A
i
I
n
)
.
.
.
C
Q
p1
i=1
(A
i
I
n
)
_

_
.
Si la paire (A, C) est observable, et si les
i
sont toutes distinctes et ne sont pas valeurs
propres de A alors rangA = n et la solution de ce systme existe toujours (elle est unique pour
m = n) et elle scrit :
X = BA
+
,
o A
+
est la pseudo-inverse de A :
A
+
= A
T
(AA
T
)
1
.
La connaissance de X permet alors de calculer tous les paramtres de lobservateur (10).
Cas gnral (m > 1) Dans le cas quelconque la dtermination de lordre minimal de lobser-
vateur est dlicate, et bien souvent on construira un observateur rduit mais non minimal. On
peut appliquer la mthode prcdente avec lquation linaire (13) rsoudre o la dimension
de X est m (p + 1)l, mais le problme rside dans le choix de p. En eet une valeur trop
petite peut conduire un systme non soluble, cependant certains algorithmes, comme celui
de Sirisena permettent daccder cette valeur minimale et de dterminer les paramtres de
lobservateur minimal.
Dans le cas o lon cherche construire rapidement un observateur (non forcment minimal)
de la fonctionnelle linaire :
Lx =
_

_
L
1
x
L
2
x
.
.
.
L
m
x
_

_
, L
i
R
n
, i = 1, . . . , m,
24
F. Rotella Observateurs
on peut utiliser une mthode interactive base sur lalgorithme utilis dans le cas o m = 1.
Cette mthode consiste construire un ensemble de m observateurs dcrits par les quations :
i {1, . . . , m},
z
i
(t) = D
i
z
i
(t) +G
i
u(t) +E
i
y(t) +
P
i1
j=1
K
ij
z
j
(t),
w
i
(t) = P
i
z
i
(t) +V
i
y(t),
le i-ime observateur estimant la forme linaire L
i
x. Lintrt de cette mthode est de dnir
cette srie dobservateurs de faon rcursive : le (i+1)-me tant construit par lapplication de
la mthode prcdente au systme (A, B, C
i
) avec :
C
i
=
_

_
C
T
1
.
.
.
T
i
_

_
,
o les T
j
, j i, sont les matrices apparaissant aux tapes prcdentes de dtermination des
observateurs 1 i. La dimension de lobservateur complet est infrieure celle que lon obtien-
drait avec m observateurs de formes linaires en parallle. En eet, lindex dobservabilit
i

ltape i est infrieur ou gal celui de ltape prcdente, car T
i1
contient au moins une ligne
linairement indpendante des lignes de C ou de T
j
, j {1, . . . , i 1} (sinon la forme linaire
L
i1
est inutile). On obtient donc un observateur de taille rduite que lon peut dterminer
rapidement.
5.3 Utilisation en boucle ferme et robustesse
5.3.1 Principe de sparation
Dans le cas o les 4 relations qui caractrisent un observateur asymptotique de fonctionnelle
linaire sont vries nous allons voir que le principe de sparation sapplique toujours. En eet,
dans ce cas, nous avons les relations de bouclage :
(t) = D(t),
w(t) = P(t) +Kx(t),
u(t) = Gv(t) w(t).
Le systme boucl admet donc comme tat X(t) =

x(t) (t)

et comme quation dtat :

X(t) =

ABK BP
0 D

X(t) +

BG
0

v(t),
y(t) =

I 0

X(t),
ce qui permet de reprendre le principe de sparation dans notre cas : les ples en boucle ferme
et ceux de lobservateur peuvent tre rgls de faon indpendante.
25
F. Rotella Observateurs
5.3.2 Forme RST
La commande raliser est de la forme :
u(t) = Gv(t) Pz(t) V y(t),
o z(t) est rgi par lquation :
z(t) = Dz(t) +H (Gv(t) Pz(t) V y(t)) +Ey(t),
soit le transfert :
(pI D +HP)z(t) = HGv(t) + (E HV )y(t).
La commande u scrit donc :
u =

I P(pI D +HP)
1
H

Gv(t)

V +P(pI D +HP)
1
(E HV )

y(t).
En notant (p) = det (pI D + HP) et M(p) = P [Com(pI D +HP)]
T
, on obtient la
commande sous forme RST :
S(p)u(t) = T(p)v(t) R(p)y(t),
avec :
S(p) = (p)I,
T(p) = [(p)I M(p)H] G,
R(p) = [(p)V +M(p)(E HV )] .
5.3.3 Robustesse
A partir des expressions prcdentes il est facile de calculer le transfert de boucle entre u
+
et u

, lorsque v(t) 0 et lorsque lon ouvre la rgulation juste avant le systme. On obtient :
T
BO
(p) =

V +P(pI D +HP)
1
(E HV )

C(pI A)
1
B,
dont le trac frquentiel permet de mesurer les marges de robustesse.
6 Applications des observateurs
Outre la reconstruction de ltat pour laborer une commande par retour dtat, dont nous
avons abondamment parl dans les chapitres prcdents, nous allons voir ici une autre ap-
plication importante des observateurs en diagnostic et dtection. Dans cet optique on utilise
lobservateur pour gnrer des rsidus permettant dlaborer une dcision dans un tage de
surveillance et diagnostic du systme lorsque des perturbations ou des dfauts apparaisent sur
26
F. Rotella Observateurs
un processus. On a en eet des variables qui agissent sur le systme mais qui ne peuvent tre
mesures, et lobjectif consiste ici construire des rsidus qui, selon le cas, doivent tre sen-
sibles aux dfauts ou insensibles aux perturbations, pour ne citer que deux exemples. Nous
verrons que ces observateurs utilisent les principes de base des observateurs de Luenberger avec
des conditions structurelles supplmentaires.Nous nutiliserons ici que des observateurs dordre
complet, les techniques de rduction de la taille des observateurs pouvant bien sr tre utilises.
Le principe gnral utilis consiste partir du modle :
x(t) = Ax(t) +Bu(t) +(t),
y(t) = Cx(t) +(t),
o, en plus des termes habituels, (t) et (t) reprsentent, par exemple, leet des perturba-
tions, dentres non mesures, des dfauts de capteurs ou dactionneurs. Le but ici tant de
dtecter ces inuences, on utilise un observateur de Luenberger du rsidu :
z(t) = Dz(t) +Hu(t) +Ey(t),
r(t) = Pz(t) +V y(t),
o le rsidu r(t) doit vrier, si on souhaite tre insensible cette inuence, lim
t
r(t) = 0, et
lim
t
r(t) 6= 0, dans le cas contraire. Dautre part, nous ne dcrirons que le cas des systmes
continus en gardant bien lesprit que tout ce que nous verrons peut tre traduit dans un cadre
discret.
6.1 Observateurs entres inconnues
Considrons le systme modlis par lquation dtat :
x(t) = Ax(t) +Bu(t) +Rf(t),
y(t) = Cx(t),
o f(t) est une entre inconnue (non mesure) et R une matrice constante. Utilisons lobserva-
teur :
z(t) = Dz(t) +Hu(t) +Ey(t),
b x(t) = z(t) My(t).
En introduisant la matrice P = I + MC et lerreur dobservation e x(t) = x(t) b x(t), on
obtient :
e x(t) = Px(t) z(t),
r(t) = y(t) b y(t) = Ce x(t),
= CPx(t) Cz(t),
= (I +CM)y(t) Cz(t),
27
F. Rotella Observateurs
cette dernire expression tant celle utilise pour gnrer les rsidus. Pour tudier le comporte-
ment asymptotique du rsidu on obtient :

e x(t) = P x(t) z(t),


= De x(t) + (PADP EC)x(t) + (PB H)u(t) +PRf(t).
Pour que lim
t
r(t) = 0, pour toutes les entres, connues et inconnues, et pour tout tat
initial, il est ncessaire que les conditions suivantes soient vries :
1. D est une matrice de Hurwitz ;
2. PADP = EC;
3. H = PB;
4. PR = 0.
Il sagit donc de trouver un ensemble de matrices (D, E, M) telles que soient vries les 4
contraintes prcdentes. Pour rsoudre ce systme on traite dabord la relation 4, ce qui avec
P = I +MC, scrit :
MCR = R.
Daprs lannexe C, cette quation est soluble si et seulement si :
rang (CR) = rang (R),
et dans ce cas une solution possible (non unique) scrit :
M = R(CR)
+
,
o A
+
dsigne la pseudoinverse de A. Dans le cas o CR est de rang plein en lignes, lexpression
de (CR)
+
est R
T
C
T
(CRR
T
C
T
)
1
et on obtient :
M = RR
T
C
T
(CRR
T
C
T
)
1
.
Aprs avoir choisi D, la valeur de M conduit dterminer E comme solution du systme :
EC = AD +MCADMC = F.
Ce systme est soluble si et seulement F
T
Im(C
T
), et lorsque cette condition est vrie
on obtient une solution possible sous la forme :
E = FC
+
,
Comme gnralement C est de rang plein en lignes, C
+
= C
T
(CC
T
)
1
.
28
F. Rotella Observateurs
6.1.1 Estimation des entres inconnues
Dans certains cas il peut tre intressant destimer les entres inconnues f(t). Pour obtenir
cette estimation on peut utiliser la dcomposition en valeurs singulires de R :
R = U
R

R
V
T
R
,
puis en posant (t) = V
T
R
f(t) obtenir avec x(t) ' x(t) :

R
(t) = U
T
R
(

x(t) Az(t) +AMy(t) Bu(t)).


Comme :
P

x(t) = z(t) = Dz(t) +Hu(t) +Ey(t),
si P est inversible, on obtient :

R
(t) = U
T
R
((P
1
DA)z(t) + (AM +P
1
E)y(t) + (P
1
H B)u(t).
On pourra estimer toutes les entres inconnues si
R
est de rang plein en colonnes.
6.1.2 Mesures dpendant des entres inconnues
Les dveloppements prcdents ont suppos que les entres inconnues nintervenaient pas
sur les mesures. Dans le cas o la sortie y(t) dpend de ces entres sous la forme :
y(t) = Cx(t) +Sf(t),
on utilise la dcomposition en valeurs singulires de S :
S = U
S

S
V
T
S
,
o, en notant s = rang (S) :

S
=

diag
s
i=1
{
S,i
} 0
0 0

.
En notant :
(t) = V
T
S
f(t) =


1
(t)

2
(t)

, (t) = U
T
S
y(t) =


1
(t)

2
(t)

C = U
T
S
C,

R = RV
S
,
o
1
(t) et
1
(t) sont des vecteurs de dimension s, lquation dtat initiale scrit :
x(t) = Ax(t) +Bu(t) +

R
1

1
(t) +

R
2

2
(t),

1
(t) =

C
1
x(t) + [diag
s
i=1
{
S,i
}]
1
(t),

2
(t) =

C
2
x(t).
29
F. Rotella Observateurs
La relation intermdiaire fournissant :

1
(t) = [diag
s
i=1
{
S,i
}]
1
(
1
(t)

C
1
x(t)),
on obtient le modle sans entres inconnues sur les mesures :
x(t) =

A

R
1
[diag
s
i=1
{
S,i
}]
1

C
1

x(t)
+

B

R
1
[diag
s
i=1
{
S,i
}]
1

u(t)

1
(t)

+

R
2

2
(t),

2
(t) =

C
2
x(t).
Il est bien vident que lon peut se ramener un tel modle lorsque s est infrieur strictement
la dimension de y(t), ce qui, en dautres termes signie que lon peut trouver des combinaisons
linaires de mesures qui sont indpendantes des entres inconnues.
6.2 Dtection de dfauts
Bien que bas sur un principe similaire aux observateurs entres inconnues, lobjectif est ici
compltement dirent puisque les rsidus doivent tre sensibles ces dfauts et mme doivent
permettre de les retrouver et dans ce cas on parle alors de lisolation des dfauts.
Considrons le modle :
x(t) = Ax(t) +B(u(t) +b(t)),
y(t) = Cx(t) +m(t),
o b(t) reprsente une dfaillance des actionneurs, m(t), une dfaillance des capteurs. Lutilisa-
tion dun observateur dordre plein :

x(t) = (ALC) x(t) +Bu(t) +Ly(t),


y(t) = C x(t),
conduit au rsidu :

x(t) = (ALC) x(t) +Bb(t) Lm(t),


y(t) = C x(t) +m(t).
Si L est telle que A LC soit une matrice de Hurwitz, le rsidu y(t) tend bien vers 0 en
labsence de dfauts. Le transfert entre les dfauts et les rsidus scrit :
y(t) = C(pI A+LC)
1
Bb(t) +

I C(pI A+LC)
1
L

m(t),
ce qui, en tenant compte du lemme dinversion :
(A+BCD)
1
= A
1
A
1
B(C
1
+DC
1
B)
1
DA
1
,
30
F. Rotella Observateurs
peut se mettre sous la forme :

I +C(pI A)
1
L

y(t) = C(pI A)
1
Bb(t) +m(t).
A partir de cette relation on peut construire :
en labsence de dfaut actionneur, le systme permettant disoler les dfauts capteurs
partir des rsidus :
(t) = A(t) +L y(t),
m(t) = C(t) + y(t);
en labsence de dfaut capteur, le systme permettant disoler les dfauts actionneurs
partir des rsidus est construit partir de la variable (t) dnie par :
(t) = C(pI A)
1
Bb(t).
Cette variable est estime partir du mme systme que prcdemment, cest--dire :
(t) = A(t) +L y(t),
(t) = C(t) + y(t),
et lestimation dune dfaillance capteur est donne par linversion du modle initial du
systme savoir :
(t) = (p)

C(pI A)
1
B

1
(t),
o (p) = diag
n
1
(p+)
i
o
est la matrice de ltres telle que (p) [C(pI A)
1
B]
1
soit
bicausale. (t) nest pas une estimation des dfauts mais plutt dun ltrage des dfauts,
cependant le caractre diagonal de (p) permet lisolation.
7 Annexe : Algorithme de Luenberger
Cet algorithme permet de mettre sous une forme canonique, commandable ou observable
suivant le cas, une quation dtat dun systme commandable et observable :
x = Ax +Bu, x R
n
, u R
m
,
y = Cx, y R
l
.
La construction de la forme observable tant duale de la construction de la forme comman-
dable, nous dtaillerons la premire et obtiendrons la deuxime par transposition.
31
F. Rotella Observateurs
7.1 Forme canonique commandable
Le test prliminaire de commandabilit eectuer scrit :
rang

B AB A
2
B A
n1
B

= n,
et si cette condition est vrie, la construction de la forme canonique commandable demande
les tapes suivantes.
1. Dans la matrice de commandabilit :
C
(A,B)
=

B AB A
2
B A
n1
B

,
en allant de gauche droite (), on slectionne une colonne si elle nest pas linairement
dpendante des prcdentes.
2. En notant B sous la forme :
B =

b
1
b
2
b
m1
b
m

o les b
i
sont des vecteurs de dimension n, on calcule les m indices de commandabilit

i
, pour i = 1, . . . , m, comme les plus petit entiers k tels que A
k
b
i
soit linairement
dpendante des colonnes prcdentes. On calcule galement les indices cumuls de com-
mandabilit
i
:
i = 1, . . . , m,
i
=
i
X
j=1

j
.
3. On rordonne les colonnes slectionnes au pas 1 pour construire la matrice :
V = b
1
Ab
1
A

1
1
b
1
b
2
Ab
2
A

2
1
b
2
b
m
Ab
m
A

m
1
b
m
.
4. On calcule V
1
, do lon extrait les
i
-imes lignes. Soient L
i
, i = 1, . . . , m, ces lignes.
5. On construit la matrices de changement de variables :
T
C
=
_

_
L
1
L
1
A
.
.
.
L
1
A

1
1
L
2
L
2
A
.
.
.
L
2
A

2
1
.
.
.
L
m
L
m
A
.
.
.
L
m
A

m
1
_

_
.
32
F. Rotella Observateurs
6. La transformation :
x
C
= T
C
x,
conduit lquation dtat :
x
C
= A
C
x
C
+B
C
u,
y = C
C
x
C
,
avec :
A
C
= T
C
AT
1
C
=
_

_
1
.
.
.
1




1
.
.
.
1


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


1
.
.
.
1


1

2

m

_

_
,
B
C
= T
C
B =
_

_
1

0 1

.
.
.
0 0 0 1

_
, C
C
= CT
1
C
.
7. Par le changement de variables de commande :
u
C
= H
C
u,
33
F. Rotella Observateurs
o H
C
est la matrice (mm) forme des lignes signicatives de B
C
:
H
C
=
_

_
1
0 1
.
.
.
0 0 0 1
_

_
,
on arrive nalement lquation dtat canonique commandable :
x
C
= A
C
x
C
+B
C
u
C
,
y = C
C
x
C
,
avec :
B
C
= B
C
H
1
C
=
_

_
1 0 0 0

0 1 0 0

.
.
.
0 0 0 1

_
.
7.2 Forme canonique observable
Le test prliminaire dobservabilit eectuer scrit :
rang
_

_
A
CA
CA
2
.
.
.
CA
n1
_

_
= n.
et si cette condition est vrie, la construction de la forme canonique observable sera construite
en partant du systme dual :

= A
T
+C
T
,
= B
T
,
sur lequel lapplication de lalgorithme prcdent conduit la forme canonique commandable du
systme dual. Une dernire transposition conduit la forme canonique observable du systme
34
F. Rotella Observateurs
initial :
x
O
= A
O
x
O
+B
O
u,
y
O
= C
O
x
O
,
o x
O
= T
O
x, y
O
= H
O
y, et :
A
O
= T
O
AT
1
O
=
_

1
.
.
.
.
.
.
1

.
.
.

.
.
.

.
.
.

1
.
.
.
.
.
.
1

.
.
.

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

.
.
.

.
.
.

1
.
.
.
.
.
.
1


1

2

l

_

_
,
B
O
= T
O
B,
C
O
= H
1
O
CT
1
O
=
_

_
1
0
0
.
.
.
0
0
1
0
.
.
.
0

0
0
.
.
.
0
1

1

2

l

_

_
.
Les indices
i
, i = 1, . . . , l, mis en vidence pour la construction de cette forme sappellent
les indices dobservabilit.
8 Annexe B : Formes canoniques de matrices
8.1 Forme de Smith
Considrons les matrices lmentaires rgulires suivantes qui traduisent des oprations
lmentaires sur les lignes (resp. colonnes) dune matrice, lorsquelles la multiplient gauche
35
F. Rotella Observateurs
(resp. droite), (14) change la i-ime ligne (resp. colonne) et la j-ime ligne (resp. colonne),
(15) multiplie la i-ime ligne (resp. colonne) par le scalaire non nul , et (16) ajoute -fois la
j-ime ligne (resp. i-ime colonne) la i-ime ligne (resp. j-ime colonne) :
E
ij
=
_

_
1
.
.
.
1
0 1
1
.
.
.
1
1 0
1
.
.
.
1
_

_
, (14)
E
i
() =
_

_
1
.
.
.
1

1
.
.
.
1
_

_
, (15)
E
ij
() =
_

_
1
.
.
.
1 0 0
.
.
.
0
.
.
.
.
.
.
.
.
.
0
1
.
.
.
1
_

_
. (16)
Le principe de la construction de la forme de Smith dune matrice A(m n) consiste
eectuer des multiplications par les matrices lmentaires droite et gauche pour se ramener
la matrice S(mn), forme de Smith de A, telle que :
S =

I
r
0
0 0

. (17)
36
F. Rotella Observateurs
Thorme 3 Toute matrice A(mn) de rang r est quivalente sa forme de Smith S(mn)
(17).
Cest--dire quil existe deux matrices rgulires P et Q, non uniques telles que S = PAQ.
Ce principe stend utilement aux matrices polynomiales (cf. chap. 11). Comme rang A = rang
S, on en dduit que deux matrices de mmes dimensions sont quivalentes si et seulement si
elles ont mme rang.
8.2 Dcomposition en valeurs singulires
Plus utilise en pratique que la dcomposition sous forme de Jordan ou de Smith car plus
robuste dun point de vue numrique, la dcomposition en valeurs singulires dune matrice
met en vidence une matrice diagonale qui lui est quivalente. Elle jouera un rle fondamental
dans la gnralisation au cas multivariable du lieu frquentiel dun systme linaire. Dans toute
la suite k.k dsignera la norme spectrale k.k
2
:
kAk
2
=

A
,
o
A
dsigne le plus grand module obtenu sur lensemble des valeurs propres de A
Thorme 4 Pour toute matrice complexe A(mn) il existe deux matrices unitaires U(mm)
et V (n n), telles que :
U

AV = ,
o est une matrice relle (mn) diagonale, = diag{
1
, . . . ,
p
} , avec p = min{m, n}, et :

1

2

p
0.
Les
i
apparaissant dans ce thorme sont appeles les valeurs singulires de A do le nom
de la dcomposition en valeurs singulires de A sous la forme :
A = UV

.
Comme :
A

A = V
T
V

, et AA

= U
T
U

,
o
T
= diag

2
1
, . . . ,
2
p
, 0, . . . , 0

est une matrice (nn) et


T
=diag

2
1
, . . . ,
2
p
, 0, . . . , 0

,
est une matrice (m m), o p = min(m, n), les valeurs singulires non nulles sont les racines
carres des valeurs propres non nulles de la matrice A

A mais aussi celles de la matrice AA

.
Notons U =

u
1
u
m

et V =

v
1
v
n

, alors les u
i
et les v
i
, daprs les expressions
prcdentes reoivent une interprtation en termes de vecteurs propres de AA

ou A

A :
pour i = 1, . . . , n :
A

Av
i
=
2
i
v
i
,
37
F. Rotella Observateurs
pour i = 1, . . . , m :
AA

u
i
=
2
i
u
i
.
Ainsi lorsque X et Y sont des matrices unitaires de dimensions convenables on a :

i
(XAY ) =
i
(A).
Comme on a galement :
AV = U, et A

U = V
T
,
on obtient les relations suivantes, avec p = min(m, n) :
pour i = 1, . . . , p :
Av
i
=
i
u
i
, et A

u
i
=
i
v
i
,
pour i = p + 1, . . . , max(m, n) :
Av
i
= 0, et A

u
i
= 0.
Gomtriquement, les valeurs singulires dune matrice sont les longueurs des demi-axes de
lhyper-ellipsode dni par :
{y, y = Ax, x C
n
, kxk = 1} ,
et v
i
leur direction. Ainsi v
1
est la direction dans laquelle kAxk est la plus grande sur kxk = 1
et v
n
, la direction dans laquelle kAxk est la plus petite.
Thorme 5 Soient
1

2
. . .
r
>
r+1
= 0, alors, en dsignant par span lespace
vectoriel engendr par un ensemble de vecteurs :
1. rang A = r;
2. N(A) = span {v
r+1
, . . . , v
n
} et [N(A)]

= span {v
1
, . . . , v
r
};
3. I(A) = span {u
1
, . . . , u
r
} et [I(A)]

= span{u
r+1
, . . . , u
m
};
4. En posant U
r
=

u
1
u
r

, V
r
=

v
1
v
n

, et
r
= diag{
1
, . . . ,
p
} , on a :
A =
r
X
i=1

i
u
i
v

i
= U
r

r
V

r
.
5.
r
X
i=1

2
i
= trace(A

A)
Le rsultat suivant est intressant car il permet de fournir la meilleure approximation dune
matrice par une matrice de rang donne :
38
F. Rotella Observateurs
Thorme 6 Soit k < rang A, et A
k
=
P
k
i=1

i
u
i
v

i
, alors :
min
B,rang(B)k
kABk = kAA
k
k =
k+1
.
Pour toutes matrices A et B, dont les tailles sont compatibles, on a :

i+j+1
(A+B)
i+1
(A) +
j+1
(B),

i+j+1
(AB)
i+1
(A)
j+1
(B).
Notons (A) et (A) la plus grande et la plus petite valeur singulire dune matrice A,
daprs la partie prcdente on a :
(A) = kAk
2
= max
kxk
2
=1
kAxk
2
,
et :
(A) = min
kxk
2
=1
kAxk
2
.
On dispose des proprits suivantes :
si (A) est une valeur propre de A, alors :
(A) |(A)| (A);
si A
1
existe, alors :
(A) =
1
(A
1
)
=
1
kA
1
k
2
;
pour tout rel :
(A) = || (A), (A) = ||(A);

cond
2
(A) =
(A)
(A)
.
Lorsque les tailles sont compatibles :
| (A) (B)| (A+B) (A) + (B),
max {(A) (B), (A)(B)} (AB) (A) (B),
max {(A) (B), (B) (A)} (A+B) min {(A) + (B), (A) +(B)} ,
max {0, (A) 1} (A+I), max {0, (A) 1} (A+I),
max { (A), (B)}

A B

2 max { (A), (B)} .


39
F. Rotella Observateurs
Dans le cas o on travaille sur lensemble des matrices relles, la dcomposition en valeurs
singulires scrit :
A = UV
T
,
o conserve le mme sens quauparavant et U et V sont deux matrices orthogonales, cest--
dire quelles vrient :
UU
T
= U
T
U = I,
V V
T
= V
T
V = I.
9 Annexe C : Inverses gnralises et systmes linaires
9.1 Inverse gnralise
Une matrice rgulire A(nn) admet une inverse unique A
1
telle que, AA
1
= A
1
A = I,
ce qui donne la relation : AA
1
A = A. Par extension, linverse gnralise dune matrice
quelconque A est la matrice X qui vrie la relation :
AXA = A.
Soit S la forme de Smith dune matrice A de rang r et les matrices rgulires P et Q telles
que A = PSQ.
Thorme 7 Q
1
S
T
P
1
est une inverse gnralise de A.
De faon plus gnrale on peut montrer que la forme dune inverse gnralise X de A(mn)
peut tre construite partir de sa forme de Smith par X = Q
1
TP
1
, o T est une matrice
(n m) qui est de la forme :
T =

I
r
X
1
X
2
X
3

,
o X
1
, X
2
et X
3
sont des matrices quelconques de dimensions convenables.
Thorme 8 Toute inverse gnralise X de A, possde les proprits suivantes :
1. I(AX) = I(A);
2. I((XA)
T
) = I(A
T
);
3. I(I XA) = N(A);
4. AX et XA sont idempotentes.
40
F. Rotella Observateurs
9.2 Application aux systmes linaires
Dans beaucoup dapplications, on doit rsoudre le systme linaire Ax = y, o A(mn) nest
pas carre ou bien a un dterminant nul. Le systme peut alors admettre plusieurs solutions ou
aucune. Dans le cas o ce systme est soluble, on dit quil est compatible.
Thorme 9 Le systme Ax = y est soluble si et seulement si rang (A) = rang ([ A y ]).
Supposons quil existe une matrice X(n m) telle que AXA = A, alors :
x = Xy + (I XA)z,
o z est un vecteur arbitraire, sera une solution du systme si et seulement si :
AXy = y.
Cette dernire relation constitue une relation de compatibilit du systme.
Thorme 10 Pour le systme compatible y = Ax, en notant A
{1}
une inverse gnralise de
A, lensemble des solutions est donn par :
x = A
{1}
y + (I
n
A
{1}
A)z,
o z est un vecteur arbitraire de R
n
.
Considrons le systme linaire matriciel :
AXB = C,
o A(m n), B(p q) et C(m q) sont donnes et X(n p) est une matrice inconnue
dterminer. Comme :
AXB = AA
{1}
AXBB
{1}
B,
une condition de compatibilit scrit :
AA
{1}
CB
{1}
B = C.
Thorme 11 La solution gnrale du systme compatible AXB = C, scrit :
X = A
{1}
CB
{1}
+Y A
{1}
AY BB
{1}
,
o Y est une matrice arbitraire (n p).
Soit A{1} lensemble des inverses gnralises dune matrice A, lapplication du rsultat
prcdent lquation :
AXA = A,
permet de caractriser A{1} partir dun de ses lments. En eet, comme la solution gnrale
en est :
X = A
{1}
AA
{1}
+Y A
{1}
AY AA
{1}
,
il sut de poser Y = A
{1}
+Z, pour obtenir :
A{1} =

A
{1}
+Z A
{1}
AZAA
{1}
, Z R
nm

.
41
F. Rotella Observateurs
9.3 Pseudo-inverse
9.3.1 Notion de pseudo-inverse
Comme linverse gnralise nest pas unique, on cherche des matrices plus particulires
vriant les 4 proprits :
P1 : AXA = A;
P2 : XAX = X;
P3 : (AX)
T
= AX;
P4 : (XA)
T
= XA.
A partir de la forme de Smith de A (17), A = PSQ, toute matrice vriant les deux
premires proprits est de la forme Q
1
TP
1
, o T est de la forme :
T =

I
r
X
1
X
2
X
2
X
1

.
Toute matrice X vriant ces 4 proprits est une pseudo-inverse de A (on dit aussi inverse
au sens de Moore-Penrose), que lon notera A
+
.
Thorme 12 A
+
existe et est unique.
9.3.2 Formes explicites de la pseudo-inverse
Soit A = FG une dcomposition de rang maximal de A, alors :
A
+
= G
T
(F
T
AG
T
)
1
F
T
,
= G
T
(GG
T
)
1
(F
T
F)
1
F
T
.
Soit la dcomposition de A(mn) de rang r sous la forme :
A =

A
11
A
12
A
21
A
22

,
o A
11
est rgulire de rang r. Notons :
A
1
=

A
11
A
21

, A
2
=

A
11
A
12

.
Comme ncessairement A
22
= A
21
A
1
11
A
12
, on a :
A
+
= A
T
2
(A
T
1
AA
T
2
)
1
A
T
1
.
42
F. Rotella Observateurs
Soit la dcomposition en valeurs singulires de A, A = UV
T
, o U et V sont orthogonales :
=


r
0
0 0

,
r
= diag{
1
, ,
r
},
les
i
tant les valeurs singulires non nulles de A telles que
1

2

r
> 0. Alors,
daprs les proprits prcdentes, on aura :
A
+
= V
+
U
T
,
avec :

+
=


1
r
0
0 0

.
9.3.3 Quelques proprits de la pseudo-inverse
1. Si A est rgulire, alors A
+
= A
1
.
2. Si A est de rang plein en colonnes : A
+
= (A
T
A)
1
A
T
, et on obtient A
+
A = I
n
, mais
AA
+
6= I
m
.
3. Si A est de rang plein en lignes : A
+
= A
T
(AA
T
)
1
, et on obtient AA
+
= I
m
, mais
A
+
A 6= I
n
.
4. Pour toute matrice A on a lgalit suivante :
A
+
= (A
T
A)
+
A
T
= A
T
(AA
T
)
+
.
5. Soit FG, une factorisation de rang maximal de A, alors A
+
= G
+
F
+
. Dans le cas parti-
culier o r = 1, on peut crire :
A
+
=
A
T
F
T
AG
T
=
A
T
GA
T
F
.
6. Il faut noter quen gnral (AB)
+
6= B
+
A
+
.
7. Si P et Q sont deux matrices unitaires alors :
(PAQ)
+
= Q
1
A
+
P
1
= Q
T
A
+
P
T
.
8. Si P et Q sont seulement rgulires alors (PAQ)
+
6= Q
1
A
+
P
1
. En eet, daprs ce qui
prcde on a seulement :
(PAQ)
+
= Q
T
G
T
(GQQ
T
G
T
)
1
(FP
T
PF)
1
FP
T
.
9. Soit A(m n) = FPG, o rang F(m r) = rang G(r n) = r = rang A et P(r r)
rgulire. Alors A
+
= G
+
P
1
F
+
.
10. Pour toute matrice A, (A
+
)
+
= A, (A
+
)
T
= (A
T
)
+
, et on dispose des formules dAlbert
et Sittler :
A
+
= lim
0
(A
T
A+I)
1
A
T
= lim
0
A
T
(AA
T
+I)
1
.
43
F. Rotella Observateurs
9.3.4 Algorithme de Greville-Albert-Sittler
Une mthode ecace de calcul itratif de la pseudo-inverse dune matrice est donn par
lalgorithme de Greville (ou sous une forme quivalente par lalgorithme dAlbert et Sittler) qui
ne demande pas de traitement pralable de la matrice. Cet algorithme est trs utile pour trois
raisons :
il permet de calculer de faon rcurrente la pseudo-inverse dune matrice en un nombre
ni de pas ;
il est indpendant du conditionnement de la matrice (pas besoin de factorisation de la
matrice) ;
il ne demande pas dinversion de matrices, seules des quantits scalaires sont inverser.
Cest donc un algorithme que lon implante aisment sur calculateur et il peut mme tre
utilis pour calculer linverse dune matrice rgulire. Sa structure est dcrite dans lorgani-
gramme de la gure dans lequel A dsigne une matrice (m n), a
k
la k-ime colonne de A et
A
k
la matrice forme des k premires colonnes de A.
9.3.5 Application aux systmes linaires incompatibles
Lorsque le systme linaire y = Ax est incompatible, il na pas de solution exacte. On
cherche alors une solution de ce systme au sens des moindres carrs, i.e. celle qui minimise
ky Axk
2
. On peut remarquer que rsoudre un systme compatible au sens des moindres carrs
cest obtenir sa solution exacte, on peut donc gnraliser tout systme la notion de solution.
Thorme 13 b x est la solution du systme y = Ax au sens des moindres carrs si et seulement
si b x est solution du systme toujours compatible A
T
y = A
T
Ax.
Le systme linaire A
T
y = A
T
Ax sappelle le systme normal associ au systme y = Ax.
Thorme 14 La solution au sens des moindres carrs du systme linaire y = Ax scrit :
b x = A
+
y + (I A
+
A)z,
o z est un vecteur quelconque et A
+
la pseudo-inverse de A. De plus, la solution unique de
norme euclidienne minimale est obtenue avec z = 0, soit :
x = A
+
y.
9.3.6 Rsolution dun systme linaire
Daprs tout ce que lon vient de dire, la solution du systme linaire y = Ax scrit :
A
+
y + (I A
+
A)z,
et si le systme est compatible cette solution est exacte, sinon elle ne lest quau sens des
moindres carrs. Le fait de prendre z = 0 conduit une certaine simplication.
44
F. Rotella Observateurs
A
+
= A
+
n
Fin
k = k + 1
A
+
k
=
_
_
A
+
k1
d
k
b
k

b
k
_
_
b
k
= (c
T
k
c
k
)
1
c
T
k
b
k
= (1 +d
T
k
d
k
)
1
d
T
k
A
+
k1
d
k
= A
+
k1
a
k
c
k
= a
k
A
k1
d
k
k = 2
A
+
1
= (a
T
1
a
1
)
1
a
T
1
A
+
1
= 0
Dbut
i
i
i
k = n
c
k
= 0
a
1
= 0

H
H
H
H
H
H
H
H

H
H
H
H
H
H
H
H

H
H
H
H
H
H
H
H

?
?
? ?
?
?
?
-
? ?
Fig. 4 Algorithme de Greville du calcul de A
+
.
45
F. Rotella Observateurs
Rfrences
[1] Astrm, K., Wittenmark, B., Computer controlled systems, Prentice Hall, 1984.
[2] Borne, P., Dauphin-Tanguy, D., Richard, J.P., Rotella, F., Zambettakis, I., Commande et
optimisation des processus, Technip, 1992.
[3] Doyle, J.C., Stein, G., Robustness with observers, IEEE Trans. Aut. Control, AC-24, pp.
607611, 1979.
[4] Friedland, B., Observers, chap. 37, pp. 607618, The Control Handbook, Levine, W.S., ed.,
CRC Press, 1996.
[5] Kailath, T., Linear systems, Prentice-Hall, 1980.
[6] Lewis, F.L., Syrmos, V.L., Optimal control, John Wiley & Sons, 1995.
[7] Luenberger, D.G., Canonical forms for linear multivariable systems, IEEE Trans. Aut.
Control, AC-12, pp. 290293, 1967.
[8] Luenberger, D.G., An introduction to observers, IEEE Trans. Aut. Control, AC-16, pp.
596602, 1971.
[9] Maquin, D., Ragot, J., Diagnostic des systmes linaires, Herms, 2000.
[10] Murdoch, Observer design for a linear functional of the state vector, IEEE Trans. Aut.
Control, AC-18, pp.308310, 1973.
[11] OReilly, J., Observers for linear systems, Academic Press, 1983.
[12] Rotella, F., Borne, P., Thorie et pratique du calcul matriciel, Technip, 1995.
[13] Sirisena, H.R., Minimal order observers for linear functions of a state vector, Int. J. Control,
29, n.2, pp. 235254, 1979.
46

Vous aimerez peut-être aussi