blankblank blank

Evaluating GPS Receiver Accuracy With VisualGPS

The last post dealt with VisualGPS, a program that monitors NMEA GPS connections, plots measured positions as a function of time, lets you average those position measurements for improved accuracy. I took a laptop with VisualGPS and two GPS receivers out to a National Geodetic Survey benchmark with a well-defined position to see how well it works at position averaging, and to compare results from the two receivers.

A nearby NGS benchmark was located using the DSWorld program, and its datasheet downloaded to get its latitude/longitude, 35.0783410N, 111.6907646W. Data was in NAD83, but WGS84 coordinates are identical to the same degree of precision. The benchmark sits on top of a partially wooded hill; much of the sky below 45 degrees azimuth was at least partially obscured by ponderosa pine, Gambel oak, and Utah juniper vegetation. Above 45 degrees, the sky was essentially unobscured. The weather started partially cloudy, transforming to fully cloudy/rainy by the end of measurements; some tropospheric error might have been introduced.

The two GPS receivers used were:

Garmin GPSMap 60Cx: One of the most popular handheld GPS units ever produced, and along with its brother model 60CSx still a best-seller three years after it was first introduced. This is a 2006-vintage model that uses the SirfStar III chipset, and has a serial output port that supports NMEA; newer editions of this model have a MediaTek (MTK) chipset.

Holux M-1000: A Bluetooth GPS module, about the size of a matchbox; requires a computer/phone/PDA with Bluetooth. Its brother unit Holux M-1000C adds a data logger for storing up to 200,000 points. Uses the MTK MT3318 chipset, and all output is in NMEA format.

The two units were placed side by side next to the benchmark, about 10 cm offset (W for the Garmin, E for the Holux):


The Holux has a ceramic path antenna that gets its best reception when facing directly upwards. The Garmin has a helical stub antenna that works best when vertical, but is omni-directional enough that the horizontal orientation doesn’t make a large difference in satellite reception. The Garmin GPS was connected to the laptop via a serial cable and a Keyspan USB to serial adapter; the Holux was connected wirelessly via the Bluetooth serial port. The VisualGPS program was opened twice, and each program window was connected to a separate GPS receiver, so that data could be collected simultaneously from both receivers. Measurements were only started when both receivers had established solid connections to all visible satellites (9 for both units), and also to the WAAS satellite. When measurements were completed, the connections were terminated, and the data was saved in separate files.

The first run lasted for 15 minutes. The data presented below includes both the arithmetic and least-squares mean positions, along with standard deviations for the positions in meters, and the absolute difference between the known and measured position in meters displacement, including a 0.1m E/W correction for the offset from the benchmark.

GPS Receiver Latitude Lat SD (m) Longitude Long SD (m) Total Diff (m)
Garmin (arithmetic) 35.0783289 1.928 -111.6907725 1.832 1.48
Holux (arithmetic) 35.0783668 0.308 -111.6907557 0.359 2.96
Garmin (least-squares) 35.0783448 1.717 -111.6907449 1.334 1.94
Holux (least-squares) 35.0783627 0.184 -111.6907562 0.369 2.50

At first glance, it looks like the Garmin position is more accurate, since the differential between the “true” and measured positions is less than for the Holux for both arithmetic and least-squares means. But the standard deviations for the Garmin positions is much higher than that for the Holux, as is the difference between the arithmetic and least-square means. If you compare the position plots for the Garmin and Holux, you’ll see that the Garmin’s measured position wandered quite a bit during the 15 minute measurement period, while the Holux data was much more tightly grouped (plots created using VisualGPS):

Garmin 60Cx Holux M-1000
Garmin1 Holux1

So the Garmin receiver’s measured position wanders all over the place, while the Holux’s positions are far more tightly grouped. This kind of wandering is not uncommon in Garmin units with Sirf III chipsets; sitting still, it can accumulate a signficant “travel distance”.

Older Holux models had a bug where if the unit was standing still or at a low speed (less than 5 mph), it would “freeze” the position measurement to prevent random drifting; this had the unfortunate drawback of making the unit useless for walking speeds, since these were below the movement threshold speed. Newer units, like the one I’m using, have updated firmware that turns off this “Static Navigation” feature, which I’ve confirmed through other measurements, so that shouldn’t be the issue here. Doing position measurements with the Holux in locations with few visible satellites or lots of multipath interference, the measured position will wander around a bit..

The Garmin’s mean position is closer to the true position than that of the Holux, but based on the graphs above I’d tend to believe that was just an accident. There’s also the possibility that the specified benchmark position is off, since it was last determined in 1993 by “classical geodetic methods” to an unstated degree of precision. To further evaluate (or complicate) this issue, I’ll determine the Circular Error Of Probabilities for the position data from both GPS units in an upcoming post.

Looking for something else? Enter some keywords below, then click "Search".    

2 Responses to “Evaluating GPS Receiver Accuracy With VisualGPS”

  1. 1 Bernie Connors

    I have done similar tests with Garmin units but I always used a ceramic coffee cup to hold the unit in the upright position if it had a helical antenna. I found that the newer 76 and 60 series Garmin units had very little drift during my tests. I also used a benchmark that had been surveyed by GPS. I am certain it shouldn’t be difficult to find a high order benchmark in your area.

  2. 2 Leszek Pawlowicz

    I compared results from this Garmin unit with the antenna in both horizontal and vertical positions; no difference.

    Newer 60 and 76-series Garmin units use the MTK chipset, the same maker as in the Holux M-1000 unit, so that might explain the improved performance you see.

Comments are currently closed; feel free to contact me with questions/issues.