Vous êtes sur la page 1sur 42

Filtrage Optimal

Frdric Rotella
Ecole Nationale dIngnieurs de Tarbes
rotella@enit.fr

Table des matires


1 Introduction

2 Le filtre de Kalman discret


2.0.1 Equations du filtre . . . . . . . . . . . . . . . . .
2.0.2 Formes particulires du filtre . . . . . . . . . . . .
2.0.3 Rsultats supplmentaires . . . . . . . . . . . . .
2.0.4 Modle bruits corrls . . . . . . . . . . . . . .
2.0.5 Le filtre Information . . . . . . . . . . . . . . . .
2.1 Le filtre de Kalman continu . . . . . . . . . . . . . . . .
2.1.1 Relations formelles entre les cas continu et discret
2.1.2 Dtermination du gain optimal . . . . . . . . . .
2.1.3 Filtre de Kalman-Bucy . . . . . . . . . . . . . . .
2.2 Commentaires sur le filtre de Kalman . . . . . . . . . . .
2.2.1 Cas o certaines sorties sont non bruites . . . . .
2.2.2 Modle bruits colors . . . . . . . . . . . . . . .
2.2.3 Filtre stationnaire . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

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

3
4
5
6
7
10
11
12
13
14
15
15
17
18

3 Mise en uvre dun filtre de Kalman


3.1 La forme de Joseph . . . . . . . . . . .
3.2 Traitement squentiel des observations
3.3 Amlioration des performances . . . . .
3.3.1 Algorithmes factorisations . .
3.3.2 Algorithmes de filtrage rapide .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

19
19
20
22
22
24

4 Applications du filtrage
4.1 Commande optimale stochastique
4.2 Lissage . . . . . . . . . . . . . . .
4.2.1 Principe du lissage . . . .
4.2.2 Equations du filtre lisseur

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

24
25
26
26
27

.
.
.
.

.
.
.
.

.
.
.
.
1

F. Rotella

Filtrage optimal

4.3 Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 Estimation de paramtres . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 Forme filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5 Annexe A : Estimation optimale
5.1 Estimateur du maximum de vraisemblance .
5.2 Estimation au sens des moindres carrs . . .
5.3 Estimation linaire . . . . . . . . . . . . . .
5.4 Estimateur optimal de variables gaussiennes
5.5 Estimation rcursive . . . . . . . . . . . . .

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

.
.
.
.
.

31
31
32
33
35
36

6 Annexe B : Dmonstration des quations du filtre de Kalman


37
6.1 Forme prdicteur--un-pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.2 Dcomposition du filtre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7 Annexe C : Racine carre
39
7.1 Lemme de factorisation matricielle . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.2 Dcomposition de Cholewsky . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Rfrences

42

F. Rotella

Filtrage optimal

Introduction

Le problme du filtrage consiste dterminer des estimateurs de variables du systme lorsque


lenvironnement prsente des perturbations alatoires. Nous allons donc tudier dans cette
partie laspect stochastique de la notion dobservateurs. Deux points de vue peuvent tre utiliss
pour aborder cette question : celui de Wiener qui utilise une approche frquentielle et celui de
Kalman qui utilise lapproche temporelle. Dans tous les cas, le but est de dterminer un systme
(le filtre), optimal au sens de la minimisation de la variance derreur entre la variable relle et
son estimation. Nous ne regarderons ici que la deuxime approche. En eet, un filtre de Wiener
est un cas particulier de filtre de Kalman et cette dernire approche permet dapprhender
directement le cas dun systme non stationnaire multivariable.
Dans ce cadre on peut galement classer les problmes destimation suivant la quantit
dinformation disponible. En eet, considrons un systme dont on possde un ensemble de
mesures m(t0 , tf ), entre les instants t0 (instant initial) et tf (instant final), sur les entres et les
sorties. On peut chercher estimer la valeur de ltat x un instant donn (que lon notera
par x( /m(t0 , tf ))). Suivant la valeur de , on distingue :
si < tf il sagit dun problme de lissage ;
si = tf il sagit dun problme de filtrage ;
si > tf il sagit dun problme de prdiction.
Alors quun problme de prdiction peut tre ramen un problme de filtrage par une
estimation de xf = x(tf /m(t0 , tf )) suivie dune prdiction par utilisation du modle initialis
xf , il nen est pas de mme du lissage. En fait, ce dernier problme peut tre rsolu par la
combinaison de deux problmes de filtrage : un filtrage de t0 et un filtrage rtrograde de tf
. Ainsi, un seul algorithme permettra de traiter ces trois problmes.
Le filtre de Kalman est un reconstructeur dtat dans un environnement stochastique.
Lorsque les variances des bruits sont connues, cest un estimateur linaire minimisant la variance de lerreur destimation. Les algorithmes donnant la solution de ce problme ont t
dtermins initialement par [Kalman, 1960] dans le cas discret et [Kalman, Bucy, 1961]
dans le cas continu. Nous tablirons, dans un premier temps, les quations du filtre de Kalman
discret puis, celles du filtre de Kalman continu par passage la limite.

Le filtre de Kalman discret

Etant donn un systme linaire stochastique dont lvolution dynamique est modlise
laide de lquation dtat :
xk+1 = Ak xk + Bk uk + Gk wk ,
yk = Ck xk + vk ,

(1)

o k 0 reprsente les instants successifs du temps, xk , ltat du systme de dimension n, yk ,


la sortie (mesure ou observation) de dimension m, uk , lentre certaine de dimension l, wk , le
bruit dentre (ou de dynamique) de dimension l, vk , le bruit de mesure de dimension m. Les

F. Rotella

Filtrage optimal

matrices certaines Ak , Bk , Gk , Ck sont de dimensions convenables. Pour viter toute confusion,


nous reprsenterons dans la suite, la matrice identit dordre n, simplement par I.
Ce modle peut tre considr comme reprsentatif dun systme temps discret ou plus
gnralement tre obtenu partir de la discrtisation dun modle reprsentatif dun systme
temps continu. Les squences de bruit {wk } et {vk } sont des squences indpendantes de
bruits blancs centrs et ltat initial x0 est galement une variable alatoire indpendante des
squences {wk } et {vk }. Leurs proprits aux premier et second ordres sont donnes par :
E{wk } = 0, E{vk } = 0, E{x0 } = x0 ,

Rk kl

vk
,
Qk kl
E wk [vlT wlT xT0 ] =

x0
P0

(2)

o E{.} reprsente lesprance mathmatique, x0 = x0 x0 , Rk , Qk , P0 sont des matrices


symtriques dfinies positives, et kl est le symbole de Kroknecker.
2.0.1

Equations du filtre

Le problme du filtrage, au sens de Kalman, est de trouver, pour le systme dynamique (??),
la meilleure estimation x de ltat x linstant k, partir dobservations eectues jusqu
linstant discret j, au sens du critre de la variance conditionnelle minimum. Cela signifie que
lestim x est tel que :
E{k xk x k2 /{y0 , y1 , . . . , yj }} E{k xk z k2 /{y0 , y1 , . . . , yj }},
pour tout vecteur z fonction des observations {y0 , y1 , . . . , yj }. Nous noterons xk/j , cet estimateur
optimal, et xk/j et yk/j les erreurs destimations :
xk/j = xk xk/j ,

yk/j = yk Ck xk/j .
Suivant que k < j, k = j ou k > j, on dit que xk/j est une valeur lisse, filtre ou
prdite de xk . Contrairement au problme de prdiction qui utilise, partir dune valeur filtre
le modle (??) non bruit, le problme de lissage ncessitera un traitement plus complexe (on
doit tenir compte dinformations futures) qui sera tudi dans un paragraphe particulier. Pour
simplifier les notations, nous poserons dsormais :
cov(z) = E{zz T },

xk/t ).
Pk/t = cov(

Le problme de filtrage au sens de Kalman est rsolu en utilisant les principes de base de
lestimation, simple puis rcursive, dune variable alatoire que nous dcrivons dans lannexe A.
Dans lannexe B, on tablit que les quations de fonctionnement dun filtre de Kalman discret
se dcomposent en deux tapes :
4

F. Rotella

Filtrage optimal

une tape de prdiction :


xk+1/k = Ak xk/k + Bk uk ,
Pk+1/k = Ak Pk/k ATk + Gk Qk GTk ;

(3)

une tape de correction :


xk/k = xk/k1 + Kk (yk Ck xk/k1 ),

Pk/k = (I Kk Ck )Pk/k1 ,

(4)

o Kk est le gain optimal du filtre, donn par :


Kk = Pk/k1 CkT 1
k ,
k = Rk + Ck Pk/k1 CkT .

(5)

La construction de cet algorithme montre quil permet de rpondre deux objectifs dirents :
cest un filtre linaire minimisant la variance a priori de lerreur destimation. Dans ces
conditions, les bruits peuvent ne pas tre gaussiens ;
cest un filtre maximisant la probabilit a posteriori des grandeurs estimer. Cela nest
alors applicable que dans lhypothse de bruits gaussiens.
2.0.2

Formes particulires du filtre

Le filtre de Kalman discret est compos de lensemble des relations (3) (5), mais, suivant que ltape de prdiction suit ou prcde ltape de correction, on peut raliser un filtre
estimateur ou un filtre prdicteur--un-pas.
On obtient alors les formes suivantes :
(
xk/k , Pk/k ) (
xk+1/k+1 , Pk+1/k+1 ), on ralise alors un filtre estimateur :
xk+1/k+1 = (I Kk+1 Ck+1 )Ak xk/k

+(I Kk+1 Ck+1 )Bk uk + Kk+1 yk+1,

Pk+1/k+1 = (I Kk+1 Ck+1 )(Ak Pk/k ATk + Gk Qk GTk ),


Kk+1 =
k+1 =

(6)

T
(Ak Pk/k ATk + Gk Qk GTk )Ck+1
1
k+1 ,
T
T
Rk+1 + Ck+1 (Ak Pk/k Ak + Gk Qk GTk )Ck+1
;

(
xk/k1 , Pk,k1 ) (
xk+1/k , Pk+1/k ), on ralise alors un filtre prdicteur--un-pas :
xk/k1 + Bk uk + Ak Kk yk ,
xk+1/k = Ak (I Kk Ck )
Pk+1/k = Ak (I Kk Ck )Pk/k1 ATk + Gk Qk GTk ,

o Kk est dfinie en (5).

(7)

F. Rotella

Filtrage optimal

Bien que ces expressions napportent aucune simplification, il est ncessaire de remarquer
que, dans le filtre de Kalman, le filtre estimateur et le filtre prdicteur--un-pas, les expressions
permettant de calculer le gain Kk et les matrices de covariance Pk/k et Pk+1/k sont indpendantes des mesures yk et des valeurs de xk/k et xk+1/k . Elles peuvent donc tre calcules
lavance. On aboutit, partir de (5), (4), et (7), lquation de rcurrence fournissant Pk+1/k :
Pk+1/k = Ak Pk/k1 ATk + Gk Qk GTk
Ak Pk/k1 CkT (Rk + Ck Pk/k1 CkT )1 Ck Pk/k1 ATk ,

(8)

qui est une quation de Riccati permettant de calculer Pk/k et Kk par (4) et (5). Une fois
connues ces matrices, les filtres peuvent tre raliss par (6) ou (7) suivant que lon dispose ou
non de la sortie linstant k + 1.
2.0.3

Rsultats supplmentaires

Les matrices intervenant dans le filtre de Kalman ont les proprits particulires suivantes :
1. Llimination de Ck ou k dans (4) laide de (5) conduit directement aux expressions :
Pk/k = Pk/k1 Kk k KkT ,
= Pk/k1 Pk/k1 CkT (Rk + Ck Pk/k1 CkT )1 Ck Pk/k1 .

(9)

2. Lutilisation du lemme matriciel :


(A + BCD)1 = A1 A1 B(C 1 + DA1 B)1 DA1 ,

(10)

conduit directement, partir de (9), :


1
1
Pk/k
= Pk/k1
+ CkT Rk1 Ck .

(11)

3. Lutilisation du lemme matriciel sur k conduit :

soit, daprs (5) :

1
1
1
T 1
1 T 1
1
Ck Rk ,
k = Rk Rk Ck (Pk/k1 + Ck Rk Ck )
|
{z
}
Pk/k

(12)

Kk = Pk/k1 CkT Rk1 Pk/k1 CkT Rk1 Ck Pk/k CkT Rk1 .


| {z }
1
1
Pk/k Pk/k1

On obtient finalement :

Kk = Pk/k CkT Rk1 .

(13)

Cette relation est dinterprtation plus facile que la formule initiale (5) qui doit tre
envisage lorsque Rk est singulire. En eet, Kk est le gain de correction (4) et lon peut
faire le raisonnement qualitatif suivant :
6

F. Rotella

Filtrage optimal

confiance dans les prcdentes estimations (Pk/k1 faible) et doute dans les mesures (Rk
lev) doivent impliquer un gain Kk faible ;
doute sur les prcdentes estimations et confiance dans les mesures actuelles doit entraner un gain de correction lev,
ce qui est vrifi par la forme (13).
4. Comme yk/k1 = Ck xk/k1 ,il vient :
yk/k1 = yk yk/k1 = Ck xk/k1 + vk .

(14)

La matrice de covariance de lerreur de prdiction sur la sortie est alors donne par :
cov(
yk/k1 ) = Ck Pk/k1 CkT + Rk = k ,
ce qui permet de donner une interprtation vidente de la matrice k .
5. De mme que prcdemment, on a :
yk/k = yk yk/k ,

= yk Ck xk/k ,
= Ck xk/k + vk .

La matrice de covariance de lerreur destimation sur la sortie est alors donne par :
cov(
yk/k ) = Ck Pk/k CkT + Rk .
6. Daprs les relations prcdentes :
yk/k1 yk/k = Ck (
xk/k xk/k1 ),
ce qui, daprs (3) et (14), conduit :
yk/k1 yk/k = Ck Kk (Ck xk/k1 + vk ).
La matrice de covariance de lcart estimation-prdiction, en utilisant (9), est donne par :
cov(
yk/k1 yk/k ) = Ck Kk k KkT CkT = Ck (Pk/k1 Pk/k )CkT .
2.0.4

Modle bruits corrls

Dans le cas o les bruits de dynamique et de mesure de (??) sont corrls, il est possible
de reprendre toute ltude prcdente. Une faon plus rapide dtablir les quations du filtre
de Kalman correspondant consiste se ramener au cas dun modle bruits dcorrls par la
construction dun modle quivalent.
En eet, supposons que lon ait :
E{vk wlT } = SkT kl .
7

F. Rotella

Filtrage optimal

On introduit alors le nouveau vecteur de bruit de dynamique :


w
k = wk Sk Rk1 vk ,
pour lequel il est facile de vrifier que E{vk w
lT } = 0.
Lutilisation de ce bruit, dans les quations du modle initial (??), conduit directement au
modle quivalent cherch :
k yk + Gk w
k ,
xk+1 = Ak xk + Bk uk + G
yk = Ck xk + vk ,

(15)

k = Gk Sk R1 .
avec Ak = Ak Gk Sk Rk1 Ck , G
k
Les proprits statistiques des bruits de ce modle sont telles que :
k } = 0,
E{vk } = 0, E{w



vk
Rk 0
T T
[v w
E
] =
k kl ,
0 Q
w
k l l
k = Qk Sk R1 S T .
o Q
k
k
Il sut alors dappliquer, sur le systme (15), le filtre de Kalman discret dfini dans le cas
dun modle bruits non corrls. Les tapes de correction (4) et de calcul de gain (5) sont
conserves. Seule est modifie ltape de prdiction qui devient :
k yk ,
xk+1/k = Ak xk/k + Bk uk + G
k GT .
Pk+1/k = Ak Pk/k AT + Gk Q
k

(16)

k , il vient :
En tenant compte des expressions de Ak et G
xk+1/k = Ak xk/k + Bk uk + Gk Sk Rk1 (yk Ck xk/k ),
et lutilisation de (3) conduit la forme :
xk+1/k = Ak xk/k + Bk uk + Gk Sk Rk1 (I Ck Kk )(yk Ck xk/k1 ).
Or, daprs (5), on a la relation suivante :
Rk1 (I Ck Kk ) = Rk1 (I Ck Pk/k1 CkT 1
k ),

= Rk1 (k Ck Pk/k1 CkT ) 1


.
{z
} k
|
Rk

Ltape de prdiction (5) est donc modifie par ajout dun terme correcteur :
xk+1/k =

k (yk Ck xk/k1 ),
Ak xk/k + Bk uk +K
|
{z
}
partie pour Sk = 0
8

(17)

F. Rotella

Filtrage optimal

k = Gk Sk 1 .
o K
k
De mme, en dveloppant la deuxime expression de (16), on obtient :
T
Pk+1/k = Ak Pk/k
ATk + Gk Qk GTk Gk Sk Rk1 SkT GTk

+Gk Sk Rk1 Ck Pk/k CkT Rk1 SkT GTk

Gk Sk Rk1 Ck Pk/k ATk Ak Pk/k CkT Rk1 SkT GTk .


Lutilisation des relations (12), (13) et (17), nous permet dcrire :
k k K
T
Pk+1/k = Ak Pk/k ATk + Gk Qk GTk K
k
k k K T AT Ak Kk k K
T.
K
k

La dtermination de la matrice de covariance de ltape de prdiction du filtre de Kalman


pour un systme bruits corrls est donc dduite de celle obtenue dans le cas de bruits non
corrls par ajout dun terme correcteur. On a alors :
Pk+1/k = Ak Pk/k ATk + Gk Qk GTk +Ak Kk k KkT ATk Lk k LTk ,
|
{z
}
partie pour Sk = 0

(18)

k + Ak Kk .
o Lk = K
En rsum, pour un systme bruits corrls, il sut de remplacer les relations (3) par les
relations rajustes (17) et (18) pour obtenir le filtre de Kalman discret correspondant.
Lorsque lon sintresse la ralisation dun filtre prdicteur--un-pas pour un systme
bruits corrls, llimination de xk/k et Pk/k entre (17) et (18) conduit directement :
xk/k1 + Bk uk + Lk yk ,
xk+1/k = (Ak Lk Ck )

Pk+1/k = Ak Pk/k1 ATk + Gk Qk GTk Lk k LTk ,

Lk = (Ak Pk/k1 CkT + Gk Sk )(Rk + Ck Pk/k1 CkT )1 ,


o les matrices Pk/k1 et Lk peuvent tre calcules lavance par la rsolution de lquation de
Riccati :
Pk+1/k = Ak Pk/k1 ATk + Gk Qk GTk
(Ak Pk/k1 CkT + Gk Sk )(Rk + Ck Pk/k1 CkT )1
(Ak Pk/k1 CkT + Gk Sk )T .

A laide du modle quivalent bruits non corrls, on a donc dtermin le filtre de Kalman dans le cas gnral. Un autre avantage de ce modle est de permettre la simulation de
tout systme caractris par des bruits corrls. En eet, les programmes de gnration de
bruits blancs pseudo-alatoires ne permettent pas de gnrer des bruits corrls. Lutilisation
du modle quivalent avec bruits non corrls permet dutiliser des bruits non corrls w
k et
vk .

F. Rotella
2.0.5

Filtrage optimal

Le filtre Information

Le filtre Information est une formulation du filtre de Kalman en termes dinverses de matrices
de covariance (appeles matrices dinformations). Nous le prsenterons dans le cas dun systme
bruits non corrls, mais il va de soi que le cas dun systme bruits corrls serait trait de
la mme manire que prcdemment par lintermdiaire du modle quivalent (15). Soient les
estimations dfinies par les transformations :
1
zk/k1 = Pk/k1
xk/k1 ,
1
zk/k = Pk/k xk/k .

(19)

Le filtre Information est constitu des algorithmes de prdiction permettant de passer de


1
1
(
zk1/k1 , Pk1/k1
) (
zk/k1 , Pk/k1
) et des algorithmes de correction permettant de passer de
1
1
(
zk/k1 , Pk/k1 ) (
zk/k , Pk/k ).
1
1
La relation (11), que nous rappelons ici, donne le passage de Pk/k1
Pk/k
:
1
1
= Pk/k1
+ CkT Rk1 Ck .
Pk/k

(20)

Lutilisation du lemme matriciel dinversion (10) sur la relation (3) conduit :


1
= (I Lk GTk )Mk ,
Pk+1/k

o :

1 1
Mk = AT
k Pk/k Ak ,

Lk = Mk Gk 1
k ,
k =

Q1
k

(21)

+ GTk Mk Gk .

Une dualit apparait donc entre ltape de prdiction (resp. correction) du filtre de Kalman
et ltape de correction (resp. prdiction) du filtre Information. Par analogie avec (4), la matrice
Lk est la matrice de gain de correction du filtre Information. Ces calculs ne dpendant pas des
observations, la mme remarque que pour le filtre de Kalman sapplique donc ici, les matrices
dinformations et le gain du filtre peuvent tre calculs lavance.
On passe des estimations du filtre de Kalman celles donnes par le filtre Information par
les transformations (19). Cela fournit donc, daprs (4) et (13) :
1
1
xk/k = (Pk/k
CkT Rk1 Ck )
xk/k1 + CkT Rk1 yk ,
Pk/k
|
{z
}
1
Pk/k1

soit, pour ltape de correction :

zk/k = zk/k1 + CkT Rk1 yk .


De mme, partir de (3), on obtient :
1
1
1
xk+1/k = Pk+1/k
Ak Pk/k zk/k + Pk+1/k
Bk uk ,
Pk+1/k

10

(22)

F. Rotella

Filtrage optimal

ce qui se transforme, par (21), en :


1
k/k + Pk+1/k
Bk uk .
zk+1/k = (I Lk GTk )AT
k z

(23)

La dualit entre le filtre de Kalman et le filtre Information existe aussi ce niveau mais est
moins vidente car linfluence des mesures et des entres reste respectivement sur les tapes de
correction et de prdiction, alors que le gain passe de lune lautre des tapes. Les relations (20)
(23) constituent les formules de base du filtre Information.
Bien que les filtres de Kalman et Information soient quivalents, ce dernier sera prfr au
filtre de Kalman dans les cas suivants :
lorsque les connaissances statistiques sur ltat initial sont mal connues (ce qui peut
conduire une valeur propre de P0 trs grande), le filtre Information permet alors de
1
1
dmarrer lalgorithme de filtrage avec des matrices finies jusqu ce que Pk/k
et Pk+1/k
soient de rang plein. A partir de ce moment on peut reprendre le filtre de Kalman ;
lorsque la dimension du bruit de dynamique est infrieure la dimension du bruit de
mesure, par exemple lorsque le bruit de dynamique est un bruit dentre et que lon en
a moins dentres que de mesures. La matrice k a alors une taille plus petite que k , le
calcul du gain dans le filtre Information est donc plus rapide que dans le filtre de Kalman.

2.1

Le filtre de Kalman continu

Le filtre de Kalman-Bucy [13] rsout le problme de lestimation de ltat dun systme


continu dfini par lquation dtat :
x(t)
= A(t)x(t) + B(t)u(t) + G(t)w(t),
y(t) = C(t)x(t) + v(t),

(24)

o t reprsente le temps, x(t), ltat de dimension n, y(t), la mesure de dimension m, u(t),


lentre certaine de dimension l, w(t), le bruit dentre (ou de dynamique) de dimension l0 , et
v(t), le bruit de mesure de dimension m. On suppose que ces bruits sont blancs, gaussiens, et
connus par leurs matrices de covariance :
E{w(t)wT (t0 )} = Q(t)tt0 , E{v(t)vT (t0 )} = R(t)tt0 ,
xT (0)} = 0, E{w(t)
xT (0)} = 0,
E{v(t)wT (t0 )} = 0, E{v(t)

(25)

E{
x(0)
x (0)} = P0 ,
o t est limpulsion de Dirac en t, et en considrant x(0) comme une variable alatoire desprance m0 , x(0) = x(0) m0 .
Il serait possible en utilisant les mthodes destimation de variables alatoires, dtailles dans
lannexe A, de dterminer directement la structure du systme linaire fournissant la meilleure
estimation x(t/ ), au sens de la variance derreur minimale, de ltat de (24) t partir de
la connaissance de la mesure y depuis linstant initial jusqu linstant (la dmonstration est
analogue au cas des systmes discrets). Nous dterminerons ici le filtre de Kalman dans le cas
11

F. Rotella

Filtrage optimal

continu, par passage la limite partir des quations du filtre de Kalman dans le cas discret,
pour un problme de filtrage ( = t).
En toute rigueur, pour viter tout problme de dfinition en ce qui concerne les matrices
de covariance, il serait prrrable dutiliser la reprsentation direntielle dIto ([2, 21]) dun
systme continu stochastique :
dxt = At xt dt + Bt ut dt + Gt d t ,
dyt = Ct xt dt + d t ,
o d t et d t sont des mouvements browniens centrs tels que :
limdt0
limdt0

1
E{d t d Tt } = Q(t),
dt
1
E{d t d Tt } = R(t).
dt

Nous ne le ferons pas, car cette reprsentation, ainsi que sa justification, fait appel des
notions complexes en calcul stochastique. Bien que lassimilation de w(t) avec d Tt /dt et v(t)
avec d Tt /dt soit abusive en ce sens que t et t nadmettent pas de drives, les deux types
de reprsentation sont formellement quivalentes ([6, 7]) et nous utiliserons le modle (24), en
conservant lesprit que le bruit blanc est une limite qui nexiste pas.
2.1.1

Relations formelles entre les cas continu et discret

Le passage du modle continu au modle discret se fait en deux tapes, dune part par
discrtisation du modle (24) avec une priode dchantillonnage constante et dautre part,
par passage la limite en faisant tendre la priode dchantillonnage vers 0. Nous allons ici
tablir les relations ncessaires entre les modles discret (??) et continu (24) imposes par ces
transformations.
Soit la priode de discrtisation, la relation suivante (formelle) entre le symbole de Kronecker et limpulsion de Dirac :
ij
lim
= (ij) ,
0
impose les relations entre les matrices de convariances discrtes et continues :
lim Qk = Q(tk ),
= R(tk ).
lim Rk E

0
0

Dautre part, la discrtisation du modle continu, par la mthode simple dapproximation


dEuler, conduit , lorsque 0 :
xk+1 = (I + Ak )xk + Bk uk + Gk wk ,
yk = Ck xk + vk ,
o lindice k reprsente une valuation pour en k.
12

F. Rotella

Filtrage optimal

Lutilisation du filtre de Kalman sur ce systme donne, daprs lquation du prdicteur-un-pas (7) :
xk+1/k = (I + Ak )
xk/k1 + Bk uk + (I + Ak )Kk (yk Ck xk/k1 ),
ce qui peut scrire sous la forme :
xk+1/k xk/k1
Kk
=Ak xk/k1 + Bk uk + (I + Ak ) (yk Ck xk/k1 ).

En considrant :
xk+1/k xk/k1
lim
= x (t),
0

Kk
= K(t),
lim
0
lim xk/k1 = x(t),

(26)

(27)

on obtient partir de (26), lquation de lestimateur linaire continu du systme (24) :


x (t) = A(t)
x(t) + B(t)u(t) + K(t)(y(t) C(t)
x(t)).
2.1.2

(28)

Dtermination du gain optimal

Le gain optimal de lestimateur est dtermin galement par passage la limite partir des
quations discrtes. Daprs (27) et (5), on a :
Kk
,
0
= lim Pk/k1 CkT (Ck Pk/k1 CkT + Rk )1 .
|{z}
0
{z
}
|
R(t)
0

K(t) = lim

Soit, en notant lim0 Pk/k1 = P (t), il vient lexpression du gain optimal du filtre (28) :
K(t) = P (t)C T (t)R(t)1 .
En crivant (4), sous la forme :
Pk/k = Pk/k1
on arrive :

Kk
Ck Pk/k1 .

|{z} | {z }
0
K(t)

lim Pk/k = lim Pk/k1 = P (t).

Lquation de Riccati rcurrente (8) scrit ici :


Pk+1/k = (I + Ak )
[Pk/k1 Pk/k1 CkT (Rk + Ck Pk/k1 CkT )1 Ck Pk/k1 ]
(I + ATk ) + Gk Qk GTk ,
13

F. Rotella

Filtrage optimal

ce qui se met sous la forme :


Pk+1/k Pk/k1
= Gk Qk GTk + Ak Pk/k1 + Pk/k1 ATk
| {z }

Q(t)
(I + Ak )Pk/k1 CkT ( Rk + Ck Pk/k1 CkT )1
|{z}
|
{z
}
R(t)
0
Ck Pk/k1 (I + ATk ) + Ak Pk/k1 ATk .
En prenant la limite, quand 0, de chacun des deux termes de cette galit on aboutit
lquation direntielle de Riccati dfinissant lvolution de la matrice de covariance de lerreur
destimation :
P (t) = G(t)Q(t)GT (t) + A(t)P (t) + P (t)AT (t) P (t)C T (t)R(t)1 C(t)P (t).
2.1.3

(29)

Filtre de Kalman-Bucy

En rsum, le filtre linaire optimal du systme continu stochastique a pour structure :


x (t) = A(t)
x(t) + B(t)u(t) + K(t)[y(t) C(t)
x(t)],

(30)

avec x(0) = m0 et K(t) = P (t)C T (t)R(t)1 , o P (t) est la solution de lquation de Riccati (29)
telle que P (0) = P0 . On peut noter ici lanalogie entre les expressions de gains optimaux
discret (13) et continu (30).
Dans le cas o les bruits de mesure et de dynamique sont corrls :
E{w(t)vT (t0 )} = S(t) tt0 ,
on peut construire, comme dans le cas des systmes discrets, un filtre de Kalman-Bucy, en
faisant appel au modle quivalent bruits non corrls. Ce modle est dfini par :

x(t)
= A(t)x(t)
+ B(t)u(t) + G(t)w(t)
+ G(t)y(t),
y(t) = C(t)x(t) + v(t),
o :

= A(t) G(t)S(t)R1 (t)C(t),


A(t)
= G(t)S(t)R1 (t),
G(t)

(31)

w(t)
= w(t) S(t)R1 (t)v(t).

Dans ce modle quivalent, w(t)


est un bruit de dynamique dcorrl de v(t), dont la variance
est donne par :
1
T

E{w(t)
w
T (t0 )} = Q(t)
tt0 , Q(t) = Q(t) S(t)R (t)S (t).

Lutilisation de lestimateur (30), sur ce systme, conduit au filtre :


x(t) + B(t)u(t) + G(t)y(t)

x (t) = A(t)
+ K(t)[y(t)
C(t)
x(t)],
14

(32)

F. Rotella

Filtrage optimal

avec K(t)
= P (t)C T (t)R1 (t), o P (t) est la solution de lquation direntielle de Riccati :
T
P (t) + P (t)AT (t) P (t)C T (t)R1 (t)C(t)P (t),

(t) + A(t)
P (t) = G(t)Q(t)G

telle que P (0) = P0 .


Ce qui, compte tenu des relations (31) et (32), se met sous la forme :
x (t) = A(t)
x(t) + B(t)u(t) + L(t)[y(t) C(t)
x(t)],
o :
+ G(t)S(t)R1 (t) = [P (t)C T (t) + G(t)S(t)]R1 (t),
L(t) = K(t)
et P (t) est la solution de :
P (t) = G(t)Q(t)G(t) + A(t)P (t) + P (t)AT (t)
[P (t)C T (t) + G(t)S(t)]R1 (t)[P (t)C T (t) + G(t)S(t)]T ,
telle que P (0) = P0 .
Ces relations correspondent au filtre de Kalman-Bucy dans le cas dun systme bruits
corrls.

2.2
2.2.1

Commentaires sur le filtre de Kalman


Cas o certaines sorties sont non bruites

Lexistence de mesures non bruites implique la singularit de la matrice de covariance des


bruits de mesure. Il sensuit une dicult dapplication des filtres de Kalman (particulirement
dans le cas continu). Nous allons montrer que lapplication de la mthode de simplification,
utilise dans le cas des observateurs dterministes [20], permet de contourner cette dicult et
conduit une rduction notable du volume des calculs. Par raison de simplicit nous tablirons
les relations dans le cas des sysmes continus mais elles peuvent bien sr tre dtermines pour
le modle discret.
Considrons le systme continu stationnaire :
x(t)
= Ax(t) + Bu(t) + Gw(t),
y1 (t) = C1 x(t),
y2 (t) = C2 x(t) + v2 (t),
o x(t) Rn , y1 (t) Rm1 , reprsente les mesures non bruites, y2 (t) Rm2 , les mesures bruites, w(t) et v2 (t) sont des bruits centrs, non corrls, connus par leurs matrices de covariance :
E{w(t)wT (t0 )} = Q tt0 ,
E{v2 (t)v2T (t0 )} = R2 tt0 .

15

F. Rotella

Filtrage optimal

En supposant C1 de rang plein (ce qui est toujours possible par limination de mesures
redondantes), un changement de variables lmentaire permet de se ramener la forme :
X 1 (t) = A11 X1 (t) + A12 X2 (t) + B1 u(t) + G1 w(t),
X 2 (t) = A21 X1 (t) + A22 X2 (t) + B2 u(t) + G2 w(t),
y1 (t) = X1 (t),
y2 (t) = C21 X1 (t) + C22 X2 (t) + v2 (t).
La mesure y1 (t) donnant une estimation certaine de X1 (t), il reste construire un estimateur
fournissant une estimation de X2 (t). A partir des nouvelles mesures :
y20 (t) = y2 (t) C21 X1 (t),
z(t) = X 1 (t) A11 X1 (t) B1 u(t),
les quations donnant X2 (t) se ramnent :
X 2 (t) = A22 X2 (t) + A21 y1 (t) + B2 u(t) + G2 w(t),
Z(t) = CX2 (t) + V (t),

G1 w(t)
z(t)
A12
, V (t) =
Z(t) = 0
C=
.
y2 (t)
v2 (t)
C22
Ces quations font donc apparatre un modle bruits de dynamique et de sortie corrls,
dont les matrices de covariance sont :
E{w(t)wT (t0 )} = Q tt0 ,

G1 QGT1 O
T 0
tt0 ,
E{v(t)v (t )} =
0 = R
O
R2 tt

G1 Q
T 0
tt0 .
E{v(t)w (t )} =
tt0 = S
0
On construit alors le filtre de Kalman sur ce systme par la mthode dveloppe prcdemment sur un systme bruits corrls. Cel donne la structure :
2 (t)),
2 (t) + A21 y1 (t) + B2 u(t) + K(Z(t) C X
2 (t) = A22 X
X
o K est le gain optimal.
De la mme faon que dans le cadre des systmes dterministes, ce filtre implique (pour
la connaissance de z(t), donc de Z(t)) la drivation de la sortie y1 (t). Pour contourner cette
dernire dicult, on introduit la variable :
2 (t) K1 y1 (t),
Y (t) = X
o K = [K1 , K2 ], dont lquation dvolution se met sous la forme :
Y (t) = [A22 KC]Y (t) + [B2 K1 B1 ]u(t) + K2 y2 (t)

+[A21 K1 A11 K2 C21 + (A22 KC)K1 ]y1 (t).


16

F. Rotella

Filtrage optimal

Lestimation optimale de X2 (t) est alors fournie par la variable :


2 (t) = Y (t) + K1 y1 (t).
X
Rappelons que dans le cas dun systme discret, une dmarche analogue peut tre propose
et conduit galement un estimateur dordre rduit.
2.2.2

Modle bruits colors

Le cas que lon vient dtudier nintervient pas seulement lorsque certaines mesures sont
parfaites mais galement lorsque lhypothse de bruits de dynamique et de sortie blancs nest
plus vrifie. Supposons en eet,que les matrices de covariance de ces bruits sont de la forme
(par exemple, dans le cas discret) :
E{wk wT } = Qk ,
E{vk vT } = Rk .

(33)

Comme la transmission travers un filtre linaire stationnaire dun bruit blanc gnre,
pour les variances de ltat ou de la sortie, de telles squences de matrices de covariance. Ces
squences peuvent donc tre considres comme des rponses impulsionnelles. On cherche ainsi
deux systmes, appels filtres formateurs, dont lentre est une squence blanche { k }, telle que
E{ Tk l } = Nk k , et dont la sortie fournit les bruits wk et vk .
Lapplication dune mthode de ralisation conduit modliser les systmes gnrant {wk }
et {vk } partir de { k } sous la forme quations dtat :

dk+1 = Ad dk + Gd k ,
wk = C d dk + Ld k

mk+1 = Am mk + Gm k ,
vk = C m mk + Lm k
Lapplication du filtre de Kalman se fait alors sur le systme tat-augment, soit partir
de (??) :


xk+1
xk
Bk
Ak Gk C d 0
Gk Ld
dk+1 = 0
Ad
0 dk + Gd k + 0 uk ,
m
0
0
mk+1
mk
Gm
0 A
x
k

yk = Ck 0 C m dk + Lm k ,
mk

qui est un systme o les bruits sont blancs mais les bruits de sortie ou de mesure sont corrls
ou, si det(Lm Nk LmT ) = 0, la covariance des bruits de mesure est singulire.
Nous verrons, dans la partie consacre aux applications, que le filtre de Kalman est un filtre
formateur particulier.

17

F. Rotella
2.2.3

Filtrage optimal

Filtre stationnaire

Dans le cas de systmes stationnaires, cest--dire lorsque les paramtres ne dpendent pas
du temps, les gains optimaux des filtres de Kalman continus et discrets sont donns partir de
la solution des quations de Riccati suivantes :
cas continu :
P (t) = GQGT + AP (t) + P (t)AT P (t)C T R1 CP (t),
(34)
P (0) = P0 ;
cas discret :
P (k + 1) = AP (k)AT + GQGT
AP (k)C T [R + CP (k)C T ]1 CP (k)AT ,

(35)

P (0) = P0 ;

o les matrices A, G, C, Q et R sont des matrices constantes dfinissant lquation dtat


du processus considr. Nous nentrerons pas dans lanalyse de la stabilit de ces quations,
mais on a le rsultat suivant :
Thorme 1 Si (A, C) est une paire observable, le filtre optimal est asymptotiquement stable,
quelles que soient les matrices GQGT et R, dfinies positives et quelle que soit linitialisation
P0 . La matrice de covariance de lerreur destimation tend vers la solution unique et dfinie
positive des quations algbriques de Riccati :
pour le cas continu :
0 = GQGT + AP + P AT P C T R1 CP ;

(36)

P = AP AT + GQGT AP C T [R + CP C T ]1 CP AT .

(37)

pour le cas discret :

On a alors intrt, dans un but de simplification, remplacer le gain optimal K(t) (resp. Kk )
du filtre de Kalman, calcul partir de P (t) (resp. Pk ), par (34) (resp. (35)), par le gain optimal
constant donn par :
pour le cas continu :
Kc = P C T R1 ;
pour le cas discret :
Kd = P C T [R + CP C T ]1 ;
o P est solution de lquation continue (36) ou discrte (37) suivant le cas.
La dirence entre le filtre optimal et le filtre stationnaire sous-optimal ne se fera sentir
quen dbut de fonctionnement (on perd en eet des informations initiales) mais le gain en
temps de calcul peut tre, en contrepartie, apprciable. Dautre part, on peut montrer [9] que
le filtre de Kalman stationnaire ainsi dtermin est identique au filtre de Wiener dtermin
partir dune ralisation du signal alatoire x(t) [14]. Des mthodes numriques de rsolution
de ces quations de Riccati, qui interviennent galement en commande optimale [4, 16] ou en
commande robuste [25] sont dcrites dans [3, 15].
18

F. Rotella

Filtrage optimal

Mise en uvre dun filtre de Kalman

Concernant limplantation numrique dun filtre de Kalman, en particulier dans le cas discret, on peut faire quelques remarques qui vont permettre damliorer le comportement numrique des quations. En eet les algorithmes mettre en uvre contiennent des quations
matricielles de rcurrence et il y a lieu de conserver certaines proprits et ceci indpendamment des erreurs de troncature. Dautre part, le volume dinformation traiter simultanment
et la rsolution numrique des quations de Riccati ne doivent pas conduire des temps de
cacul trop longs. Nous dcrirons, ici succintement, des mthodes damlioration de chacun de
ces points en renvoyant [10] pour des explications plus dtailles.

3.1

La forme de Joseph

La forme (4) ne garantit pas, lors du passage de ltape de prdiction ltape de correction, la conservation des proprits de symtrie des matrices de covariances tout au long du
fonctionnement du filtre. Afin de pallier cet inconvnient, on peut utiliser une relation pour
le calcul de Pk/k , dite forme de Joseph. Lcriture de ltape de correction sous la forme :
xk/k1 + Kk yk ,
xk/k = (I Kk Ck )
permet dobtenir, pour lerreur destimation :
xk/k1 Kk vk .
xk/k = (I Kk Ck )
En prenant la covariance de ce vecteur, on obtient une expression de Pk/k sous forme de
Joseph :
Pk/k = (I Kk Ck )Pk/k1 (I Kk Ck )T + Kk Rk KkT ,
(38)
qui a lavantage de faire intervenir la somme de deux matrices dfinies positives ou semi-dfinies
positives. Par consquent, la symtrie et la dfinie positivit de Pk/k sont numriquement mieux
prserves que par (4). Dautre part, la forme de Joseph est moins sensible de petites erreurs
sur Kk . En eet, si lon dsigne par Kk une erreur commise lors du calcul de Kk , lutilisation
de (4) conduit une erreur Pk/k du premier ordre en Kk :
Pk/k = (Kk )Ck Pk/k1 ,
alors que (38) conduit :
Pk/k = (Kk )Ck Pk/k1 (I Kk Ck )T

(I Kk Ck )Pk/k1 CkT (Kk )T

+(Kk )Rk KkT + Kk Rk (Kk )T + o((Kk )2 ),

ce qui, aprs simplification laide de (5), donne :


Pk/k = o((Kk )2 ).
19

F. Rotella

Filtrage optimal

La forme de Joseph entrane donc une erreur du second ordre en Kk . A laide de (3),
(38) conduit la forme de Joseph pour Pk/k1 :
Pk+1/k = Ak (I Kk Ck )Pk/k1 (I Kk Ck )T ATk + Ak Kk Rk KkT ATk + Gk Qk GTk ,
qui implique galement une erreur Pk+1/k du deuxime ordre en Kk .
En ce qui concerne le filtre Information, on peut galement dterminer dautres relations,
1
numriquement mieux adaptes, permettant le calcul de Pk+1/k
.
1
Dune part, il est en eet facile de vrifier que la forme de Joseph de Pk+1/k
scrit :
T

1
T
= (I Lk GTk )Mk (I Lk GTk ) + Lk Q1
Pk+1/k
k Lk .

Dautre part, llimination de Lk et de k dans (21) conduit :


1

1
= Mk Mk Gk (Qk + GTk Mk Gk ) GTk Mk .
Pk+1/k
1
Or, daprs (20) et (21), Mk+1 et Pk+1/k
sont relies par :
1
T
1
1
Mk+1 = AT
k+1 [Pk+1/k + Ck+1 Rk+1 Ck+1 ]Ak+1 .

La suite des matrices Mk qui permettent de calculer les matrices dinformations par (21)
1
et Pk/k
= ATk Mk Ak , peut tre dtermine par la rcurrence de Riccati :
1
T
Mk+1 = AT
k+1 [Ck+1 Rk+1 Ck+1 + Mk
1

Mk Gk (Qk + GTk Mk Gk ) GTk Mk ]A1


k+1 .

3.2

Traitement squentiel des observations

Dans le cas o les mesures proviennent de sources statistiquement indpendantes, la matrice


de covariance des bruits de sortie est diagonale, soit :
Rk = diagi=1 {Rki }
et, en notant Cki la i-ime ligne de Ck , lon peut partitionner lquation de sortie de (??) sous
la forme :


Ck1
vk1
yk1
. . .
. . . . . .


.
.. ..
. = . xk + .. .


. . .
. . . . . .

yk
Ck
vk
Le traitement squentiel des observations consiste traiter squentiellement les composantes
lors de ltape de correction, laide de lalgorithme suivant :
initialisation :
x0k = xk/k1 , Pk0 = Pk/k1 ;

yk1 , . . . , yk

20

F. Rotella

Filtrage optimal

itration pour i = 1 :
ik = Cki Pki1 CkiT + Rki ,
Kki = Pki1 CkiT (ik )1 ,
xik = xi1
+ Kki (yki Cki xi1
k
k ),

(39)

Pki = [I Kki Cki ]Pki1 [I Kki Cki ]T + Kki Rki KkiT ;


estimation et covariance corriges :
xk/k = xk , Pk/k = Pk .
La dmonstration de ces relations est immdiate partir de la relation (11). Il vient, compte
tenu du partitionnement des matrices Ck et Rk :
1
1
= Pk/k1
+
Pk/k

CkiT (Rki )1 Cki ,

i=1

do lon peut tirer la formule de rcurrence :


(Pki )1 = (Pki1 )1 + CkiT (Rki )1 Cki , i = {1, . . . , },
avec Pk0 = Pk/k1 et Pk = Pk/k .
Lutilisation du lemme dinversion matricielle conduit la forme analogue (9) :
Pki = Pki1 Pki1 CkiT (ik )1 Cki Pki1 ,

(40)

o ik est dfinie en (39). La dernire relation de (39) correspond la forme de Joseph de (40).
Cet algorithme permet une rduction notable du volume des calculs (notamment par linversion de matrices de dimensions plus petites). Une conomie supplmentaire en temps de calcul
peut tre ralise dans le cas o Rk est rgulire. En eet, nous avons vu que, dans ce cas, la
valeur corrige est donne par :
xk/k = xk/k1 + Pk/k CkT Rk1 (yk Ck xk/k1 ),
et on peut liminer de lalgorithme de traitement squentiel toutes les estimations intermdiaires
xik , i = {1, . . . , }.
Dautre part, dans le cas o Rk nest pas diagonale, cet algorithme est utilisable moyennant un changement de variables de mesures. Dans le cas o Rk est rgulire, lalgorithme de
Cholewski (annexe C) permet de la factoriser sous la forme :
Rk = Tk TkT ,
o Tk est une matrice triangulaire infrieure. Le changement de variables sur la sortie :
yk = Tk1 yk ,
21

F. Rotella

Filtrage optimal

conduit lquation de sortie :


yk = Ck xk + vk ,
o Ck = Tk1 Ck et vk = Tk1 vk . La covariance des bruits sur cette sortie devient :
Rk = E{vk vkT } = Tk1 Rk (TkT )1 = I,
qui est une matrice diagonale.
Nous venons de montrer que lon peut se ramener une matrice diagonale, on peut donc
toujours aboutir un traitement squentiel ne ncessitant que linversion de scalaires.

3.3

Amlioration des performances

Lune des principales dicults de la mise en uvre du filtre de Kalman rside dans la
rsolution de lquation de Riccati donnant les matrices de covariance. Ce traitement implique
de nombreuses oprations arithmtiques qui peuvent entraner, par erreur darrondis, la non
positivit ou la non symtrie de ces matrices. Lamlioration de ces calculs peut se faire en
dterminant des formes factorises des matrices de covariance ou bien en diminuant le nombre
de calculs. Le premier point de vue conduit aux algorithmes factorisations et le deuxime
aux algorithmes de filtrage rapide. Dans cette partie, nous allons regarder successivement les
principes de base de chacun de ces deux types de mthode en notant quelles ont pour objet,
essentiellement, lamlioration de la rsolution dune quation de Riccati discrte.
3.3.1

Algorithmes factorisations

Parmi cette classe de mthodes, dont le principe de base consiste dcomposer la matrice
de covariance de lerreur destimation, on peut distinguer les algorithmes de type RC (racine
carre) et ceux de type UD (bass sur la factorisation UDU T dune matrice symtrique [22]).
Nous naborderons ici que le principe des algorithmes RC ceux de type UD pouvant tre traits
de manire similaire.
Les matrices de covariance Pk/k et Pk+1/k sont factorises sous la forme racine carre :
1/2

T /2

Pk/k = Pk/k Pk/k ,


1/2

T /2

Pk+1/k = Pk+1/k Pk+1/k ,


o P T /2 reprsente (P 1/2 )T et P 1/2 une racine carre de P , dont une mthode de calcul est
donne dans lannexe C. Le filtre de Kalman sera alors ralis partir des volutions des
1/2
1/2
matrices Pk/k et Pk+1/k . Il sagit donc de remplacer lquation de correction de la covariance :
Pk/k = Pk/k1 Pk/k1 CkT 1
k Ck Pk/k1 ,
k = Rk + Ck Pk/k1 CkT ,
1/2

1/2

par un algorithme ne faisant intervenir que Pk/k et Pk+1/k .


22

(41)

F. Rotella

Filtrage optimal

Soient les matrices :

T /2

Fk = Pk+1/k CkT ,

(42)

1/2

k = [Rk + FkT Fk ]1/2 ,


la relation (41) se met sous la forme :
1/2

T /2

T /2

1/2

Pk/k Pk/k = Pk/k1 [I Fk k

1/2

T /2

FkT ]Pk/k1 .

(43)

Lutilisation du lemme de factorisation matricielle (10) permet dcrire :


1/2

T /2

1/2

Pk/k = Pk/k1 [I Fk k

1/2

1
k k

FkT ],

o :
1/2

k = I + (I k

T /2 1/2

FkT Fk k

En tenant compte de la relation (42), il vient :


1/2

k = I + (k

T /2 1/2

Rk k

1/2

= k

1/2

1/2

[k + Rk ],

ce qui fournit ltape de correction sous forme RC :


1/2

T /2

1/2

1/2

(44)

Pk/k+1 = Ak Pk/k ATk + Gk Qk GTk ,

(45)

Pk/k = Pk/k1 [I Fk k

1/2

(k + Rk )1 FkT ].

Ltape de prdiction :
peut galement tre mise sous la mme forme. En introduisant les matrices suivantes :
1/2

Mk

1/2

= Ak Pk/k ,
1/2

Bk = Mk

1/2

Gk Qk

(46)
,

lquation (45) scrit sous la forme :


T /2

1/2

Pk/k+1 = Mk [I + Bk BkT ]Mk .


Par lapplication du lemme de factorisation matricielle (annexe C), on obtient directement
ltape de prdiction sous la forme RC :
1/2

1/2

T
Pk/k+1 = Mk [I + Bk 1
k Bk ],

(47)

o k = I + (I + BkT Bk )1/2 .
Les algorithmes bass sur les formules (44) et (47) sont respectivement appels algorithmes
dAndrews et de Dyer-Mc Reynolds et demandent la dcomposition de Cholewski (annexe C)
1/2
des matrices Rk , Rk + FkT Fk , Qk , I + BkT Bk et linversion des matrices triangulaires k ,
1/2
1/2
1/2
[k + Rk ] et des matrices Mk , et k .
23

F. Rotella
3.3.2

Filtrage optimal

Algorithmes de filtrage rapide

Les quations de filtrage rapide sont obtenues en exprimant les quations du filtre de Kalman, que nous rappelons ici :
Kk = Pk/k1 CkT 1
k ,
k = Rk + Ck Pk/k1 CkT ,
Pk+1/k = Ak Pk/k1 ATk + Gk Qk GTk
Ak Pk/k1 CkT (Rk + ck Pk/k1 CkT )1 Ck Pk/k1 ATk ,
en fonction des incrments de la matrice de covariance :
Pk = Pk+1/k Pk/k1 .
Les quations obtenues, que nous ne dmontrerons pas, sont dites quations de Chandrasekhar et peuvent tre rsumes sous la forme de lalgorithme suivant :
condition initiale : partir de la factorisation de P0 sous la forme :
P0 = L0 M0 LT0 ,
o L0 Rq , M0 R , = rang P0 ;
pour k N, la dcomposition Pk = Lk Mk LTk est mise jour par les tapes :
calcul de :
k+1 = k + Ck Pk CkT ,
T
]1
Kk+1 = [Kk k + Ak Pk CK
k+1 ;

calcul de Lk+1 et Mk+1 laide de deux types dexpressions quivalentes :

Mk+1 = Mk Mk LTk CkT 1


k+1 Ck Lk Mk ,
Lk+1 = [Ak Kk Ck ]Lk ,

Mk+1 = Mk Mk LTk CkT 1


k Ck Lk Mk ,
Lk+1 = [Ak Kk+1 Ck ]Lk .

Cet algorithme permet donc de calculer, par rcurrence, lincrment apporter chaque
itration dun filtre de Kalman. Le nombre des quations rsoudre, malgr leur non linarit,
est nettement moins lev que un algorithme de filtrage usuel.

Applications du filtrage

Le filtre de Kalman (continu ou discret) est utilis frquemment dans de nombreuses applications pratiques. Nous allons dtailler, dans cette partie, quelques principes dapplication
du filtre de Kalman en commande optimale, identification ou lissage de processus. Dautres
exemples dapplications sont proposs dans [8, 14].

24

F. Rotella

4.1

Filtrage optimal

Commande optimale stochastique

Lestimation statistique de ltat dun systme est gnralement eectue dans le but de
raliser une commande par retour dtat. Dans un cadre dterministe, la notion de rgulateurobservateur permet de gnrer une commande partir de ltat reconstruit [16]. Dans un cadre
stochastique, le principe de sparation indique que cette approche est galement valide. En
eet, le rsultat suivant, que nous ne dmontrerons pas, montre que la commande optimale
dun systme stochastique est obtenue en construisant la commande optimale obtenue sur le
systme dterministe associ laide de ltat estim partir dun filtre de Kalman [17].
Considrons le systme continu stochastique :
x(t)
= A(t)x(t) + B(t)u(t) + G(t)w(t),
y(t) = C(t)x(t) + v(t),
o les notations sont dfinies en (24). Rappelons que w(t) et v(t) sont des vecteurs alatoires
centrs, de matrices de covariance :
E{w(t)wT (t0 )} = Q(t) tt0 ,
E{v(t)v T (t0 )} = R(t) tt0 ,
E{v(t)v T (t0 )} = 0.
Le problme doptimisation stochastique consiste chercher la commande optimale minimisant le critre :

Z tf
T
T
T
J = E x (tf )Stf x(tf ) +
(x (t)M(t)x(t) + u (t)N (t)u(t))dt .
tO

Dans le cas dun systme o ltat est compltement accessible, la commande optimale a la
forme usuelle :
u (t) = N 1 (t)B T (t)P (t)x(t),
o P (t) est solution de lquation de Riccati :

P (t) = AT (t)P (t) P (t)A(t) M(t) + P (t)B(t)N 1 (t)B T (t)P (t),

(48)

avec P (tf ) = Stf . Par contre, dans le cas o seule la sortie est accessible (systmes tat non
compltement accessible), la commande optimale scrit sous la forme :
x(t),
u (t) = N 1 (t)B T (t)P (t)
o P (t) est dfinie par lquation de Riccati (48) et x(t) est lestimation optimale de x(t)
obtenue laide du filtre de Kalman continu :
x(t)],
x (t) = A(t)
x(t) + B(t)
u (t) + (t)C T R(t)1 [y(t) C(t)
o (t) est solution de lquation de Riccati :

(t)
= A(t)(t) + (t)AT (t) + G(t)Q(t)GT (t) (t)C T (t)R(t)1 C(t)(t),
25

F. Rotella

Filtrage optimal

avec (t0 ) = E{(x(t0 ) m0 )(x(t0 ) m0 )T } et m0 = E{(x(t0 )}.


Ces direntes relations [4] constituent le principe de sparation : si la commande et lobservateur sont calculs sparment, mais de faon optimale, alors lensemble, runi dans une
structure de commande de type rgulateur-observateur, sera galement optimal. Il faudra cependant faire attention la robustesse du controleur ralis qui nest pas garantie [5]. Les
relations ont t tablies dans un cadre continu mais peuvent bien sr ltre dans un cadre
discret.

4.2
4.2.1

Lissage
Principe du lissage

A partir dun ensemble de mesures sur [t0 , tF ], il sagit destimer ltat x dun systme
linstant t, t0 < t < tF . Le principe du lissage [11] consiste dterminer deux estimations de la
mme grandeur : xA (t), partir des informations passes (mesures ralises avant t) et xR (t),
partir des informations futures (mesures ralises aprs t). Puis on ralise une moyenne xL (t)
entre ces deux estimations, sous la forme :
xL (t) = PL (PA1 xA (t) + PR1 xR (t)),

(49)

ou PL = (PA1 + PR1 )1 , PA est la matrice de covariance derreur destimation obtenue par


le filtrage Aller t, et PR est celle obtenue par le filtrage Retour. La formule (49) peut
tre interprte immdiatement. En eet, les matrices de covariance derreur reprsentant la
prcision avec laquelle est connue lestimation (lorsque k P k diminue, la prcision augmente),
et il est naturel de prendre comme valeur lisse une pondration, laide des matrices de covariance, de chacune des estimations obtenues. Ce quil faut noter ici, cest que cette pondration
est optimale. En eet, on cherche lestimation dune variable x(t) partir :
dune condition initiale xA (t) de variance PA ;
dune mesure xR (t) de variance PR .
Comme tout se droule au mme instant, on peut considrer que x(t) est un systme formel
indpendant du tempsdont le fonctionnement est dfini par les matrices suivantes :
Ak = I, Bk = 0, Ck = I, Rk = PR , Pk/k1 = PA ,
et lapplication dun filtre de Kalman sur ce systme conduit, suivant les formules (4), (11) et
(13) aux expressions :
covariance de lerreur destimation (Pk/k = PL ) :
PL1 = PA1 + PR1 ;
gain du filtre optimal :
K = PL PR1 ;
estimation optimale :
xR (t) xA (t)),
xL (t) = xA (t) + K(

xA (t) + PL PR1 xR (t),


= [I PL PR1 ]
= PL (PA1 xA (t) + PR1 xR (t)),
26

F. Rotella

Filtrage optimal

qui justifient la formule de lissage (49).


4.2.2

Equations du filtre lisseur

Nous tablirons, pour tre plus brefs, les quations du filtre lisseur dans le cas dun systme
continu, la transposition au cas dun systme discret tant immdiate. Considrons le systme
continu :
x(t)
= Ax(t) + Bu(t) + Gw(t),
(50)
y(t) = Cx(t) + v(t),
o les notations sont dfinies en (24). Nous rappelons simplement ici que le vecteur initial x(0)
a pour moyenne a priori m0 et pour covariance centre a priori P0 . Les bruits v(t) et w(t)
sont centrs, non corrls et de covariances respectives R et Q. Les matrices peuvent dpendre
ventuellement du temps mais cette extension nore pas de dicult particulire et largument
t est ici omis. On suppose donc que lon connait y(t) pour t [0, T ] et on dsire construire un
filtre lisseur dcrivant lvolution de lestimation lisse xL (t) et la matrice de covariance derreur
de lissage PL (t), pour t [0, T ].
Filtres Aller et Retour Le filtre Aller est le filtre de Kalman continu associ au
systme (50). Ce filtre dcrit lvolution de xA (t) et PA (t) sous la forme des quations :
x A (t) = A
xA (t) + Bu(t) + PA (t)C T R1 [y(t) C xA (t)],
PA (t) = APA (t) + PA (t)AT + GQGT PA (t)C T R1 CPA (t),

(51)

partir des conditions initiales, xA (0) = m0 et PA (0) = P0 .


Pour obtenir le filtre Retour, le changement de variable, t0 = T t, conduit lquation
dvolution rtrograde du systme (50) :
dx(t0 )
= Ax(t0 ) Bu(t) Gw(t0 ),
dt0
y(t0 ) = Cx(t0 ) + v(t0 ).

(52)

Comme la covariance des bruits est inchange par cette transformation, le filtre de Kalman
continu sur (52) conduit aux quations dvolution de xR (t0 ) et PR (t0 ) :
d
xR (t0 )
= A
xR (t0 ) Bu(t0 ) + PR (t0 )C T R1 [y(t0 ) C xR (t0 )],
0
dt
dPR (t0 )
= APR (t0 ) PR (t0 )AT + GQGT PR (t0 )C T R1 CPR (t0 ).
dt0
Le filtre Retour est obtenu en revenant la variable t, ce qui donne :
xR (t) + Bu(t) PR (t)C T R1 [y(t) C xR (t)],
x R (t) = A
PR (t) = APR (t) + PR (t)AT GQGT + PR (t)C T R1 CPR (t),
qui doivent tre intgres rebours, partir des conditions finales xR (T ) et PR (T ).
27

(53)

F. Rotella

Filtrage optimal

Evolution de la covariance derreur de lissage Lutilisation de la relation :


(P 1 ) = P 1 P P 1 ,

(54)

permet dcrire, partir de (51) et (53) :


(PA1 (t)) = PA1 (t)A AT PA1 (t) PA1 (t)GQGT PA1 (t) + C T R1 C,
(PR1 (t)) = PR1 (t)A AT PR1 (t) + PR1 (t)GQGT PR1 (t) C T R1 C.

(55)

On obtient donc, daprs (55) :


(PL1 (t)) = PL1 (t)[A + GQGT PA1 (t)]

[A + GQGT PA1 (t)]T PL1 (t) + PL1 (t)GQGT PL1 (t).

PL (t) est donc dfini par lquation direntielle linaire :


(PL (t)) = [A + GQGT PA1 (t)]PL (t)
+PL (t)[A + GQGT PA1 (t)]T GQGT ,
avec PL (T ) = PA (T ) comme condition terminale.
Evolution de ltat liss A partir de la relation (49), on obtient :
xA (t) + PR1 (t)
xR (t)]
x L (t) = PL (t)[PA1 (t)
xA (t) + (PR1 (t))
xR (t) + PA1 (t)x A (t) + PR1 (t)x R (t)].
+PL (t)[(PA1 (t))
En utilisant les relations prcdentes, cela scrit, aprs quelques simplifications, sous la
forme :
x L (t) = A
xL (t) + Bu(t) + GQGT PA1 (t)[
xL (t) xA (t)],
(56)
avec xL (T ) = xA (T ).
Ainsi le lissage, dans sa version continue, peut tre obtenu par :
un filtrage Aller partir de la condition initiale m0 , P0 . On en dduit alors xA (t), PA (t)
pour tout t dans [0, T ], en particulier les valeurs finales xA (T ) et PA (T ) ;
un lissage Retour partir de ces valeurs finales, sur tout lintervalle [0, T ] par intgration
rebours du systme (56).
La version discrte, base sur des quations de rcurrence, conduit une formulation analogue.

4.3

Identification

Le filtrage permettant destimer des variables dynamiques partir dun ensemble de mesures, il est naturel quun des principaux domaines dapplication du filtre de Kalman soit aussi
28

F. Rotella

Filtrage optimal

lestimation de paramtres du systme. Ainsi le filtre de Kalman peut tre utilis en identification ou en commande adaptative. En tant que mthode didentification nous verrons que
lutilisation du filtre de Kalman peut se faire directement partir dune rgression linaire ou
bien sous la forme filtre en utilisant la notion de processus dinnovation. Dans ce paragraphe
nous ne ferons qubaucher ce type dapplications en renvoyant [18, 23] pour des plus amples
dtails.
4.3.1

Estimation de paramtres

De nombreuses mthodes didentification conduisent exprimer la relation entre les paramtres inconnus du systme et les mesures, sous la forme dune rgression linaire :
yk = Ck k + lk ,

(57)

o k est le vecteur des paramtres estimer, yk et Ck sont un vecteur et une matrice issus
des mesures et lk est un bruit (ou erreur) dquation.
Si lon suppose que la squence {lk } est la ralisation dune variable alatoire centre dont on
connait la variance , on peut, en considrant les paramtres dterminer comme constants,
rsoudre ce problme de faon rcurrente par un filtre de Kalman. En eet, les paramtres
constants sont dcrits par lquation dtat :
k+1 = k ,

(58)

ce qui, associ lquation de mesure (57) conduit au filtre estimateur optimal des paramtres :
k+1 =
k + Kk (yk Ck
k ),

Kk = Pk CkT (Ck Pk CkT + )1 ,


Pk+1 = Pk Kk Ck Pk .

dont les expressions sont rapprocher des formules de moindres carrs rcurrents.
Cette mthode peut galement tre employe (contrairement aux moindres carrs rcursifs)
dans des cas plus gnraux comme, par exemple, les systmes non stationnaires o les paramtres dpendent du temps. Lquation (58) est alors remplace par lquation dvolution :
k+1 = k + wk ,
o wk est un bruit blanc.
Dans le cas o lon ne peut pas se ramener la forme (57) (par exemple dans le cas modle
rgression non linaire ou lorsque lon procde lestimation simultane de paramtres et de
ltat dun systme), on utilise le filtre de Kalman tendu qui est une extension aux systmes
non-linaires du filtre de Kalman. Le principe du filtre tendu consiste appliquer un filtrage
linaire sur le systme non-linaire, linaris autour dun point de fonctionnement (avec toutes
les rserves sur les limites de validit que cela comporte).
Considrons le systme dfini par lquation dtat :
xk+1 = A()xk + B()uk + Gwk ,
yk = C()xk + vk ,
29

(59)

F. Rotella

Filtrage optimal

o A, B, C sont des matrices dpendant de paramtres regroups dans le vecteur , et lon


veut, dans un mme filtre, estimer simultanment ltat xk et . On construit le vecteur dtat
augment :

x
Xk = k ,
k

o k est dfini par lquation (58). Il est vident que le systme dcrivant Xk est non-linaire.
Aprs linarisation, un filtre de Kalman peut permettre destimer correctement toutes les variables.
4.3.2

Forme filtre

Linnovation est la dirence, non prvisible, entre la mesure ralise un instant donn
et la prdiction optimale de cette mesure, compte tenu des informations passes. Elle a pour
expression, suivant les formes obtenues dans le filtre de Kalman :
pour le cas continu :
y(t) = y(t) C x(t),
pour le cas discret :

yk = yk C xk/k1 ,

(60)

Dans le cas discret stationnaire, lvolution de la valeur filtre est donne par :
xk+1/k = A
xk/k1 + Buk + K yk ,

(61)

o K est la valeur limite du gain optimal.


Si le filtre est optimal, yk possde la proprit dtre une squence blanche, en eet, xk/k1
et wk sont orthogonaux toutes les mesures de y0 yk1 . Suivant les quations (60) et (61),
que lon peut mettre sous la forme (en posant xk+1/k = Xk+1 ) :
Xk+1 = AXk + Buk + K yk ,
yk = CXk + yk ,

(62)

on montre que la sortie du systme initial, sur lequel intervenait un bruit dentre et un bruit
de mesure, peut tre considre comme la sortie dun systme dtat Xk perturb par une
seule squence blanche de dimension infrieure aux squences alatoires {wkT , vkT } initiales. On
a donc intrt chercher directement une modlisation dun systme sous la forme filtre (62)
ou processus dinnovation. Lautre intrt de considrer cette forme est de pouvoir dterminer
directement K, gain limite optimal du filtre de Kalman du systme.
Si lon prend la transforme en z du processus dinnovation (62), il vient :
X(z) = (zI A)1 [BU(z) + K Y (z)],
soit :
Y (z) = [C(zI A)1 B]U (z) + [I + C(zI A)1 K]Y (z).

On reconnait alors un modle ARMAX de la forme :

A(z)Y (z) = B(z)U(z) + C(z)Y (z),


dont on peut dterminer les paramtres par des mthodes usuelles didentification [18].
30

(63)

F. Rotella

Filtrage optimal

Annexe A : Estimation optimale

Nous dcrivons, dans cette partie, quelques principes de base de la thorie de lestimation
dune variable alatoire par la mesure ou lobservation dune autre variable alatoire. De faon
gnrale, les variables considres sont vectorielles et nous distinguerons la variable alatoire
(en lettre capitale) de sa ralisation (en lettre minuscule).
Dautre part pour une variable alatoire X, nous noterons par fX (x) sa densit de probabilit, et pour tout couple de variables alatoires (X, Y ), fX/Y (x, y) et fX,Y (x, y) dsigneront
respectivement les densits de probabilit conditionnelles et conjointes de X et Y . Ces densits
sonr relies par le thorme de Bayes :
fX,Y (x, y) = fX/Y (x, y)fY (y) = fY /X (x, y)fX (x).
Lestimation optimale consiste raliser une estimation ponctuelle par loptimisation dun
critre. Nous allons en dcrire ici essentiellement deux : lestimation au maximum de vraisemblance et lestimation au sens des moindres carrs, cette dernire conduisant lestimation
linaire sous la forme du filtre de Kalman dont une dmonstration est propose lannnexe B.

5.1

Estimateur du maximum de vraisemblance

Pour une variable alatoire X dont la densit de probabilit, fX (x), est unimodale, la valeur
la plus probable (cest--dire vraisemblable), xp , est celle correspodant au maximum de cette
densit, soit :

d fX (x)
xMV = argx
=0 .
dx
Lorsque lon dispose de donnes mesures qui dpendent dune variable que lon cherche
estimer :
z = (),
lutilisation du principe prcdent indique que la valeur la plus probable de , soit MV , est celle
qui possde le plus de probabilit davoir produit le z que lon observe. Ainsi, partir de la
densit de probabilit conditionnelle fZ/ (z, ), appele fonction de vraisemblance lorsquelle
est considre comme une fonction de , on a :
MV = arg max fZ/ (z, ).

Quand la fonction de vraisemblance est direntiable et que le maximum est lintrieur


du domaine admissible, lexpression prcdente peut tre rcrite sous la forme :

MV = arg fZ/ (z, ) = 0 .

Comme la fonction logarithme est srictement croissante et quune densit de probabilit est
strictement positive, il est quivalent de maximiser fZ/ (z, ) ou log fZ/ (z, ), appele fonction
de log-vraisemblance. On obtient dans ce cas :

MV = arg logfZ/ (z, ) = 0 .


(64)

31

F. Rotella

Filtrage optimal

Lutilit de considrer la fonction de log-vraisemblance rside dans le fait que de nombreuses


variables alatoires, notamment des variables gaussiennes, ont des densits de probabilit, donc
des fonctions de vraisemblance potentielles, qui mettent en uvre des exponentielles.
Remarquons enfin qu laide du thorme de Bayes on peut crire :
fZ/ (z, ) =

fZ, (z, )
,
f ()

o fZ, (z, ) est la densit de probabilit conjointe des variables alatoires Z et et f () est
la densit de probabilit marginale de . On obtient ainsi :
logfZ/ (z, )
1
fZ, (z, )
1 f ()
=

fZ, (z, )

f ()
ce qui permet dcrire que, lorsque lcriture (64) est valide, MV est solution de lquation :
fZ, (z, )
f ()
= fZ/ (z, )
.

5.2

Estimation au sens des moindres carrs

Soient, X et Y des vecteurs alatoires lis. On peut sattendre ce que le fait dobserver
une valeur y pour Y puisse apporter une information sur la valeur correspondante (mais non
mesure) x de X. De faon plus prcise, en sachant que Y prend la valeur y, lestimation au sens
des moindres carrs x est celle qui minimisera, parmi tous les vecteurs z de mme dimension,
lesprance conditionnelle :
E{kX zk2 /Y = y} = E{[X z]T [X z]/Y = y}.

(65)

Cette estimation x, qui minimise une mesure dincertitude, est galement appele estimation
au sens du minimum de variance. Lutilisation de la proprit de linarit de E{.} conduit
crire le critre minimiser sous la forme :
E{kX zk2 /Y = y} = E{X T X 2z T X + z T z/Y = y},
= E{X T X/Y = y} 2z T E{X/Y = y} + z T z,
= E{X T X/Y = y} kE{X/Y = y}k2 + kz E{X/Y = y}k2 .
Comme seul le dernier terme dpend de z, le minimum de cette expression est obtenu pour :
z = x = E{X/Y = y}.

(66)

Ainsi lestimation au sens des moindres carrs est lesprance conditionnelle de X sachant
que Y prend la valeur y, et elle est donne par :
Z +
Z +
fX,Y (x, y)
x =
dx.
xfX/Y (x, y) dx =
x
fY (y)

32

F. Rotella

Filtrage optimal

Il est ncessaire de remarquer que lestimation optimale x (66) dpend de la valeur de y,


ainsi x peut tre considre comme la ralisation dune variable alatoire pour une valeur y

donne, sous la forme x = X(y).


Lestimateur au sens des moindres carrs est donc le vecteur

alatoire X =E{X/Y },qui ralise cette opration. Par construction, pour toute fonction g du
vecteur alatoire Y , on a :
)k2 /Y = y} E{kX g(Y )k2 /Y = y}.
E{kX X(Y
Si lon tient compte de lgalit suivante :
Z +
E{./Y }fY (y) dy = E{.},

(67)

(68)

la relation (67) scrit sous la forme :


)k2 } E{kX g(Y )k2 }.
E{kX X(Y

(69)

possde la proprit de minimiser E{kX g(Y )k2 pour toute fonction g de Y .


Ainsi, X
en dterminant x pour chaque y. Lorsque lon
Dans le cas sans contrainte on peut construire X
par exemple tre linaire, cette dmarche nest
impose des contraintes sur la structure de X,
plus valable et il peut exister des cas o lingalit (69) nest plus vrifie. Nous verrons dans la
suite la construction dun estimateur optimal linaire et que dans le cas de vecteurs alatoires
gaussiens lestimateur optimal est linaire.

5.3

Estimation linaire

Supposons connues les proprits statistiques des vecteurs alatoires X et Y :


moyennes :
E{X} = mX , E{Y } = mY ;

(70)

matrices de covariance :

E{(X mX )(X mX )T } = PXX ,


E{(X mX )(Y mY )T } = PXY ,
E{(Y mY )(Y mY )T } = PY Y .

(71)

Dans ces relations, X mX = XC et Y mY = YC reprsentent les vecteurs alatoires


centrs. On cherche ici construire lestimateur linaire optimal :
= Ao Y + Bo ,
X
minimisant la variance de lerreur destimation :
E{kX AY Bk2 }.
En dveloppant le deuxime terme de lidentit :
E{kX AY Bk2 } = trace E{[XC AYC BC ] [XC AYC BC ]T },
33

(72)

F. Rotella

Filtrage optimal

o BC = B mx + AmY , il vient :
T
+ APY Y AT ] + kBC k2 .
E{kX AY Bk2 } = trace [PXX PXY AT APXY

(73)

Lorsque PY Y est rgulire, lutilisation de lgalit suivante :


T
+ APY Y AT =
PXX PXY AT APXY
T
+ [A PXY PY1Y ]PY Y [A PXY PY1Y ]T ,
PXX PXY PY1Y PXY

conduit, crire (73) sous la forme :


T
] + kBC k2 +
E{kX AY Bk2 } = trace[PXX PXY PY1Y PXY
trace([A PXY PY1Y ]PY Y [A PXY PY1Y ]T ).

(74)

Cette expression est minimale, si lon a :


A = Ao = PXY PY1Y ,
B = Bo = mX PXY PY1Y mY .
Dans ce cas, lestimateur linaire optimal se met sous la forme :
= mX + PXY P 1 (Y mY ),
X
YY

(75)

o PXY et PY Y sont les matrices de covariance des variables centres dfinies en (71). La matrice
de covariance de lerreur de destimation est alors, daprs (74) :
T

T } = PXX PXY P 1 PXY


.
E{[X X][X
X]
YY

(76)

Lestimateur linaire (75), qui minimise a priori la variance derreur, possde les proprits
suivantes :
= 0. Il est noter que ceci reste
il est sans biais. (75) conduit directement E{X X}
vrai pour tout estimateur de la forme mX + A(Y mY ) avec A quelconque ;
lerreur destimation et la mesure sont non corrles (cela constitue le principe dorthogonalit) :
T } = E{(X X)(Y

E{(X X)Y
mY )T },
(77)
= E{[XC PXY PY1Y YC ]YCT },
1
= PXY PXY PY Y PY Y = 0.

De faon plus gnrale, lerreur destimation est non corrle avec toute fonction linaire

de Y , donc en particulier X.
Il est possible de montrer galement que si un estimateur linaire vrifie ces deux proprits
alors il minimise la variance derreur et on retrouve (75). Les relations que lon vient dobtenir
seront utilises pour tablir les expressions du filtrage linaire.

34

F. Rotella

5.4

Filtrage optimal

Estimateur optimal de variables gaussiennes

Nous allons montrer que, dans le cas particulier important de vecteurs, X et Y , alatoires
gaussiens, lestimateur optimal est linaire. Il sera donc de la forme (75).
Un vecteur alatoire Z de dimension n est gaussien (ou normal) si sa densit de probabilit
est de la forme :
1
1
exp [ (z m)T P 1 (z m)],
(78)
fZ (z) =
n/2
1/2
(2) |P | )
2
o m et P sont des vecteur et matrice de dimensions convenables et |P | dsign le dterminant
de P . On peut montrer que m reprsente la moyenne de Z, E{Z} = m, et P la matrice de
covariance de la variable alatoire centre, Z m, E{(Z m)(Z m)T } = P. Dans ce qui suit, la
notation N (m, P ) indiquera une variable alatoire gaussienne qui suit une loi normale dont la
densit de probabilit est de la forme (78). Limportance des variables gaussiennes rside dans le
thorme central limite qui montre quelles permettent de modliser de nombreux phnomnes
alatoires naturels.
Dans le cas o X et Y sont gaussiens, nous allons dterminer la forme de lestimateur

X = E{X/Y } minimisant la variance derreur a posteriori (65).


Posons les notations suivantes :

X
mX
PXX PXY
Z=
, M=
, P =
,
T
Y
mY
PXY
PY Y
o mX , mY , PXX , PXY , et PY Y sont dfinies en (70) et (71), et calculons la densit de probabilit
fX/Y (x, y). Suivant la loi de Bayes tendue aux vecteurs alatoires, on a :
fX/Y (x, y) = fZ (z)[fY (y)]1 .
Or Z et Y sont de la forme N (m, P ) et N (mY , PY Y ), ce qui donne, avec p = dim X et P 1
dcompose sous la forme :

SXX SXY
1
,
P =
T
SXY
SY Y
la densit de probabilit :

fX/Y (x, y) =

|PY Y |1/2
(2)p/2 |P |1/2 )

1
SXX
SXY
T
(z m) .
exp (z m)
T
SXY
SY Y PY1Y
2

Lutilisation de la formule dinversion dune matrice par blocs, conduit :


SXX
SXY
SY Y

=
=
=
=

1 ,
1 PXY PY1Y ,
T
PY1Y + PY1Y PXY
1 PXY PY1Y ,
T
.
PXX PXY PY1Y PXY
35

(79)

F. Rotella

Filtrage optimal

Ainsi, largument de lexponentielle dans (79) se met sous la forme :


1
[x mX PXY PY1Y (y mY )]T 1 [x mX PXY PY1Y (y mY )],
2

(80)

et, comme de plus |P | = |PY Y |||, on tire, de (79) et (80), la conclusion que E(X/Y ) est un
= E(X/Y )
vecteur alatoire gaussien N (mx + PXY PY1Y (y mY ), ). Lestimateur optimal X
est donc linaire et lon retrouve (75) sous la forme :
= PXY P 1 Y + [mX PXY P 1 mY ],
X
YY
YY
associ la variance derreur minimale a posteriori (76).

5.5

Estimation rcursive

Soient Y et Z, deux vecteurs alatoires. Lestimateur linaire optimal dun vecteur alatoire
X, partir de Y et Z, scrit daprs (75) :
1
E{X/W } = mX + PXW PW
W (W mW ),

(81)

o W T = [Y T , Z T ] et mTW = [mTY , mTZ ]. Dans le cas o Y et Z sont non corrls, on a :


PXW = [PXY , PXZ ],

0
PY Y
,
PW W =
0 PZZ
et il vient :
1
E{X/W } = mX + PXY PY1Y (Y mY ) + PXZ PZZ
(Z mZ ).

Soient :

alors :

/Y = E{X/Y } = mX + PXY P 1 (Y mY ),
X
YY

X/Y = X X/Y ,
/Y /Z} = E{X/Z} mX PXY P 1 E{(Y mY )/Z}.
E{X
YY

Or, Y et Z sont supposes non corrls, donc lestimateur (81) devient :


/Y + E{X
/Y /z}.
/Y,Z = X
X
La matrice de covariance derreur est donne, daprs (76), par :
T
1 T
1 T
PXX PXY PY1Y PXY
PXZ PZZ
PXZ = PX/Y,
PX/Y,Z
PZZ
PX/Y,Z
,

X/Y
T
/Y X

T }, et P
o PX/Y,
= E{X

X/Y
X/Y,Z = E{X/Y Z }.
/Y
Dans le cas o Y et Z sont corrles on se ramne au cas prcdent par lintermdiaire de
la variable :
Z/Y = Z E{Z/Y },

36

F. Rotella

Filtrage optimal

qui est non corrle avec Y (cf. (77)), et lon a :


E{X/W } = E{X/Y , Z/Y }.
Ainsi lestimateur linaire optimal prend la forme :
/Y /Z/Y },
/Y + E{X
E{X/W } = X
/Y = X X
/Y .
/Y = E{X/Y }, et X
o X
La matrice de covariance de lerreur de lestimation est alors, dans ce cas, gale :
1
T
PX/Y,
PZ/Y,
PX/Y,
.
PX/Y,

X/Y
Z/Y
Z/Y
Z/Y

(82)

De ces considrations on peut tirer la dtermination de lestimateur linaire optimal rcursif dun vecteur alatoire X partir dune suite de vecteurs alatoires Y1 , Y2 , . . ., Yk+1 . Cet
/k+1 est donn daprs ce qui prcde par :
estimateur not X
/k + E{X
/k /Yk+1/k },
/k+1 = X
X
o :

(83)

/k = X E{X/Y1 , . . . , Yk },
/k = X X
X
Yk+1/k = Yk+1 E{Yk+1 /Y1 , . . . , Yk }.

/k+1 est donne par :


Daprs (82),la matrice de covariance de lerreur destimation X
1
P T
.
P
/k X
/k Yk+1/k PY
/k+1 = PX
/k PX

X/k+1 X
Y
k+1/k k+1/k X/k Yk+1/k

(84)

Annexe B : Dmonstration des quations du filtre de


Kalman

Dans toute la suite, pour ne pas allourdir les notations, nous confrondrons les variables
alatoires et leurs ralisations.
Pour le systme stochastique (dont nous rappelons les quations pour plus de clart) :
xk+1 = Ak xk + Bk uk + Gk wk ,
yk = Ck xk + vk ,
lentre uk , ainsi que les matrices Ak , Bk , Gk , Ck sont des grandeurs certaines. Ltat initial x0
est non corrl avec les bruits de sortie (vk ) et de dynamique (wk ) qui sont connus par :
E{x0 } = m0 , E{(x0 m0 )(x0 m0 )T } = P0 ,
E{wk } = 0, E{vk } = 0, E{wk vjT } = 0,

E{wk wjT } = Qk kj , E{vk vjT } = Rk kj .

Le problme du filtre de Kalman est de dterminer lquation rcurrente de lestimateur


optimal xk+1/k de xk+1 partir de la squence de sortie Yk = {y0 , y1 , . . . , yk }. En utilisant les
principes destimation rcursive dune variable alatoire par un ensemble de variables alatoires
nous allons tablir simplement les relations dun filtre prdicteur--un-pas.
37

F. Rotella

6.1

Filtrage optimal

Forme prdicteur--un-pas

Supposons connus xk/k1 = E{xk /Yk1 } et la matrice de covariance Pk/k1 de lerreur


destimation xk/k1 = xk xk/k1 . Lutilisation de la formule destimation rcursive (83) conduit
crire :
xk+1/k = xk+1/k1 + E{
xk+1/k1 /
yk/k1 },
o :

xk+1/k1 = xk+1 xk+1/k1 ,


yk/k1 = yk yk/k1 ,

= yk Ck xk/k1 ,

(85)

= Ck xk/k1 + vk .

Daprs les principes destimation linaire optimale, on a :


T
T
E{
xk+1/k1 /
yk/k1 } = E{
xk+1/k1 yk/k1
}[E{
yk/k1 yk/k1
}]1 (
yk/k1 ),

car xk+1/k1 et yk/k1 sont des variables centres. Dautre part, la matrice Pk+1/k de covariance
de lerreur destimation xk+1/k = xk+1 xk+1/k est donne, suivant (84), par :
T
xk+1/k1 xTk+1/k1 } E{
xk+1/k1 yk/k1
}
Pk+1/k = E{

T
}]1 [E{
xk+1/k1 yT k/k 1}]T .
[E{
yk/k1 yk/k1

Or, par linarit de lestimateur linaire optimal, il vient :


xk+1/k1 = Ak xk/k1 + Bk uk ,
car yk1 ne dpend (linairement) que de x0 , w0 , . . ., wk2 et vk1 , il est donc non corrl wk .
Ainsi (71) et (72) conduisent :
xk+1/k1 = Ak xk/k1 + Gk wk .

(86)

De (85) et (86), on tire les matrices de covariance :


E{
xk+1/k1 xTk+1/k1 } = Ak Pk/k1 ATk + Gk Qk GTk ,

T
} = Ak Pk/k1 CkT ,
E{
xk+1/k1 yk/k1

(87)

T
} = Ck Pk/k1 CkT + Rk .
E{
yk/k1 yk/k1

La structure rcursive du filtre de Kalman prdicteur--un pas est donc, en combinant les
relations prcdentes :
xk+1/k = Ak xk/k1 + Bk uk + Kk (yk Ck xk/k1 ),
o :

Kk = Ak Pk/k1 CkT (Ck Pk/k1 CkT + Rk )1 ,


Pk+1/k = Ak Pk/k1 ATk + Gk Qk GTk Kk Ck Pk/k1 ATk .

(88)

(89)

Linitialisation de ces rcurrences se fait, pour k = 0, par x0/1 = m0 et P0/1 = P0 . En


eet, en labsence du toute information, il est naturel de prendre comme meilleures estimations,
les donnes statistiques que lon possde sur ltat initial.
38

F. Rotella

6.2

Filtrage optimal

Dcomposition du filtre

Si lon pose :
k = Ck Pk/k1 CkT + Rk ,
Kk = Pk/k1 CkT 1
k ,

(90)

xk/k = xk/k1 + Kk (yk Ck xk/k1 ).

la dernire tape apparat bien comme une tape de correction compte-tenu des informations
reues linstant k. Si lon note Pk/k la matrice de covariance de lerreur destimation aprs
correction, on obtient :
T
Pk/k = Pk/k1 E{
xk/k1 yk/k1
}KkT

T
Kk [E{
xk/k1 yk/k1
}]T + Kk k KkT .

Or lutilisation de (86), (87) et la non corrlation des bruits de sortie et de dynamique


permet de montrer que :
T
E{
xk/k1 yk/k1
} = Pk/k1 CkT ,
ce qui conduit :
Pk/k = Pk/k1 Kk k KkT ,

= Pk/k1 Pk/k1 CkT 1


k Ck Pk/k1 ,

(91)

= [I Kk Ck ]Pk/k1 ,

qui termine ltape de correction.


Lutilisation de (90) et (91) permet de mettre (89) sous la forme dune tape de prdiction :
xk+1/k = Ak xk/k + Bk uk ,
Pk+1/k = Ak Pk/k ATk + Gk Qk GTk .
Lapplication de ce filtre en deux parties peut se faire en commenant par ltape de prdiction ou ltape de correction. Dans le premier cas linitialisation se fera par x0/0 = m0 , et
P0/0 = P0 , alors que dans le second cas les conditions initiales seront les conditions initiales du
filtre prdicteur--un-pas (88).

Annexe C : Racine carre

On dsigne par racine carre dune matrice A(n n), toute matrice carre S de mme taille,
telle que A = SS T . S est souvent note A1/2 , S 1 et S T sont notes respectivement A1/2 , et
AT /2 . Dautres formules de calcul matriciel et factorisations de matrices utiles peuvent tre
trouves dans [22].

39

F. Rotella

7.1

Filtrage optimal

Lemme de factorisation matricielle

Thorme 2 Pour toute matrice (n, p), on peut factoriser la matrice (In T ) sous la
forme :
(In T ) = (In 1 T )(In 1 T )T ,
(92)

avec = Ip + (Ip T )1/2 .

Pour montrer ce rsultat, il sut de remarquer que le dveloppement de(92) donne :


T = [1 + T 1 T T ]T .

(93)

Soient D = (Ip T )1/2 et = Ip + D, on obtient les relations suivantes :


DDT = Ip T ,
+ T T = Ip + D + DT + DDT ,
= (Ip + D)(Ip + D)T ,

ce qui conduit :
1 + T 1 T T = Ip ,

et lidentit (93) est vrifie.


Une forme quivalente de ce thorme est :

In + T = (In + 1 T )(In + 1 T )T ,
avec = Ip + (Ip + T )1/2 .

7.2

Dcomposition de Cholewsky

La dcomposition de Cholewsky permet de factoriser une matrice symtrique dfinie positive


P (q q) sous la forme :
P = TI TIT ,
o TI est une matrice triangulaire infrieure dordre q.
Cette dcomposition permet donc de dterminer une racine carre dune matrice symtrique,
sous forme triangulaire infrieure. Un algorithme dual permettrait galement de trouver une
racine carre sous la forme triangulaire suprieure. Les coecients tij de TI sont obtenus en
crivant les relations :
P
i {1, . . . , q}, pii = ik=1 t2ik ,
P
i {1, . . . , q}, j {1, . . . , i 1}, pij = jk=1 tik tjk ,
(94)


o : P = pij i1,...,q , TI = tij i1,...,q , avec tij = 0 pour j > i.
j1,...,q

j1,...,q

Les galits (94) permettent donc la dtermination des coecients non nuls de TI par
lalgorithme suivant :
40

F. Rotella

Filtrage optimal

pi1
pour i de 1 q : ti1 = ;
p11
j1
X
1
pour j de 2 i 1 : tij =
[pij
tik tjk ];
tjj
k=1
v
u
i1
X
u
tii = tpii
t2ik .
k=1

Le calcul des coecients tij de TI est alors eectu ligne par ligne, de la gauche vers la
droite et de haut en bas.

41

F. Rotella

Filtrage optimal

Rfrences
[1] Arnold, L., Stochastic dierential equations : theory and applications, John Wiley & Sons,
1974.
[2] Astrm, K.J., Introduction to stochastic control theory, Academic Press, 1970.
[3] Bittanti, S., Laub, A.J., Willems, J.C., Eds, The Riccati equation, Springer-Verlag, 1991.
[4] Borne, P., Dauphin-Tanguy, D., Richard, J.P., Rotella, F., Zambettakis, I., Commande et
optimisation des processus, Technip, 1992.
[5] Borne, P., Rotella, F., Commande optimale, Techniques de lingnieur, T.8 : Mesures et
contrle, R-7427, Dunod, 1996.
[6] Boudarel, R., Delmas, J., Guichet, P., Commande optimale des processus, tome 1, Dunod,
1967.
[7] Bozzo, C.A., Le filtrage optimal, tome 1, Technique et Documentation, 1982.
[8] Bozzo, C.A., Le filtrage optimal, tome 2, Technique et Documentation, 1983.
[9] Faurre, P., Clerget, M., Germain, F., Oprateurs rationnels positifs, Modles mathmatiques pour lInformatique, vol. 8, Dunod, 1979.
[10] Favier, G., Filtrage, modlisation et identification de systmes linaires stochastiques
temps discret, Editions du CNRS, 1982.
[11] Fraser, D.C., Potter, J.E., The optimum linear smoother as a combination of two optimum
linear filters, IEEE Trans. Aut. Control, vol. AC-14, pp. 387390, 1969.
[12] Kalman, R.E., A new approach to linear filtering and prediction problems, Trans. ASME
ser. D, J. Basic Engineering, vol. 82, pp. 3545, 1960.
[13] Kalman, R.E., Bucy, R.S., New results in linear filtering and prediction problems, Trans.
ASME ser. D, J. Basic Engineering, vol. 83, pp. 95108, 1961.
[14] Kamen, E.W., Su, J.K., Introduction to optimal estimation, Springer, 1999.
[15] Kucera, V., Riccati equations and their solution, The control handbook, Levine, W., Ed.,
CRC Press, 1996.
[16] Lewis, F.L., Syrmos, V.L., Optimal control, John Wiley & Sons, 1995.
[17] Lewis, F.L., Optimal estimation with an introduction to stochastic control, John Wiley &
Sons, 1986.
[18] Ljung, L., System identification : theory for the user, Prentice Hall, 1987.
[19] Mc Kean, H.P., Jr, Stochastic integrals, Academic Press, 1969.
[20] OReilly, J., Observers for linear systems, Academic Press, 1983.
[21] Papoulis, A., Probability, random variables and stochastic processes, Mc-Graw Hill, 1965.
[22] Rotella, F., Borne, P., Thorie et pratique du calcul matriciel, Technip, 1995.
[23] Walter, E., Pronzato, L., Identification de modles paramtriques, Masson, 1994.
[24] Wiener, N., Extrapolation, interpolation ou smoothing of stationnary time series, MIT
Press, 1949.
[25] Zhou, K, Doyle, J., Glover, Robust and optimal control, Prentice Hall, 1995.
42