Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la última versión en inglés.

correct

Estimaciones de estado correctas en insEKF usando mediciones de estado directas

Desde R2022a

Descripción

ejemplo

[state,stateCovariance] = correct(filter,indices,measurement,measurementNoise) corrige las estimaciones del filtro en función de una medición, el índice asociado de la medición y el ruido de la medición. La medición debe ser una medición directa del vector de estado. Para fusionar mediciones indirectas, utilice la función de objeto fuse .

Ejemplos

contraer todo

Cree un objeto insEKF predeterminado y muestre su estado.

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

     1
     0
     0
     0
     0
     0
     0
     0
     0
     0
      ⋮

Obtenga los índices correspondientes al estado de velocidad angular.

idx = stateinfo(filter,"AngularVelocity");

Corrija el estado de velocidad angular y muestre el estado corregido.

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
      ⋮

Argumentos de entrada

contraer todo

Filtro INS, especificado como un objeto insEKF .

Índices estatales de la medición, especificados como un vector de elementos M de índices estatales, donde M es la dimensión de la medición. Por ejemplo, si la medida son los elementos primero y tercero en el vector de estado del filtro, especifique indices como [1 3].

Medición de estado directo, especificada como un vector de valor real de elemento M, donde M es la dimensión de la medición.

Tipos de datos: single | double

Ruido de medición, especificado como una matriz definida positiva de valor real M por M , un vector de elementos positivos M valores o un escalar positivo. M es la dimensión de la medida. Cuando se especifica como un vector, el vector se expande a la diagonal de una matriz diagonal M-por- M . Cuando se especifica como un escalar, el valor de la propiedad es el producto del escalar y una matriz de identidad M-por- M .

Tipos de datos: single | double

Argumentos de salida

contraer todo

Vector de estado corregido, devuelto como un vector de valor real de elemento N, donde N es la dimensión del estado del filtro.

Tipos de datos: single | double

Covarianza del error de estimación de estado corregida, devuelta como una matriz definida positiva de valor real N-por- N , donde N es la dimensión del Estado.

Tipos de datos: single | double

Capacidades ampliadas

Generación de código C/C++
Genere código C y C++ mediante MATLAB® Coder™.

Historial de versiones

Introducido en R2022a