Cooperative Differential GPS
beren at kabelweb.at
beren at kabelweb.at
Fri Mar 28 09:54:34 CET 2008
Great to see someone who is interested in this as well!
> Thanks for bringing this up, as this is is a topic that I am very much
> interested in. We are just starting to explore this area, but the AGPS
> capabilities of the Neo 1973 was one reason that we went ahead and bought
> this. However, I do not know what AGPS support means in real terms.
> My naive understanding of this is that a cooperative differential GPS needs
> no external support. One just sits at a base station, and averages GPS
> readings until one knows the position of the base station to an arbitrary
> level of accuracy. After that, the reception of realtime GPS signals at
> the base station provides information about random errors, which I
> understand are largely due to atmospheric fluctuations. Corrections for
> these are derived from the difference between the well-known actual
> position of the base station, and the received realtime position. These can
> be broadcast through various means, e.g., an Internet DGPS server, and
> should be good for a few hundred km around the base station. The
> cooperative aspect of this comes in because of the benefits of multiple
> base stations.
Being a non-expert the following should be taken with caution:
What you describe here is - i think - refered to as poor man's DGPS because it
would work with any cheap GPS receivers which only provide you with lat/lon
coordinates. By just subtracting the lat/lon fluctuations of a known
stationary GPS receiver nearby you do not gain any accuracy because you do
not know exactly how the lat/lon was calculated and which errors influenced
this calculation. As you said, the errors are due to atmospheric fluctuations
but these vary wildly for each satellite in sight - that is why you need to
have access to the raw data (ie pseudorange, carrier phase, doppler shift)
per satellite. Consumer-grade GPS receivers will just use the pseudoranges
from the satellites currently in sight and triangulate an estimated position.
They don't tell you which satellites were used during this calculation and
therefore you cannot gain any useful information for a receiver nearby.
It is very improbable that two GPS receivers see _and_ use exactly the same
satellites at a given moment, even if they are separated by just a few
meters. You can actually do this experiment yourself (as I've done) and see
that the lat/lon readings of two receivers in close proximity do not
However, with a stationary GPS receiver which provides you with the raw per
satellite data you could extract the needed error information and publish it
on some server. This could then in turn be used by a GPS receiver nearby (who
also has to have access to the per satellite data) to calculate a much more
precise location (errors might be as low as about a decimeter per kilometer
distance to the reference GPS receiver).
The good news is, that the GPS chip in the Neo FreeRunner could deliver the
raw data but I am not sure if the firmware allows you access to the RXM-RAW
message type cited in the Protocol Specification of the Antaris ATR0635.
It would be great if someone could confirm that?!
I think there are a bunch of people (including myself) which would be
interested in such a Cooperative Differential GPS project for the FreeRunner
(not to mention the great benefit for all users of an actual working CDGPS
infrastructure) but for a start we would have to answer the question above.
More information about the community