Filtrage de Kalman sous Matlab
RÉSUMÉ
Un texte d’environ 250 mots résumant les objectifs, la méthodologie, les résultats et les
conclusions de l'exposé.
Il est obligatoire d’utiliser une copie de ce fichier pour préparer votre manuscrit. SVP, remplacer
les titres et le texte sans modifier le format.
Maximum de 5 pages, tout inclus.
Mots-clés: Le filtrage de Kalman, processus de Gauss Markov, stasionnarite , bruit
blanc,MATLAB.
INTRODUCTION
Le filtrage de Kalman, inventé presque en même temps que l'observation d'état donne
une solution optimale à une classe de problèmes bien posés et une solution satisfaisante assez
souvent. D'un certain point de vue, cette efficacité du filtrage de Kalman loin de ses hypothèses
canoniques a fini par occulter son réel champ d'application.
La technique du filtre de Kalman est un outil privilégié de l’estimation des modèles structurels à
composantes inobservables. Elle consiste en un ensemble d’équations récursives et procède en
deux temps. Premièrement, une étape de filtrage qui permet d’obtenir la meilleure approximation
de l’état Zt du système à l’instant « t », conditionnellement à l’information disponible jusqu’en t.
Deuxièmement, une étape de lissage qui donne l’approximation optimale du vecteur d’état à
l’instant t, conditionnellement à toute l’information disponible sur l’ensemble de la période, de 1 à
T. Le lissage fournit des estimations des diverses composantes inobservables (tendance, cycle
et irrégularité) de la série initiale, permettant ainsi de la désagréger instant par instant.
MÉTHODOLOGIE
Définition du filtre de Kalman
Les algorithmes permettant d’identifier l’état a partir des mesures sont appelés des filtres
car leur action est de restituer l’état du système en éliminant les incertitudes et les bruits qui
perturbent l’information que nous avons sur l’état.
on distingue deux types de filtrage selon le système étudier:
cas continu
Notations
Temps : t 2 R
Vecteur d’état : X(t) 2 Rp
Vecteur des mesures : Z(t) 2 Rm
o`u {X(t)}, {Z(t)} = processus aléatoires continus.
Filtrage
Opération qui consiste `a estimer l’état d’un système dynamique `a partir d’observations
partielles et bruitées.
Mesures bruitées disponibles a l’instant t : {Z(_ ), _ 2 [0, t]}
Lien « signal/mesures » `a l’instant t : Z(t) = h (X(t)) + V (t)
o`u
Z(t) ! observations
h (X(t)) ! signal fonction de l’état
V (t) ! bruit additif supposé connu
cas discret
Processus aléatoires discrets
Temps : k 2 Z
Vecteur d’état : Xk 2 Rp
Vecteur des mesures : Zk 2 Rm
o`u {Xk}, {Zk} = processus aléatoires discrets.
Mesures bruitées disponibles `a l’instant k :
Z0:k = {Zl, l = 0, 1, 2, . . . , k}
Lien « signal/mesures » `a l’instant k :
Zk = h (Xk) + Vk
o`u
Zk __ observations
h (Xk) ! signal fonction de l’état
Vk ! bruit additif supposé connu
Le filtre de Kalman est fonde sur un schéma du type prédiction-correction. Il utilise l’information
d’innovation pour corriger la prédiction de l’état en prenant en compte l’estimation antérieure. le
principe du filtrage de kalman consiste a se placer dans une modelisation probabiliste des
incertitudes de modelisation et des bruits de mesure pour calculer le gain d’innovation. la
reconstitution de l’etat en fonction des mesures est alors un probleme d’estimation bayesienne,
c'est-a-dire qu’on determine la loi de probabilite
de l’etat a posteriori au vu des mesures disponibles.
2) Principe du filtre de Kalman discret
On s’intéresse au cas discret :
Le filtre de Kalman discret permet d’estimer l’état X(k), de statistique connue, d’un système
évoluant au cours d’un temps discrétisé a partir d’observations partielles et bruitées. Cet état est
gouverne par l’équation linéaire :
On dispose d’une suite de mesure Y(k) obtenus grâce aux capteurs et ces mesures sont reliées
a l’état du système par la relation linéaire :
.
Lorsque l’on regroupe ces deux équations linéaires nous obtenons le système dynamique
suivant :
Les matrices W et V représentent le bruit de d’état et le bruit de mesure de matrice de
covariance respective Qw et Qv. La matrice A est une matrice de propagation et la matrice H
peut être interprète comme une matrice de passage. Le système dynamique une fois pose le
problème est le suivant :
A l’itération k nous récupérons une mesure Y(k). Cette mesure, comme le traduit l’équation de
mesure, possède une information sur l’état du système à l’ instant k ainsi qu’un bruit de mesure.
De ce fait a l’itération k nous avons en notre possession l’ensemble des mesures précédentes
{Y(0),..., Y(k)} notée σ(k) et le but du jeu est de préciser l’état X(k) du processus connaissant les
σ(k)= {Y(0),..., Y(k)}. Cela revient a dire que nous voulons donc trouver un estimateur de X(k) le
plus performant possible connaissant la suite σ(k). Le critère d’estimation choisi est celui du
minimum de variance. C'est-a-dire celui qui minimise l’écart quadratique moyen entre
l’estimateur de X(k) sachant la suite σ(k) et la ≪ vraie ≫ valeur X(k) :
On peut montrer que l’estimateur a minimum de variance est égal a la moyenne conditionnelle
de X soit
donc on doit calculer mathématiquement de la densité de probabilité conditionnelle
.
On peut notamment montrer que cette moyenne conditionnelle est un estimateur sans biais.
I Présentation du problème
Au cours de ce projet, on va reprendre un exemple, processus de Gauss Markov. Le processus
considéré est stationnaire ; sa densité spectrale de puissance est donnée par :
Les observations du processus sont entachées de bruits dont les caractéristiques restent
à déterminer. on dispose de deux mesures bruitées du même signal à chaque instant.
Dans un premier cas, les bruits de mesures affectant chaque série de mesure
sont décorrélés. Les bruits d’état et de mesure sont également décorrélés.
Dans un second cas, les bruits de mesures affectant chaque série de mesure
sont corrélés. Les bruits d’état et de mesure sont décorrélés.
Dans un troisième cas, les bruits de mesures affectant chaque série de mesure
sont corrélés. Les bruits d’état et de mesure sont corrélés.
Le modèle d’état continu pour ce système s’écrit:
Avec : A = -1
B = sqrt (2).
u est un bruit blanc gaussien
On échantillonne toutes les 20 ms. On montre que le modèle d’état discret pour ce processus
s’écrit :
avec
Et
On montre que vk est aussi une séquence blanche gaussienne, et que sa covariance Qk s’écrit :
Dans notre cas
Nous allons maintenant passer à l’application de ce filtrage de Kalman, en examinant l’effet du
filtrage pour les trois cas de mesures vu précédemment.
Application du filtre a un système dont les bruits de mesure et les bruits d’état sont
décorrélés
1. caractéristiques des bruits :
La première figure montre l’évolution temporelle des deux bruits de mesures. Ensuite on peut
voir la densité spectrale de ces bruits.
L’analyse des histogrammes montre bien que ces deux signaux sont Gaussiens. Leur
autocorrélation présente bien un pic central et la valeur moyenne est presque nulle. Les
conditions sont donc satisfaites pour appliquer la méthode de Kalman pour un filtrage.
De plus on obtient les valeurs caractéristiques suivantes :
Moyenne du premier bruit : -0.0340
Moyenne du deuxième bruit : -0.0892
Covariance du premier bruit : 1.0160
Covariance du deuxième bruit : 0.9940
2. Application du filtre Kalman :
Résultat du filtrage des bruits de mesures et d’état décorrélés
Cette figure montre trois courbes : En bleu, on observe le signal bruité, en rouge la prédiction
faite et en vert, le signal non bruité. Ce filtrage de Kalman permet de conclure que, à première
vue, la prédiction semble très bonne par rapport au vrai signal non bruité. L’erreur commise est
faible.
2.1 Evolution temporelle des variable P et K
Le premier graphe montre l’évolution de P et traduit la rapidité du débruitage. On observe alors
que le filtrage est très performant au niveau de la vitesse. Le deuxième graphe montre
l’évolution de K et traduit la stabilité du filtrage qui s’avère elle aussi très bonne.
Voici les différentes erreurs relevées :
Erreur quadratique pour le premier signal avant filtrage : 982.8
Erreur quadratique pour le deuxième signal avant filtrage : 947.0
Erreur quadratique après le filtrage : 107.9
On peut donc en conclure que l'erreur quadratique a donc considérablement chutée. Le filtrage
de Kalman est donc clairement efficace pour ces mesures de bruits.
Application du filtre a un système dont les bruits de mesure corrélés et les bruits d’état
décorrélés
(Technique de partage des mesures)
1. caractéristiques des bruits :
La première figure montre l’évolution temporelle des deux bruits de mesures. Ensuite on
peut voir la densité spectrale de ses bruits. L’analyse des histogrammes montre bien que ces
deux signaux sont, pour cette deuxième série de mesures, Gaussiens. Leur autocorrélation
présentent encore un pic central et la moyenne est quasi nulle. Les conditions sont donc
satisfaites pour appliquer la méthode de Kalman pour un filtrage .De plus on obtient les valeurs
caractéristiques suivantes :
Moyenne du premier bruit : -0.0123
Moyenne du deuxième bruit : -0.0462
Covariance du premier bruit : 1.0395
Covariance du deuxième bruit : 1.2727
2. Application du filtre Kalman :
Pour cette partie, les deux bruits de mesures sont corrélés. Il est donc nécessaire, avant
d’appliquer le filtrage de Kalman, de les décorrélés. L’idée, comme on l’a vu à la fin du cours, est
de diagonaliser la matrice R de covariance du bruit de mesure. La première étape est donc de
calculer les termes de la matrice R, ensuite l’algorithme de Kalman est modifié légèrement, puis
on lance les calculs afin de filtrer le signal.
Voici le résultat obtenu :
Résultat du filtrage bruits de mesures corrélés et bruits d’état décorrélés. Partage des
mesures.
Le résultat est assez satisfaisant, la prédiction est proche du signal non bruité. Mais pour
conclure sur la qualité du filtrage, regardons les erreurs quadratiques avant et après filtrage.
2.1. Relèves de différentes erreurs :
Voici les différentes erreurs :
Erreur quadratique pour le premier signal avant filtrage : 1015.7
Erreur quadratique pour le deuxième signal avant filtrage : 1922
Erreur quadratique après le filtrage : 404.1
L’erreur quadratique en fin de filtrage est bien plus grande que pour l’exemple précédent.
Même si le filtrage semble bon, il est meilleur pour la première série de mesure (partie 1) dont
l’erreur en fin de filtrage était 9 fois plus faible. On voit aussi que la prédiction ne suit pas aussi
bien le signal que précédemment.
Application du filtre a un système dont les bruits de mesure et les bruits d’état sont
corrélés
1. caractéristiques des bruits :
La première figure montre l’évolution temporelle des deux bruits de mesures. Ensuite on peut
voir la densité spectrale de ses bruits.
L’analyse des histogrammes montre bien que ces deux signaux sont, pour cette
troisième série de mesures, Gaussiens, leur autocorrélation présentent encore un pic central et
la moyenne est presque nulle. Les conditions sont donc satisfaites pour appliquer la méthode de
Kalman pour un filtrage.
On obtient les valeurs caractéristiques suivantes :
Moyenne du premier bruit : -0.0366
Moyenne du deuxième bruit : -0.0089
Covariance du premier bruit : 1.0612
Covariance du deuxième bruit : 0.1362
2. Application du filtre Kalman :
Dans cet exemple, les bruits de mesures affectant chaque série de mesure sont corrélés
et les bruits d’état et de mesure sont aussi corrélés. Le premier algorithme sera modifier au
niveau de la matrice R qui sera alors diagonale avec les valeurs covU1 et covU3 dans sa
diagonale.
On obtient le résultat suivant :
Résultat du filtrage bruits de mesures et d’état corrélés
Le résultat est encore très satisfaisant, la prédiction est proche du signal non bruité. Regardons
les différentes erreurs.
2.1. Relèves de différents erreurs :
Voici les différentes erreurs relevées :
Erreur quadratique pour le premier signal avant filtrage : 1152.6
Erreur quadratique pour le deuxième signal avant filtrage : 146.51
Erreur quadratique après le filtrage : 93.13
L'erreur quadratique a chutée, cependant un des bruits avait déjà une erreur quadratique
faible. Ce filtrage a l’air d’être le plus efficace. Cependant, cette grande baisse est peut-être due
à la faible valeur de l’erreur quadratique du deuxième signal avant filtrage. On ne peut donc pas
vraiment comparer ce filtrage avec les deux précédents dont les erreurs quadratiques des bruits
de mesures étaient relativement proches
CONCLUSIONS
Le filtre de Kalman permet de fusionner des informations apportées par différents capteurs dans
le but d’obtenir des informations débruitées et donc plus fiables.
Dans ce mini projet on a introduit une nouvelle technique de filtrage qu’est celle de Kalman .De
plus la programmation se fait sous l’environnement de Matlab.
RÉFÉRENCES
Casasola Enzo & Clanzig Kellya & Deville Thibaut, 26/02/2010 Etude de cas : Filtre de
Kalman ,Telecom ParisTech 1998.
Jérˆome Verdun, septembre 2006,Introduction au filtrage de Kalman:Th´eorie du filtre de
Kalman discret & applications,Ecole Nationale des Sciences G´eographiques
[Link],2003,Introduction au filtre de Kalman: Notes de
cours,Exercices,corrigés,Sessions Matlab;
Résume : Etude théorique du filtre de Kalman, et mise en relation des Implémentation du filtrage
de Kalman en MATLAB et étude de son action dans les conditions expérimentales réalistes du
capteur ebCMOS. Etude de l’action des différents paramètres constituant les équations du filtre
de Kalman sur la dynamique du filtre. Caractérisation de l’influence de ces paramètres sur la
vitesse de convergence du filtrage. Observation de la résolution du filtre en fonction des
paramètres d’entrée.
Modelisation un filtre pour photon unique avec un programme code en C++ avec un temps
d’exécution optimise pour répondre au cahier des charges du capteur.
Mots clefs : Filtre de Kalman, MATLAB, Optimisation,
Histoire et utilisation
R.E. Kalman publie ses recherches sur le filtrage linéaire et la
prédiction de problème en 1960
Première utilisation sur le Programme Apollo
De nombreuses applications :
_ Estimation des conditions initiales (balistique)
_ Prédiction de trajectoire
_ Localisation (navigation, radars)
Filtre de Kalman
Le filtre de Kalman vise à estimer de façon optimale l’état
d’un système linéaire . A partir de données bruitées (effecteurs et capteurs imprécis),
le filtre de Kalman permet de corriger les erreurs de manière itérative.
4
Les applications du filtre de Kalman sont nombreuses dans les mètiers de
l’ingénieur. Le filtre de Kalman permettant de donner un estimé de l’´etat de
système a artir d’une information a priori sur l’´evolution de cet ´etat (mod`ele)
et de mesures r´eelles, il sera utilis´e pour estimer des conditions initiales inconnues
(balistique), pr´edire des trajectoires de mobiles (trajectographie), localiser un
engin (navigation, radar,...) et ´egalement pour implanter des lois de commande
fond´ees sur un estimateur de l’´etat et un retour d’´etat (Commande Lin´eaire
Quadratique Gaussienne). Les bases de traitement de signal sur lesquelles re-
pose le filtre de Kalman seront ´egalement utiles `a tout ing´enieur confront´e `a
des probl`emes de d´efinition de protocoles d’essais, de d´epouillements d’essais et
´egalement d‘identification param´etrique, c’est-`a-dire la d´etermination exp´eri-
mentale de certains param`etres du mod`ele.