Contenido principal

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 utilizando mediciones de estado directas

Desde R2022a

Descripción

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

ejemplo

Ejemplos

contraer todo

Crea un objeto insEKF predeterminado y muestra su estado.

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

     1
     0
     0
     0
     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
         0
         0
         0
      ⋮

Argumentos de entrada

contraer todo

Filtro INS, especificado como un objeto insEKF.

Índices de estado de la medición, especificados como un vector de índices de estado de elementos M, donde M es la dimensión de la medición. Por ejemplo, si la medición es el primer y tercer elemento en el vector de estado del filtro, entonces especifique indices como [1 3].

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

Tipos de datos: single | double

Ruido de medición, especificado como una matriz positiva definida de valores reales M por M, un vector de valores positivos de M elementos o un escalar positivo. M es la dimensión de la medición. Cuando se especifica como un vector, el vector se expande hasta 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 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 del estado corregido, 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

expandir todo

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

Historial de versiones

Introducido en R2022a