Main Content

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

exemple

[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 .

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

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

Historique des versions

Introduit dans R2022a