Main Content

fusemag

Correct states using magnetometer data for insfilterAsync

Description

[res,resCov] = fusemag(FUSE,magReadings,magReadingsCovariance) fuses magnetometer data to correct the state estimate.

example

Examples

collapse all

Create an insfilterAsync object and display its state.

filter = insfilterAsync;
disp(filter.State')
    1.0000         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0   27.5550   -2.4169  -16.0849         0         0         0

Define a magnetometer reading and its covariance. Fuse the reading.

magReading = [132.7000   91.1000   60.5000];
magCovariance = eye(3);
[res,resCovariance] = fusemag(filter,magReading,magCovariance)
res = 1×3

  105.1450   93.5169   76.5849

resCovariance = 3×3

    5.0974         0         0
         0    5.0974         0
         0         0    5.0974

Display the filter state.

disp(filter.State')
    0.6297   -0.2083    0.6002   -0.4470         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0         0   27.5756   -2.3986  -16.0699    0.0206    0.0183    0.0150

Input Arguments

collapse all

insfilterAsync, specified as an object.

Magnetometer readings in µT, specified as a 3-element row vector of finite real numbers.

Data Types: single | double

Magnetometer readings error covariance in µT2, specified as a scalar, 3-element row vector, or 3-by-3 matrix.

Data Types: single | double

Output Arguments

collapse all

Residual, returned a 1-by-3 vector of real values in µT.

Data Types: single | double

Residual covariance, returned a 3-by-3 matrix of real values in (µT)2.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2019a