Main Content

fusegps

Correct states using GPS data for insfilterAsync

Description

example

[res,resCov] = fusegps(FUSE,position,positionCovariance) fuses GPS position data to correct the state estimate.

[res,resCov] = fusegps(FUSE,position,positionCovariance,velocity,velocityCovariance) fuses GPS position and velocity data to correct the state estimate.

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

Fuse a GPS position measurement with its covariance.

position = [5 3 2] % in deg deg meters;
position = 1×3

     5     3     2

positionCovariance = diag([1 1 1]);
[res,resCovariance] = fusegps(filter,position,positionCovariance)
res = 1×3
105 ×

    5.5218    3.3254    0.3282

resCovariance = 3×3

    1.0010         0         0
         0    1.0010         0
         0         0    1.0010

Display the state after the fusing.

disp(filter.State')
    1.0000         0         0         0         0         0         0  551.6325  332.2120   32.7824         0         0         0         0         0         0         0         0         0         0         0         0   27.5550   -2.4169  -16.0849         0         0         0

Input Arguments

collapse all

insfilterAsync, specified as an object.

Position of GPS receiver in geodetic latitude, longitude, and altitude (LLA) specified as a real finite 3-element row vector. Latitude and longitude are in degrees with north and east being positive. Altitude is in meters.

Data Types: single | double

Position measurement covariance of GPS receiver in m2, specified as a 3-by-3 matrix.

Data Types: single | double

Velocity of the GPS receiver in the local NED coordinate system in m/s, specified as a 3-element row vector.

Data Types: single | double

Velocity measurement covariance of the GPS receiver in the local NED coordinate system in m2/s2, specified as a 3-by-3 matrix.

Data Types: single | double

Output Arguments

collapse all

Position and velocity residual, returned as a 1-by-6 vector of real values in m and m/s, respectively.

Residual covariance, returned as a 6-by-6 matrix of real values.

Extended Capabilities

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

Version History

Introduced in R2019a