GNSS HDOP & VDOP integration with insfilterAsync

6 views (last 30 days)
Will
Will on 8 Apr 2021
Commented: Will on 8 Apr 2021
At the bottom of the GNSS Simulation Overview page, it says the following: "The HDOP and VDOP values can be used as diagonal elements in measurement covariance matrices when combining GNSS receiver position estimates with other sensor measurements using a Kalman filter."
I am using a GNSS-IMU insfilterAsync filter for pose/orientation estimations, currently without considering the accuracy of the GNSS signal. I have the HDOP and VDOP values for every GNSS reading, so if I can implement these by updating the measurement covariance matrices, it would be really helpful. However, I can't find out how to do this.
Is anybody able to provide more information about how to do this?

Accepted Answer

Ryan Salvo
Ryan Salvo on 8 Apr 2021
Hi WIll,
Here is a simple example showing how you can do this.
Thanks,
Ryan
% Construct filter and GNSS.
filt = insfilterAsync;
gnss = gnssSensor;
% Specify velocity measurement covariance.
Rvel = 0.01^2;
% Specify ground truth position and velocity.
truePosition = [0 0 0];
trueVelocity = [0 0 0];
% Get new GNSS measurement.
[lla, gnssVel, status] = gnss(truePosition, trueVelocity);
% Construct measurement covariance matrix diagonals.
Rpos = [status.HDOP^2, status.HDOP^2, status.VDOP^2];
% Update filter state.
fusegps(filt, lla, Rpos, gnssVel, Rvel);
  1 Comment
Will
Will on 8 Apr 2021
Hi Ryan,
This is just what I was looking for, many thanks! I've implemented it and it has improved my pose estimations.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!