Quand utiliser EKF et quand Kalman Filter?

13

J'apprends Kalman Filter depuis une semaine maintenant. Je viens de découvrir que l'EKF (filtre Kalman étendu) pourrait être plus approprié pour mon cas.

Je ne suppose pas que j'applique KF / EKF pour variomètre (l'appareil qui indique aux avions et aux parachutistes quelle est leur position verticale et leur vitesse). Dans mon cas, j'ai généré quelques exemples de données: les premières secondes, il (le parachutiste par exemple) tombe (la vitesse est positive) puis il augmente (la vitesse est négative).

Autant que je sache, ce système est linéaire. Dois-je donc utiliser KF ou EKF?

Primož Kralj
la source
Je veux en savoir plus sur le msckf? Je fais un projet dessus?
Sushanth Kalva

Réponses:

16

La réponse est simple: si votre système est linéaire, un filtre de Kalman (normal) fera très bien l'affaire. Un très bref résumé des différences entre les deux:

Le filtre de Kalman étendu (EKF) est une extension qui peut être appliquée aux systèmes non linéaires. L'exigence d'équations linéaires pour les modèles de mesure et de transition d'état est assouplie; au lieu de cela, les modèles peuvent être non linéaires et doivent seulement être différenciables.

L'EKF fonctionne en transformant les modèles non linéaires à chaque pas de temps en systèmes d'équations linéarisés. Dans un modèle à variable unique, vous le feriez en utilisant la valeur actuelle du modèle et sa dérivée; la généralisation pour plusieurs variables et équations est la matrice jacobienne. Les équations linéarisées sont ensuite utilisées d'une manière similaire au filtre de Kalman standard.

Comme dans de nombreux cas où vous approximez un système non linéaire avec un modèle linéaire, il existe des cas où l'EKF ne fonctionnera pas bien. Si vous avez une mauvaise estimation initiale de l'état du système sous-jacent, vous pouvez retirer les ordures. Contrairement au filtre Kalman standard pour les systèmes linéaires, l'EKF n'est pas prouvé être optimal dans tous les sens; c'est simplement une extension de la technique du système linéaire à une classe plus large de problèmes.

Jason R
la source
Je vous remercie. Pourriez-vous indiquer un ou deux exemples concrets où l'on devrait utiliser EKF?
Primož Kralj
2
Prenons l'exemple d'un radar qui suit une cible libre de se déplacer dans l'espace 3D. Le radar peut mesurer les angles d'élévation et d'azimut entre lui et la cible, ainsi que la distance jusqu'à la cible. Il s'agit d'un système de coordonnées sphériques. Cependant, la dynamique de la cible (position, vitesse, accélération) est mieux exprimée en coordonnées cartésiennes, vous pouvez donc exprimer l'état du système de suivi comme la position cartésienne de la cible. Ainsi, il existe une relation non linéaire entre les mesures et l'état du système, ce qui suggère l'utilisation d'un filtre de Kalman étendu.
Jason R
Donc le KF ou l'EKF n'a rien à voir avec le bruit non? L'idée que ce n'est que lorsque le bruit est normal que l'on peut appliquer KF est fausse, non?
Sibbs Gambling
@ perfectionm1ng: L'une des principales hypothèses de l'ensemble du cadre du filtre de Kalman est que les processus de bruit impliqués sont gaussiens. Cependant, si ce n'est pas vrai, cela pourrait tout de même être "assez bon" pour votre application. La distinction EKF vs KF est la relation linéaire versus non linéaire entre les mesures et l'état comme décrit ci-dessus.
Jason R
@JasonR Oh! Je vois. Pourriez-vous s'il vous plaît aider avec bonté sur ces 2 questions connexes? robotics.stackexchange.com/questions/1767/… et dsp.stackexchange.com/questions/10387/…
Sibbs Gambling
6

Ma réponse est que si c'est un système linéaire, vous devez utiliser KF; s'il s'agit d'un système non linéaire avec une faible non-linéarité, vous devez utiliser EKF, si le système non linéaire avec une non-linéarité élevée, vous pouvez envisager le UKF bien connu. Je dessine un graphique pour cela, j'espère que c'est utile. entrez la description de l'image ici

Wayne
la source
5

Une brève revue de la littérature me dit que l'EKF est couramment utilisé dans le GPS, les systèmes de localisation / navigation et également dans les véhicules aériens sans pilote. [Voir par exemple `` Application of Extended Kalman Filter Towards UAV Identification '', Abhijit G. Kallapur, Shaaban S. Ali et Sreenatha G. Anavatti, Springer (2007)].

Si vous avez des raisons de croire qu'une approximation linéaire de la non-linéarité dans votre système n'est pas trop préjudiciable, alors l'EKF peut donner de meilleurs résultats qu'un KF. Mais il n'y a aucune garantie théorique d'optimalité.

Atul Ingle
la source
Je vous remercie. Je travaille avec des systèmes aéronautiques mais on ne m'a pas encore présenté le cas réel - je veux juste clarifier les choses avant.
Primož Kralj