AGPS - protocol specs?

Ian Stirling openmoko at
Fri Mar 9 12:20:13 CET 2007

Bartlomiej Zdanowski AutoGuard Ltd. wrote:
> Hello.
> Nils Faerber napisał(a):
>>> There is all sorts of wacky stuff - for example, peer-peer DGPS that can
>>> be done, where all stationary neos on charge with a GPS signal and a
>>> free internet connection contribute to a global ionospheric model.
>>> Then any Neo can connect to this model, download 200 bytes or so, and
>>> get +-0.3m (or better) position for a short while.
>> Exactly.
>> Also relative positioning can be made much more precise using the raw
>> data (AFAIK in the range of cm not m).
> I asked my colleagues who are GPS devices specialists and they said that 
> this is all wrong. Military devices can do magic but civil not. They 
> said that with civil GPS receiver you can get accuracy up to about 5 - 
> 10 meters. For such precision it is required to be seen at least 8 
> satellites, a clear sky and good magnetic and ionosphere  conditions 
> (also solar magnetic field's change is important).

It's a little more complex than that, and not quite as bad. is some data I took a few 
years back with a garmin GPS12.
The circles show radiuses inside which the stated number of points fall, 
in a 10 second average.
For example, 99.99% of points fall within 13.8m.
10s averages are red dots,
green 100 second, magenta circles 1 hour, cyan squares 6 hours, and
black 24h.

The reason for this inaccuracy is severalfold.
Firstly you have clock drifts in the satellite, and orbital inaccuracies 
- they are not quite where or when they think they are, next, you have 
ionosphere - this is the dominant source of error in clear skies with no 
large buildings nearby.
The ionosphere (layer of air several hundred Km up) at the wavelengths 
in question looks not like a smooth sphere, but delays some satellites 
signals by 2-3m.
If you compute your signal without knowing the per-satellite error, then 
the best you can do is to average out this error.

If however you know the per-satellite error - and a nearby stationary 
reciever with the correct outputs with a good view of the sky can 
compute this, you can do lots better.
Unfortunately this error information ages rapidly.
But it's still suited for getting at worst 30-50cm level position 
accuracy for a few seconds or minutes, degrading to uselessness in 6 
hours or so.

If a number of factors in the hardware all come together (that details 
are not public on) position under 10cm may be possible after downloading 
the few hundred bytes of correction information. (It may be possible to 
optimise this down a lot)

More information about the community mailing list