2016-04-07 3 views
0

Je travaille avec discret Kalman Filter sur un système.État Estimation du filtre de Kalman stable

x (k + 1) = A_K x (k) + B_k u (k)

y (k) = C_K x (k)

I ont estimé l'état de le y(k) bruité disponible, lequel est généré à partir des mêmes équations d'état du système avec Trajectoire de référence de l'état. Ensuite, je l'ai testé avec un mauvais état initial x0 et une grande covariance initiale (simulation 1). J'ai remarqué que le KF fonctionne très bien, après quelques étapes, le gain k converge rapidement vers une très petite valeur proche de zéro. Je pense qu'il est peut être causé par le bruit de processus Q. Je l'ai réglé petit parce que le Q représente la précision du modèle.

Maintenant, je veux le modifier à un état stable Kalman Filter. J'ai utilisé le gain constant de simulation-1 comme constant au lieu du calcul dans chaque itération. Ensuite, les cinq équations peuvent être simplifiées pour une équation:

x (k + 1)^= (I-KC) A x (k)^+ (I-KC) B u (k) + K y (k + 1)

Je veux le tester avec la même matrice d'état initial et de covariance que celle de simulation-1. Mais le résultat est très différent de la trajectoire de référence et même du résultat de la simulation-1. Je l'ai testé avec la matrice de co-variance p_infi, qui est résolu dans le Discrete Riccati Equation:

k_infi = p_infi C '/ (C p_infi * C' + R)

Cela ne fonctionne pas.

Je suis wondering-

  1. Comment dois-je appliquer l'état d'équilibre KF et comment dois-je définir l'état initial pour elle?
  2. L'état d'équilibre KF est-il utilisé pour un système scalaire?
  3. Devrais-je l'utiliser avec un contrôleur LQ ou d'autres?
+1

Je vote pour clore cette question hors-sujet car elle est mieux adaptée pour http://dsp.stackexchange.com – mtrw

Répondre

1

Je vais d'abord simplifier la discussion sur un filtre avec une matrice de transition fixe, A plutôt que A_K ci-dessus. Lorsque le filtre de Kalman atteint l'état d'équilibre dans ce cas, on peut extraire les gains et créer un filtre à gain fixe qui utilise les gains de Kalman en régime permanent.Ce filtre est pas un filtre de Kalman, c'est un filtre à gain fixe. Sa performance de démarrage sera généralement pire que celle du filtre de Kalman. C'est le prix à payer pour remplacer le calcul du gain de Kalman par des gains fixes.

Un filtre à gain fixe n'a pas de covariance (P) et aucun Q ou R.

Étant donné A, C et Q, les gains en régime permanent peuvent être calculées directement. En utilisant le modèle de filtre discret de Kalman et en établissant la matrice de covariance a-posteriori égale à la matrice de covariance a-posteriori propagée du cycle de mesure précédent, on a:

P = (I - KC) (APA^T + Q)

résolution de cette équation pour K résultats dans les gains de Kalman à l'état stable pour fixe A, Q et C. Où est R? Eh bien, il n'a aucun rôle dans le calcul du gain en régime permanent parce que le bruit de mesure a été moyenné en régime permanent. L'état d'équilibre signifie que l'estimation d'état est aussi bonne que possible avec la quantité de bruit de processus (Q) que nous avons.

Si Un est variable dans le temps, une grande partie de cette discussion ne tient pas. Il n'y a aucune garantie qu'un filtre de Kalman atteindra l'état d'équilibre. Il peut ne pas y avoir Pinf. Une autre hypothèse implicite dans l'utilisation des gains en régime permanent d'un filtre de Kalman dans un filtre à gain fixe est que toutes les mesures resteront disponibles aux mêmes débits. Le filtre de Kalman est robuste à la perte de mesure, le filtre à gain fixe ne l'est pas.

0

L'état d'équilibre KF requiert que l'état initial corresponde à la covariance d'état stable. Sinon, le KF pourrait diverger. Vous pouvez commencer à utiliser l'état stable KF lorsque le filtre passe en régime permanent.

Le filtre de Kalman en régime permanent peut être utilisé pour les systèmes avec plusieurs états de dimension.

+0

@ gardien de but Merci, je veux dire que je devrais d'abord déterminer la covariance en état stable matrx en résolvant le DARE . Et puis déterminer l'état stationnaire de kalmanfilter standard comme l'état initial du filtre de Kalman à l'état stable .. – wangmars

+0

@ gardien de but. Et je voudrais savoir, comment déterminer la matrice Q et R pour le filtre de Kalman à l'état stable. Il devrait être le même que ce qui est déterminé dans le filtre de Kalman standard? – wangmars

+0

Vous pouvez commencer avec une covariance d'état importante. Une fois que le gain KF est stable, vous arrêtez de le mettre à jour et l'utilisez comme gain KF. Si vous utilisez le gain KF en régime permanent, il ne peut pas converger. – goalkeeper