GPS HDOP linked to numsats?

While running ground tests on a copter to sort out some RFI issues affecting the GPS signal, I have noticed that there appears to be an exact correlation between the number of satellites tracked and the reported HDOP, and absolutely zero correlation between HDOP and GPS speed. As it turns out, GPS speed is the primary issue to overcome. More RFI leads to increased reported GPS speed, and hence ultimately prevents arming.

I’m absolutely not a Ardupilot code guru, but at least through Goggle searches leading to github posts, I have been unable to find anything relevant. Can anyone tell me what the reported HDOP really represents?

For clarity, in the tested vehicle we are running an older version of AC, 3.5.7-dev. Unfortunately, we have some additions to the code-base that we have not yet been able to port to newer versions, but I run version 4.0.2 in other copters, and while they don’t have the same RFI issues, the link between Nsats and HDOP still seems to exist. My feeling is that it is a fake number and ultimately provides no useful information on the health of the GPS solution.

1 Like

HDOP: Horizontal Dilution of Precision

It is not a result from arducopter computation but a parameter issued by GPS module.

It depend on the position of satellites used for positioning.

1 Like

Thanks for the quick feedback. I understand the basic definition of HDOP, I just question whether or not the value being provided by Ublox is actually an accurate representation of the mathematical definition of HDOP. As I mentioned, in the logs, there is an exact correlation between Nsats and HDOP, but no correlation between HDOP and GPS speed. GPS speed is very closely related to the level of RFI.

As an example. With a cold start and no RFI I get GPS status 4 in about a minute, with Nsats as high as 18 or 19, and mean GPS speed of around 0.2m/s or lower. A cold start with RFI will take 5 or 6 minutes to get a 3D fix, and will never achieve status 4. Nsats might eventually reach 10 or 11, but mean GPS speed will be up around 1m/s or higher. A hot start with RFI shortly after a good fix without RFI will still show Nsats up around 14 or 15, and an HDOP well below 1, but mean GPS speed is still around 1, and arming is not possible.

I’m just trying to understand what real value the HDOP reported by Ublox really has, and I guess trying to determine if it is a real calculation based on this:

or just a table lookup based on Nsats.

1 Like

You need to ask that in a ublox forum, that number is calculated by the ublox firmware. Ardupilot just reads it out.
The numbers the ArduPilot code really uses is the reported accuracy, the hdop and vdop are only used if the accuracy is not available.

Ok - that’s good to know. I guess those are in the GPA message?

GPA message???
Is that a ublox message, a mavlink message, or an Ardupilot dataflash log message???

Sorry - meant the messages in the logs. It appears that all the content in the logs unter the GPS block are direct from Ublox, and the content in the GPA block are derived data from Arducopter code.

Nope, the accuracy values are also from Ublox

OK, thanks. I guess we were just putting faith in the wrong variables. :wink: