Vous êtes sur la page 1sur 73

Le filtrage au cours des ges

Du filtre de Kalman au filtrage particulaire


Andr Monin
Objectif
Estimer l'tat d'un systme dynamique perturb alatoirement
aux vues d'un processus d'observation
Dmarche
Modlisation globale du systme
Etat du systme
Processus dobservation
Analyse du modle
Linaire / Non linaire
Bruits Gaussiens / Non Gaussiens
Observabilit
Choix dun critre destimation
Dsignation dune technique de filtrage adapte au
modle
Modlisation
Base la modlisation : Processus stochastiques =
Variable alatoire indice par le temps
Description par probabilit conjointe
Fonction de rpartition :
Mesure de probabilit :
Densit de probabilit :
Moments (moyenne, autocorrlation, ) :


Pr(X
t
0
< x
t
0
,X
t
1
< x
t
1
,..., X
t
n
< x
t
n
)

dP
X
t
0
... X
t
n
(x
t
0
,..., x
t
n
)

p
X
t
0
... X
t
n
(x
t
0
,..., x
t
n
)

E[X
t
0
k
0
...X
t
n
k
n
]
Analyse dun processus stochastique
Objectif : Sparer partie prvisible / martingale
Modle dtat gouvern par des bruits blancs
Bruits blancs = Processus ralisations
indpendantes dans le temps (et de moyenne nulle)
Ignotus
Donnes
t
w
Bruit
) , (
1 t t t
w x f x =
+
Capteurs
t
x
Etat
t
v
Bruit
t
y
) , (
t t t
v x h y =
Systme
dynamique
) ,..., (
0 t t
y y F x =
Objectif : Estimer ltat Calculer F
Filtre
Estimateur
t
x
t
y
Objectif
Proprits fondamentales des bruits blancs
Indpendance :
Dcorrlation :
Densit spectrale de puissance :

dP
W
t
0
...W
t
n
(w
t
0
,...,w
t
n
) = dP
W
t
0
(w
t
0
)...dP
W
t
n
(w
t
n
)

E[w
t
w
s
] =Qo
0
(t s)

S
ww
( f ) = Q
Caractrisation des bruits blancs temps
continus
Drive (formelle) dun processus accroissements
indpendants
, les variables sont indpendantes
Il nexiste que deux catgories :
PAI trajectoire continue : Mouvement Brownien
PAI purement discontinus : Processus de comptage marqu

t
0
< t
1
<...< t
n

X
t
1
X
t
0
,..., X
t
n
X
t
n1
Mouvement Brownien
Trajectoire continue
Limite de la marche alatoire
Ralisation gaussienne de puissance infinie
Nulle part drivable
Bruit blanc

E[|
t
2
] = Qt

E[d|
t
] = 0

E[d|
t
2
] =Qdt

S( f ) = cste
Exemple de ralisation du mouvement Brownien
Exemples
Bruit thermique, lectronique
Bruit lectromagntique

Processus de comptage
Processus valeurs entires de frquence

N
t


Pr(N
t
N
s
= n) =
1
n!

n
(t s)
n
e
(ts)

E[N
t
] = t

E[dN
t
k
] = dt, k >1
Exemple de ralisation
Processus de comptage marqu
Sauts rgls par un processus de comptage
Les amplitudes sont alatoires, indpendantes de
et de distribution connue :

N
t

N
t

Pr[U <u]

dt
t
= udN
t

t
t
= udN
t
(u)
U
}

E[dt
t
] = E[u]dt

E[dt
t
k
] = E[u
k
]dt, k >1
Exemple de ralisation
Exemples
Emission dlectrons dun tube vido
Radioactivit
Apparition de pannes
Dclenchement de manoeuvre
Evnements sismiques

Processus markoviens
Modle dtat :
Processus accroissements indpendants

t
1
<... <t
n
, Pr(X
t
n
< x | X
t
n
1
,..., X
t
1
) = Pr(X
t
n
< x | X
t
n
1
)

dx
t
= f (x
t
)dt + g(x
t
)d|
t
+ k(x
t
, u)dN
t
U
}
(du)

|
t
N
t
(du)

`
)
Echantillonnage
Traitements numriques => chantillonnage
Thorme de Shannon : un signal continu spectre born par
la frquence F doit tre chantillonn au moins 2F.
Filtrer avant dchantillonner
F
2F
Echantillonnage dun signal bruit
Signal spectre born par F
Bruit blanc gaussien de d.s.p.
Filtrage passe-bas F => inchang
Densit spectrale de
Puissance =

y
t
= x
t
+

|
t

x
t


|
t

N
0

x
t

2N
0
F

N
0

F

F
Echantillonnage dun signal bruit
Bruit blanc gaussien de variance
Attention : Frquence plus basse =>
puissance plus faible mais bruit non blanc

y
kT
= x
kT
+w
k

w
k

2N
0
F

N
0

F

F
Discrtisation dun systme dynamique markovien
Intgration durant la priode dchantillonnage T
Bruits blancs

dx
t
= f (x
t
)dt + g(x
t
)d|
t
+ k(x
t
, u)dN
t
U
}
(du)

x
k+1
e
= x
k
e
+ f (x
t
)dt
kT
(k+1)T
}
+ g(x
t
)
kT
(k+1)T
}
d|
t
+ k(x
t
, u)dN
t
U
}
(du)
kT
(k+1)T
}

x
k+1
e
~ x
k
e
+ f (x
k
e
)T + g(x
k
e
)A|
k
+ k(x
k
e
, u)AN
k
(du)
U
}

AN
k
(du) = N
(k+1)T
(du) N
kT
(du)

A|
k
= |
(k+1)T
|
kT
Discrtisation dun systme dynamique markovien (suite)
Processus accroissements indpendants
Bruit blanc gaussien temps discret

A|
k
= |
(k+1)T
|
kT

|
t

A|
k
Discrtisation dun systme dynamique markovien (suite)
Processus de comptage
Bruit blanc poissonien temps discret

AN
k
(du) = N
(k+1)T
(du) N
kT
(du)

N
t

AN
k
~

P[AN
k
(du) =1.U e[u, u +du[] = Tp(u)du

P[AN
k
(du) = 0] =1T
Rsultat de la modlisation
Modle dynamique de prdiction de lvolution du systme
Distribution de ltat initial
Distribution du bruit blanc
Equation dobservation

x
t+1
= f (x
t
, w
t
)

p
X
0
(x
0
)

p
W
t
(w
t
)

y
t
= h(x
t
) +v
t
Exemple de modlisation
Mobile soumis une force alatoire

m x
t
= k x
t
+ f
t

x
t+1
= x
t
+v
t
At
v
t+1
= (1
k
m
At )v
t
+
At
m
f
t






f
t+1
= f
t
+t
t
Evolution de la position
Evolution de la vitesse
Evolution de la force applique
Critres destimation
Minimum de variance
Maximum de vraisemblance
Dans les deux cas : calcul de la probabilit conditionnelle

min E[|| x
t
x
t
||
2
] x
t
= E[x
t
| y
0
,..., y
t
]

Max p(x
0
,..., x
t
| y
0
,..., y
t
)
Filtrage rcursif des systmes temps discret
Evolution de la probabilit conditionnelle
Prdiction

x
t+1
= f (x
t
, w
t
)
y
t
= h(x
t
) +v
t




p(x
t+1
| y
0
,..., y
t
) = p(x
t+1
, x
t
|
}
y
0
,..., y
t
)dx
t
= p(x
t+1
| x
t
,
}
y
0
,..., y
t
)p(x
t
| y
0
,..., y
t
)dx
t
= p(x
t+1
| x
t
) p(x
t
| y
0
,..., y
t
)dx
t
}
Correction (Bayes)
Prdiction + Correction

p(x
t+1
| y
0
,..., y
t+1
) =
p(y
t+1
| x
t+1
, y
0
,..., y
t
) p(x
t+1
| y
0
,..., y
t
)
p(y
t+1
| y
0
,..., y
t
)
=
p(y
t+1
| x
t+1
) p(x
t+1
| y
0
,..., y
t
)
p(y
t+1
| y
0
,..., y
t
)

p(x
t+1
| y
0
,..., y
t+1
) =
p(y
t+1
| x
t+1
) p(x
t+1
| x
t
) p(x
t
| y
0
,..., y
t
)dx
t
}
p(y
t+1
| x
t+1
)
}
p(x
t+1
| x
t
) p(x
t
| y
0
,..., y
t
)dx
t
dx
t+1
}
Cas linaire gaussien : le filtre de Kalman
Evolution de la probabilit conditionnelle
Prdiction

+ =
+ =
+
t t t
t t t
v Hx y
Gw Fx x
1

E[w
t
w
t
T
] =Q
E[v
t
v
t
T
] = R






P
t+1|t
= FP
t|t
F
T
+GQG
T

x
t+1
= F x
t
Correction

x
t+1|t+1
= x
t+1|t
+ K
t
(y
t+1
H x
t+1|t
)
K
t
= P
t+1|t
H
T
(HP
t+1|t
H
T
+ R)
1
P
t+1|t+1
= P
t+1|t
K
t
(HP
t+1|t
H
T
+ R)K
t
T





Dtection optimale
Observation dun systme par un processus continu
Plusieurs modes de fonctionnement possibles
Critre bayesien minimum derreur

p(y | H
1
)
p(y | H
0
)
>
p(H
0
)
p(H
1
)
H
1
choisi
Rsolution
Sous chaque hypothse , on a un modle du type
Calcul de la probabilit conditionnelle :
Utiliser le terme de normalisation pour prendre la dcision

H
i

x
t+1
= f
i
(x
t
, w
t
)
y
t
= h
i
(x
t
) +v
t




p(x
t
| Y
0
t
, H
i
) =
p(Y
0
t
| X
0
t
, H
i
)p(X
0
t
| H
i
)dX
0
t1
}
p(Y
0
t
| H
i
)

p(Y
0
t
| H
1
)
p(Y
0
t
| H
0
)
>
p(H
0
)
p(H
1
)
H
1
choisit
Fin de la premire partie.
Mise en oeuvre du Filtrage
et Exemples dapplication
Modlisation du systme
Variables continues
Variables dtat (positions, vitesses, )
Perturbations (bruits de dynamique, bruits dobservations,)
Gaussiennes (bruits des capteurs, drives, )
A occurrence poissoniennes (changements de manoeuvre,)

Equations dvolution (modles Markoviens)
Variables discrtes
Variables dtat (hypothses, variables binaires, )
Dynamique (chanes de Markov)


Analyse du modle
Approximations locales
Linaires
Polynomiales

Approximations globales
Densit de probabilit de ltat (somme de dirac, somme de
gaussiennes, )
Densits de probabilit des bruits (idem)
Dsignation de la technique de filtrage adapte
Mthode optimale exacte (quasi unique)
Systme linaire
Bruits Gaussiens
Filtre de Kalman
(Kalman 1960)
Approximations Linaires Locales
Systmes localement linaire
Bruits quasi gaussiens
Rapports bruit dynamique/bruit dobservation petit
Ecart type initial petit
(petit = cart type destimation < domaine de validit de la
linarisation)
Filtre de Kalman tendu
(Breakwell 1967)
Filtre de Kalman sur le systme linaris
Filtre de Kalman tendu
Linarisation des quations du systme (dynamique +
observation) autour de lestimateur.
Filtre de Kalman sur le systme linaris

x
t+1
= f (x
t
) + g(x
t
)w
t
y
t
= h(x
t
) +v
t




x
t+1
~ f ( x
t|t
) +
cf
cx
|
x
t|t
(x
t
x
t|t
) + g( x
t|t
)w
t
y
t
~ h( x
t|t1
) +
ch
cx
|
x
t|t1
(x
t
x
t|t1
) +v
t





Filtre de Kalman Etendu (2)
Prdiction :
Correction
Valide si et restent dans le domaine de validit de la
linarisation

x
t+1|t
= f ( x
t|t
)
P
t+1|t
=
cf
cx
|
x
t|t
P
t|t
cf
T
cx
|
x
t|t
+g( x
t|t
)Qg( x
t|t
)
T






x
t+1|t+1
= x
t+1|t
+ K( x
t+1|t
)(y
t+1
h( x
t+1|t
))
K( x
t+1|t
) = P
t+1|t
ch
T
cx
|
x
t+1|t
ch
cx
|
x
t+1|t
P
t+1|t
ch
T
cx
|
x
t+1|t
+R
|
\

|
.
|
1
P
t+1|t+1
= P
t+1|t
K( x
t+1|t
)
ch
cx
|
x
t+1|t
P
t+1|t
ch
T
cx
|
x
t+1|t
+R
|
\

|
.
|
K( x
t+1|t
)
( )
T












P
0

P
t+1|t
Approximations Bilinaires Locales
Systme bilinaire ou localement bilinaire
Observation linaire ou polynomiale
Bruits ventuellement non-gaussiens
Filtrage de Volterra
(Monin&Salut 1996)
Choix dune classe paramtrique de filtres polynomiaux
Calcul des paramtre optimaux par projection
Modle bilinaire
Restriction une classe de systmes non linaires
ralisables en dimension finie

x
t+1
= Fx
t
+Gx
t
w
t
y
t
= Hx
t
+v
t




z
t
= A
t
1
z
t1
+ A
t
0
y
t
x
t
= A
t
2
x
t1
+ z
t
y
t




z
t
= |
1
(t, t
2
)A
t
2
0
y
t
2
t
2
=0
t

x
t
= |
2
(t, t
1
)z
t
1
y
t
1
t
1
=0
t









x
t+1
= K(t, t
1
, t
2
)y
t
1
y
t
2
t
2
t
1

t
1
=0
t


K(t, t
1
, t
2
) =|
2
(t, t
1
)|
1
(t
1
,t
2
)A
t
2
0
Optimisation des paramtres par minimisation de
lerreur quadratique moyenne

A
0
,A
1
,A
2
min
E[|| x
t
x
t
||
2
]

x
t
= A
t
2
x
t1
+ A
t
1
z
t1
y
t
+ A
t
0
y
t
2

min
A
0
E[(x
t
x
t
)y
t
2
] = 0

min
A
1
E[(x
t
x
t
)z
t1
y
t
] = 0

min
A
2
E[(x
t
x
t
) x
t1
] = 0
Inversion rcursive dun systme linaire

x
t
= A
t
2
x
t1
+ A
t
1
z
t1
y
t
+ A
t
0
y
t
2

min
A
0
A
t
2
E[ x
t1
y
t
2
]+ A
t
1
E[z
t1
y
t
3
]+ A
t
0
E[y
t
4
] = E[x
t
y
t
2
]

min
A
1
A
t
2
E[ x
t1
z
t1
y
t
]+ A
t
1
E[z
t1
2
y
t
2
]+ A
t
0
E[z
t1
y
t
3
] = E[x
t
z
t1
y
t
]

min
A
2
A
t
2
E[ x
t1
x
t1
]+ A
t
1
E[z
t1
y
t
x
t1
]+ A
t
0
E[y
t
2
x
t1
] = E[x
t
x
t1
]
Exemple acadmique : Bruit poissonien
Processus de comptage de frquence 1/10

x
t+1
= Fx
t
+GAN
t
y
t
= x
t
+v
t




AN
t
Erreurs de filtrage en fonction du degr
Comparaison des estimations
Approximations globales
Il existe une approximation linaire locale valide
Lcart type initial est grand
grand = cart type destimation >> domaine de validit de la linarisation

Approximation par somme de Gaussiennes
(Alpach&Sorenson 1972)
Partitionnement de lespace dtat (tat initial distribu comme
somme de gaussiennes)
Construction des filtres de Kalman tendus pour chaque partition
Evaluation des vraisemblances de chaque filtre (pondrations)
Estimateur global = somme pondre de gaussiennes
Filtres de Kalman en parallle
Partition du domaine dincertitude initiale
Pour chaque partition : Filtre de Kalman tendu
Evaluation de la vraisemblance de chaque partition
Densit de probabilit initiale :
Evolution des filtres de Kalman tendus :
Calcul des pondrations :

p(x
0
) =
1
N
G(x
0
x
0|0
i
, P
0|0
i
)
i=1
N


x
t+1|t+1
i
= f (x
t|t
i
)+ K
t
i
(y
t+1
h( f (x
t|t
i
)))
P
t+1|t+1
i
=...

p
t+1
i
=
G(y
t+1
h(x
t+1|t
i
), E
t+1
i
)
p
t+1
k
k=1
N

p
t
i
E
t+1
i
= h
x
(x
t+1|t
i
)P
t+1|t
i
h
x
(x
t+1|t
i
)
T
+ R
Estimateur

p(x
t
| Y
O
t
) = p
t
i
G(x
t
x
t|t
i
, E
t
i
)
i=1
N


x
t|t
= p
t
i
x
t|t
i
i=1
N

o
t
2
= p
t
i
(P
t|t
i
+(x
t|t
i
x
t|t
)
i=1
N

(x
t|t
i
x
t|t
)
T
)
Evolution de la densit de probabilit
3035 km
2890 km
11,4
Exemple : Traitement du signal LORAN-C
Modlisation
Dynamique du porteur
Equation dobservation

x
t+1
= x
t
+v
t
cos(k
t
)At
y
t+1
= y
t
+v
t
sin(k
t
)At
v
t+1
= v
t
+w
t
k
t+1
= k
t
+w'
t








z
t
= a
t
s(t r(D
t
))+ A
t
l
s(t r(D
t
) t
l
)
l=1
L

143m 100m
Erreur destimation en longitude
Erreur destimation en latitude
78m
385m
Approximations globales
Il existe une approximation linaire locale
Lcart type initial est grand
Les bruits de dynamiques sont de type Gaussiens et grands
(Les perturbations font sortir le filtre du domaine de validit de la linarisation)
Approximation par somme de Gaussiennes
(Alpach&Sorenson 1972)
Partitionnement de lespace dtat = somme de Gaussiennes (n)
Partitionnement de lespace des bruits = somme de Gaussiennes (p)
Construction des filtres de Kalman tendus pour chaque partition (n.p)
Evaluation des vraisemblances de chaque filtre (pondrations)
Explosion combinatoire => slection de n parmi n.p (regroupements, rejets)

Approximation par somme de Gaussiennes
Modle :
Densit de probabilit du bruit dynamique : somme de gaussiennes

x
t
= f (x
t1
) + g(x
t1
)w
t
y
t
= h(x
t
) +v
t




p(w
t
) =
i
I(w
t
w
i
,Q
i
)
i=1
p

p(v
t
) = I(v
t
, R)
Ignotus
Approximation par somme de Gaussiennes (2)
A linstant t-1 :
Prdiction :
Avec :

p(x
t1
| Y
0
t1
) = p
t1
i
I(x
t
x
t1|t1
i
i=1
N

, P
t1|t1
i
)

p(x
t
| Y
0
t1
) = p
t1
i

j
I x
t
f x
t1
( ), g x
t1
( )Q
j
g x
t1
( )
T
( )
}
I x
t1
x
t|t1
i
, P
t|t1
i
( )
dx
t1
j=1
p

i=1
N

~ p
t1
i

i
I(x
t
x
t|t1
i, j
,
j=1
p

P
t|t1
i, j
)
i=1
N


x
t|t1
i, j
= f x
t|t1
i
( )
+ g x
t|t1
i
( )
w
i
P
t|t1
i, j
= f
X
x
t|t1
i
( )
P
t|t1
i
f
X
x
t|t1
i
( )
T
+ g x
t|t1
i
( )
Q
j
g x
t|t1
i
( )
T
Ignotus
Approximation par somme de Gaussiennes (3)
Correction :
Nxp Kalman tendus :
Pondrations :

p(x
t
| Y
0
t1
) p
t1
i

j
I y
t
h x
t
( )
, R
( )
I(x
t
x
t|t1
i, j
, P
t|t1
i, j
)
j=1
p

i=1
N

~ p
t
i, j
I(x
t
x
t|t
i, j
,
j=1
p

P
t|t
i, j
)
i=1
N


x
t|t
i, j
= x
t|t1
i, j
+ K
t
i, j
y
t
h x
t|t1
i, j
( ) ( )
K
t
i, j
= P
t|t1
i, j
h
X
x
t|t1
i, j
( )
T
h
X
x
t|t1
i, j
( )
P
t|t1
i, j
h
X
x
t|t1
i, j
( )
T
+ R
|
\

|
.
|
1
P
t|t
i, j
= P
t|t1
i, j
K
t
i, j
h
X
x
t|t1
i, j
( )
P
t|t1
i, j
h
X
x
t|t1
i, j
( )
T
+ R
|
\

|
.
| K
t
i, j
( )
T

p
t
i, j
=
p
t1
i

j
I y
t
x
t|t1
i, j
( )
, E
t
i, j
( )
p
t1
i

j
I y
t
x
t|t1
i, j
( )
, E
t
i, j
( )
i, j=1
N

Ignotus
Approximation par somme de Gaussiennes (4)
Slection :
Critre de slection le plus simple : ne retenir, parmi les
Nxp gaussiennes, que les N de poids les plus levs
+ renormaliser

p
t
i, j
=
p
t1
i

j
I y
t
x
t|t1
i, j
( )
, E
t
i, j
( )
p
t1
i

j
I y
t
x
t|t1
i, j
( )
, E
t
i, j
( )
i, j=1
N

Approximations globales
Aucune approximation locale nest valide
Les bruits sont non Gaussiens
Filtres particulaires
(Huillet&Salut 1989 / Gordon 1993)
Approximation de la distribution par somme de Dirac pondrs
Exploration de lespace dtat par simulation alatoire
Evaluation des vraisemblances de chaque particules (pondrations)
Redistributions des particules (alatoire ou dterministe)
Ignotus
Filtrage particulaire
Modle trs gnral :
Conditions de mise oeuvre :
Savoir simuler la loi de
Pouvoir calculer explicitement

x
t
= f (x
t1
, w
t
)
y
t
= h(x
t
, v
t
)




p y
t
| x
t
( )

w
t
Ignotus
Filtrage particulaire (2)
Reprsentation de la mesure probabilit par une somme
de mesures de Dirac :
Prdiction : Simulation de Monte-Carlo de la dynamique
O sont tirs indpendamment suivant la loi de

p x
t1
| Y
0
t1
( )
~
1
N
o
x
t1
i
(x
t1
)
i=1
N


x
t
i
= f (x
t1
i
, w
t
i
)

w
t
i
{ }
i=1
N

p x
t
| Y
0
t1
( )
~
1
N
o
x
t
i
(x
t
)
i=1
N

Ignotus
Filtrage particulaire (3)
Redistribution : Tirage des nouvelles particules selon la loi
multinomiale
Correction : Pondration par la formules Bayes :

p x
t
| Y
0
t
( )
~
p y
t
| x
t
( )
1
N
o
x
t
i
(x
t
)
i=1
N

p y
t
| x
t
( )
1
N
o
x
t
i
(x
t
)
i=1
N

dx
t
}
=
1
N
p y
t
| x
t
i
( )
o
x
t
i
(x
t
)
i=1
N

1
N
p y
t
| x
t
i
( )
i=1
N


p x
t
| Y
0
t
( )
~
1
N
o
x
t
i
(x
t
)
i=1
N

Ignotus
Filtrage particulaire (4)
Initialisation
Prdiction/Pondration
Redistribution
Ignotus
Variantes de lalgorithme : redistributions
Ne redistribuer que si le nuage de particules est dgnr
=> Cumuler les poids
Aprs redistribution, affecter au lieu de

Redistribution dterministe : maximum de vraisemblance


p
t
i
=
p
t1
i
N
i

1
N
Evolution des particules avec redistributions
(LORAN-C)
Rsum

Algorithmes candidats Domaines dapplication spcifiques Etat technologique / rfrences
Kalman
Dynamique linaire
Bruits Gaussiens
Kalman Etendu
Dynamique linarisable
Bruits quasi-Gaussiens
Bruits dynamique faibles
Poursuite
Depuis plusieurs dcennies :
systmes de navigation embarques,
de localisation,
Kalman Etendu parallle
Dynamique linarisable
Bruits quasi-Gaussiens
Bruits dynamique faibles
Acquisition + poursuite
Industrialis depuis les annes 90 :
Poursuite de cibles balistiques
faiblement manoeuvrantes
Filtrage particulaire
particules ponctuelles
Dynamique non linarisable
Bruits quelconques
Acquisition + poursuite
Filtrage particulaire
particules Gaussiennes
Dynamique linarisable
Bruits quelconques
Acquisition + poursuite
Technologie mergente. Dj
oprationnelle sur des systmes de
localisation,


Fin