Contenu principal

Cette page a été traduite par traduction automatique. Cliquez ici pour voir la dernière version en anglais.

correct

Corriger les estimations d'état dans insEKF en utilisant des mesures d'état directes

Depuis R2022a

Description

[state,stateCovariance] = correct(filter,indices,measurement,measurementNoise) corrige les estimations de filtre en fonction d'une mesure, de l'indice associé à la mesure et du bruit de mesure. La mesure doit être une mesure directe du vecteur d'état. Pour fusionner des mesures indirectes, utilisez la fonction objet fuse .

exemple

Exemples

réduire tout

Créez un objet insEKF par défaut et affichez son état.

filter = insEKF;
filter.State
ans = 13×1

     1
     0
     0
     0
     0
     0
     0
     0
     0
     0
      ⋮

Obtenir les indices correspondant à l’état de vitesse angulaire.

idx = stateinfo(filter,"AngularVelocity");

Corrigez l'état de vitesse angulaire et affichez l'état corrigé.

state = correct(filter,idx,[1 1 1], diag([0.1 0.1 0.1]))
state = 13×1

    1.0000
         0
         0
         0
    0.9091
    0.9091
    0.9091
         0
         0
         0
      ⋮

Arguments d'entrée

réduire tout

Filtre INS, spécifié comme objet insEKF .

Indices d'état de la mesure, spécifiés comme un vecteur d'éléments M d'indices d'état, où M est la dimension de la mesure. Par exemple, si la mesure concerne le premier et le troisième éléments du vecteur d'état du filtre, spécifiez indices comme [1 3].

Mesure d'état directe, spécifiée sous la forme d'un vecteur à valeur réelle d'élément M, où M est la dimension de la mesure.

Types de données : single | double

Bruit de mesure, spécifié comme une M-par- M à valeur réelle positive-définie, un M-élément vecteur de positif valeurs, ou un scalaire positif. M est la dimension de la mesure. Lorsqu'il est spécifié comme vecteur, le vecteur s'étend jusqu'à la diagonale d'une matrice diagonale M-by- M . Lorsqu'elle est spécifiée comme scalaire, la valeur de la propriété est le produit du scalaire et d'une matrice d'identité M-by- M .

Types de données : single | double

Arguments de sortie

réduire tout

Vecteur d'état corrigé, renvoyé sous la forme d'un vecteur à valeur réelle d'élément N, où N est la dimension de l'état du filtre.

Types de données : single | double

Covariance d'erreur d'estimation d'état corrigée, renvoyée sous la forme d'une matrice définie positive à valeur réelle N-par- N , où N est la dimension de l'État.

Types de données : single | double

Capacités étendues

développer tout

Génération de code C/C++
Générez du code C et C++ avec MATLAB® Coder™.

Historique des versions

Introduit dans R2022a