GNSS HDOP & VDOP integration with insfilterAsync
조회 수: 8(최근 30일)
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?
Ryan Salvo 2021년 4월 8일
Here is a simple example showing how you can do this.
% 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);