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-
- Comment dois-je appliquer l'état d'équilibre KF et comment dois-je définir l'état initial pour elle?
- L'état d'équilibre KF est-il utilisé pour un système scalaire?
- Devrais-je l'utiliser avec un contrôleur LQ ou d'autres?
Je vote pour clore cette question hors-sujet car elle est mieux adaptée pour http://dsp.stackexchange.com – mtrw