AGPS - protocol specs?

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.
http://www.mauve.demon.co.uk/gps-average.gif 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)