J'ai construit (plusieurs) filtres Kalman étendus discrets (EKF). Le modèle de système que je construis comporte 9 états et 10 observations. Je vois que la plupart des États convergent sauf un. Tous sauf 1-2 de l'estimation d'état EKF semblent dériver. Puisque l'EKF dépend de la convergence de tous les états, les autres états sont très erronés après la divergence.
Comment vérifier l'observabilité de l'EKF? Dois-je simplement vérifier le rang de la mesure jacobienne et voir si elle est inférieure au rang maximal de la mesure jacobienne?
Après avoir ajouté plus de mesures dans ma simulation, j'ai pu faire converger les choses. Cependant, ma question sur l'observabilité demeure!
Problème:
Les graphiques de vérité terrain et d'estimation EKF peuvent être trouvés ici ou voir ci-dessous.
Remarques:
- Le modèle est assez non linéaire entre les pas de temps 400-600 d'où une certaine divergence de certains états
- La figure / l'état 6 est celui qui semble diverger
- Veuillez ignorer les tracés des «relevés de capteur» pour les figures 8/9
Ce que j'ai essayé:
- Je sais que pour les systèmes d'espace d'état linéaire, vous pouvez utiliser le théorème de Cayley Hamilton pour vérifier l'observabilité.
- J'ai essayé de vérifier le résidu Innovation / mesure
e
et toutes les innovations convergent vers 0 - J'ai également testé différentes entrées et elles ne semblent pas affecter la convergence des états divergents
- J'ai réglé l'EKF sans aucun signe de convergence pour les états divergents
- Graphiques pour un autre signal d'entrée: ou voir ci-dessous
- Après avoir parlé à un collègue, il m'a suggéré d'enquêter sur un autre problème qui pourrait être qu'il existe une observation qui dépend linéairement de 2 états, par exemple
y = x1 + x2
. Il existe un nombre infini de valeurs qui pourraient satisfaire la même chosey
, mais l'observabilité ne devrait-elle pas également saisir ce problème?
Veuillez me faire savoir s'il y a autre chose que je peux fournir.
Graphiques d'estimation de la vérité au sol et de l'EKF:
cliquez sur l'image pour l'agrandir
Signal d'entrée supplémentaire:
cliquez sur l'image pour l'agrandir
rank(O) = [H; HA...] = n
. Le seul problème est que j'ai quelque chose commesin( x(3) )
ou sinus d'état 3. Est-ce que je le linéarisex(3)
et le traite comme faisant partie de la matrice A? Je vais tenter ma chance dans la matinée et faire rapport. cwrucutter.wordpress.com/2012/11/12/…