Comparing GPS PPP solutions

Update3 on 2014-02-20: by popular demand, screenshots of options (at least roughly correct...) used in RTKPOST to get the results shown:


Update2: gLAB data now at 30s intervals, and an error-plot that compares CSRS to gLAB clock offset.



Update: using the latest RTKLib from github on Ubuntu, I now got this, with the lat/lon/height results between CSRS-PPP and RTKLib in better agreement. There is still a 4ns offset between the clock results - which curiously is about 0.5*ZTD, but this may be just a coincidence.


GPS based Precise Point Positioning is used worldwide to compare clocks against each other and maintain UTC.

The idea is to connect your clock to a dual-frequency GPS receiver that collects data (in RINEX format). The RINEX data is then post-processed by using satellite orbit and clock information available (with delay) from the IGS. While normal GPS has a precision of maybe 1-10 meters (~10 ns clock offset/noise), PPP can achieve <1 cm precision (<1 ns clock offset).

I tested a few of the PPP algorithms I found by running them on the same datafile (KAJA2900.13O) and got the results shown below.

If anyone wants to try this at home you will need from the IGS (I used RTKGet, a tool that comes with RTKLib to download these): clock data CLK file igs17624.clk, orbit data SP3 file igs17624.sp3, NAV file brdc2900.13n, antenna correction ANTEX file igs08.atx, earth rotation parameters ERP file igs17627.erp, and possibly also an ocean tide loading BLQ file available from Onsala Space Observatory.


The CSRS-PPP and ESA-gLAB clock offset solutions agree reasonably well, but the clock offset of the RTKLib/JPL-APPS solutions differ by  3-4 nanoseconds - which is a lot if we are using this for monitoring/steering an atomic clock. I'm not sure why this happens - if anyone knows how to reproduce the CSRS-PPP results with RTKLib please let me know!

  • CSRS-PPP is an online web-based tool that returns results by e-mail. AFAIK the same code is used by the BIPM to maintain UTC.
  • JPL-APPS is a similar web-service by NASA.
  • ESA gLAB and RTKLib are open-source software packages for GPS/GNSS processing.

See also: A Comparison of Free GPS Online Post-Processing Services


Ambit vs. 910xt GPS comparison

A couple of screenshots from google-earth. These are GPX files exported from my own Garmin 910xt and my friend's Suunto Ambit.

The 910xt was set on "smart recording", while the Ambit was set to record every second. Both watches are quite confused in tunnels or under bridges. It's clear that the garmin-trace is somehow filtered. A better comparison would perhaps be to set the 910xt also on 1s-interval recording.

Another Nokia N9 vs. Garmin GPS test

These results are much like my previous ones. Close to buildings or other difficult places the N9 GPS performs significantly worse than the Garmin. This is somewhat surprising since the N900 performs very similar to a Garmin. Could better GPS-data on the N9 be just a software-update away? When is someone going to try to get TJ Lindfors's RTK-GPS Openmoko hack to work on the N9 ?!

Nokia N9 vs. Garmin Edge 800 GPS Test

My legs aren't exactly recovered from Saturday's marathon, but a slow 5k jog anyway today. Sports Tracker was released for the N9 last week (or was it earlier?), so I thought I'd do some GPS testing. Held Garmin Edge 800 in my right hand and the N9 in my left. The results aren't that great for the N9:

I should do a test on the bike later. Maybe include the Garmin 405cx and older C7 phone also?

The touch-screens on these devices are different: Edge 800 works fine with gloves, N9 doesn't work at all with gloves.

Nokia N900 vs Garmin Edge800 GPS comparison

On Wednesday I had a Garmin Edge 800 (red line in the pics) on my bike while Risto was using a Nokia N900 (blue line). Here are a few comparisons of the GPS-traces. Our bikes were obviously not exactly following the same route, so that accounts for some of the differences. The Edge800 seems to take GPS-samples a more often than the N900.

See also N95 vs 405cx testing here and here.

a good servant but a bad master?

Seen on the bus today:

Yep, that's a GPS-screen top left. No need for the driver to know left from right, where the bus is, the route, or think much anything any more.

Back in the Good Old Days if you took a taxi the driver was actually supposed to know where you were going. Not so any more, especially at the airport. Given an address, the driver will probably not know which city or suburb to go to. After you write down your address on a piece of paper (been there, done that), since the driver speaks neither of our domestic languages, the journey proceeds exactly along the GPS trail. If they do the same with buses, install satellite-navigation everywhere, will it be good or bad?

How long before someone drives a bus into the water or off a cliff?

Sunday 8k


Any snow and ice that was on the streets is gone again and +4C with little wind is quite ideal for running. 8.10km in 54 minutes makes for a leisurely 6:46min/km pace.

9k jog

I haven't completely forgot to exercise, but the lack of daylight and cold temperatures make it, at least mentally, a bit harder to get out there and run.


Garmin 405cx aboard an IOM


The 405cx gps-watch is small and light enough to just tape to the aft-deck of an IOM. Today's event in Tampere had 12 races but I missed a few due to electrical problems. Races 1 and 2 above, and races 7-12 below. It's funny how google-maps and google-earth show permanent winter and ice in Tampere 🙂


The raw-data ( is available in TCX format as well as Google-earth KML format from the garmin connect website.

Anyone have any software or matlab code to extract the instantaneous speed from this data and plot it? Might be useful for further CFD investigations or VPP-programs. Mostly light and shifting no1 rig the whole day. It will be interesting to compare with no2 and no3 rig in a real breeze.

Are there even smaller and lighter GPS-dataloggers? How long before we can have a GPS on every boat and watch playback of the race afterwards at home?