Unscientific GPS note

Last week I charged the different batteries and took a GTA01 Neo, a GTA02 Neo and a Nokia N810 with me to enable their GPSes on my way home from school. Then I saved the traces they logged and loaded into JOSM to have a look (GTA01, GTA02, N810 – gpx files converted using gpsbabel from nmea)

The devices made respectively 11.28km, 12.12km and 11.07km routes (sitting in the same bag the whole time).

All in all I like the GTA01 accuracy the most although all three sometimes have horrible errors. They all three have accuracy about near the bottom line of usability for OSM mapping for a city, so if you get a GPS with that in mind, it may be slightly disappointing. All three are quite good at keeping the fix while indoor but everytime there’s not enough real input available they will invent their own rather than admit (if you had physics experiments at high-school and had to prove theories that way, you know how this works), resulting in run-offs to alternative realities – especially the N810 likes to make virtual trips. They all three apparently do advanced extrapolation and most of the time get things right, but the GTA01 GPS (the hammerhead) very notably assumes in all the calculations that the vehicle in which you move has a certain inertia and treats tight turns as errors. I’m on a bike most of the time and can turn very quickly and it feels as if the firmware was made for a car (SpeedEvil thinks rather a supertanker).

It’s suprising how well they all three can determine the direction in which they’re pointing even when not moving (the GTAs more so). The firmwares seem to rely on that more than on the actual position data sometimes. This results in a funny effect that the errors they make are very consistent even if very big – once the GPS thinks it’s on the other side of a river from you (or worse in the middle), it will stay there as long as you keep going along the river.

I’m curious to see what improvement the galileo system brings over GPS.

UPDATE: I was curious about the precision with which the altitude is reported, which can’t be seen in JOSM.  First I found that the $GPGGA sentences on my GTA01 have always 000.0 in the elevation field, but the field before it (normally containing HDOP) has a value that kind of makes sense as an altitude, so I swapped the two fields (HDOP value should be < 20.0 I believe?).  Then I loaded the data into gnuplot to generate this chart:

The horizontal axis has longitude and vertical the elevation in metres above mean sea level.  Err, sure?  I might have screwed something up but I checked everything twice.  Except the GTA01 which might be a different value completely – but the is some correlation.  I’m not sure which one to trust now.

11 Responses to “Unscientific GPS note”

  1. C.M Says:

    Nice test, but what color is what device on that map? I guess from the text that the N810 is the orange line, but which is GTA01? :-)

  2. quatrox Says:

    It is a nice test.

    To get accurate data for OSM or similar, you need to do this test many times (on different time of the day) and then use the average.

    Also, the GPS signal is not very strong, so having the devices in a bag is not really a good idea.

  3. balrog Says:

    C. M.: Turns out orange is the GTA01, green GTA02 and blue N810, however the randomness on this image is because this is a cold-start for all three devices and just after the first fix when they’re allowed to be wrong, so it would be unfair to judge from this image. The initial small part of the way is inside a building also.

    quatrox: true, but even in a bag they should all three see the same set of satellites and be able to make the same judgements. Also the kind of error that results from extrapolation will be more or less consistent across the different traces ( – when using the same GPS – so the real solution would be to always have a full bag of different devices with you and average over that).

    I should probably try with an external antenna. Has someone used the Neo’s with external GPS antennas?

  4. Anonymous Coward Says:

    Speaking of accuracy, is there any way to get at the raw GPS data (time of flight basically) from any of the three devices? (That would be required for a software DGPS implementation to work.)

  5. Joseph Says:

    Thanks for posting up the results of your test, I was just about to do the same thing myself before I noticed you’d already done it!

    How do you find the FreeRunner’s satellite acquisition speed? Mine seems to take much longer to get a fix than on my gta01, although I’m pleased with the results once it finally happens.

    I tried to purchase a selection of GPS antennas for testing a couple of weeks ago, but there seems to have been a communication error with our supplier. I’ll try and order some more and produce a blog post of results.

    Cheers, Joseph

  6. balrog Says:

    I didn’t have a chance to use the GTA02 much yet, but I didn’t notice it being worse than GTA01 on a cold start. On GTA02 every start is cold in the normal setup, though. I noticed it took very very long to see a first satellite at the very first start, after unpacking. It was similar with GTA01 I think.

    I was also planning to get an external antenna, but I’m not going to get three to make a similar test.

  7. Primi esperimenti sul GPS del Neo FreeRunner | Fradeve Openblog Says:

    […] studente dell’Europa dell’Est (o per lo meno così sembra dal nome) Andrzej “balrog-kun” Zaborowski, ha avuto la geniale idea di mettere nel proprio zaino un Neo1973 (GTA01), un Neo FreeRunner […]

  8. Lally Says:

    They’re using a historical history buffer to clean up the reported position from the actual calculation’s loss, deriving a motion vector to do so accurately. Looks like the hammerhead’s got a heavy weight placed on the existing data over the new stuff.

    E.g. the reason it does well at everything else is that it takes more samples to convince it that you’re changing direction — the rest is filtered out.

  9. Allied Antennas Says:

    Accuracy is the word to describe it. To get accurate data for OSM , you need to do this test many times, record and compare.

  10. gpsreviews Says:

    that is a lidar data?

  11. Forrest Says:

    I’m not surprised at the huge differences in the altitude readings. Altitude is hard for a dedicated GPS – I have an expensive Garmin Oregon, and lately it seems like every time I begin a hike or a bike ride, I’m at 200 to 300 feet below sea level outside my front door. Google Earth puts me at about 40 feet on the ground.

    From what I understand, the GPS signal isn’t very well equipt to give you a precise altitude. It gives itself a margin of error of about 150 feet. Many GPS units also have a barometric altimeter for this reason … this can get you to about 10 vertical feet, but it needs constant recalibration, pretty much whenever the weather changes. And in Seattle, we tell people “If you don’t like the weather, just wait ten minutes.”

Leave a reply to C.M Cancel reply