Discussion:
Using a known location instead of WAAS/GLONASS/RTK/... for corrections
Jobs, Steve
2014-06-13 02:04:19 UTC
Permalink
Is it possible to pass a know location to gpsd and have it use that for
error correction? I may be asking this question wrong so allow me setup
the scenario. I have two matching receivers, in this case LS20031, one
of which will be a base station and the other will be on a rover. Both
will be running their own instances of gpsd. The rover will never
travel more that 400 feet from the base station so they should almost
always be sharing the same satellites. If I place the base station at a
known location can I just find the difference between the signal and the
known location and pass that to the rover as the correction? Or even
better would be to have the base gpsd take the known position and then
the rover could query the base gpsd for the correction and apply it to
the signal it has received from its own gps receiver.

Steve
Eric S. Raymond
2014-08-17 21:39:39 UTC
Permalink
Post by Jobs, Steve
Is it possible to pass a know location to gpsd and have it use that
for error correction? I may be asking this question wrong so allow
me setup the scenario. I have two matching receivers, in this case
LS20031, one of which will be a base station and the other will be
on a rover. Both will be running their own instances of gpsd. The
rover will never travel more that 400 feet from the base station so
they should almost always be sharing the same satellites. If I
place the base station at a known location can I just find the
difference between the signal and the known location and pass that
to the rover as the correction? Or even better would be to have the
base gpsd take the known position and then the rover could query the
base gpsd for the correction and apply it to the signal it has
received from its own gps receiver.
Steve
This can't be done in GPSD as it is.

It sounds like what you actually want is differentaial GPS error correction
using a DGPS transmitter at your base station.
--
<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>
Greg Troxel
2014-08-18 19:01:59 UTC
Permalink
Post by Jobs, Steve
Is it possible to pass a know location to gpsd and have it use that
for error correction? I may be asking this question wrong so allow me
setup the scenario. I have two matching receivers, in this case
LS20031, one of which will be a base station and the other will be on
a rover. Both will be running their own instances of gpsd. The rover
will never travel more that 400 feet from the base station so they
should almost always be sharing the same satellites. If I place the
base station at a known location can I just find the difference
between the signal and the known location and pass that to the rover
as the correction? Or even better would be to have the base gpsd take
the known position and then the rover could query the base gpsd for
the correction and apply it to the signal it has received from its own
gps receiver.
Basically to do differential one has to compute the errors in the
individual pseudoranges. Trying to compute errors from the computed
solution is not robust against choosing different satellites. There
are receivers that will generate corrections, and one can in theory do
this with receivers with raw data outputs, but most cheap receivers do
not do this.

You won't really be sharing the same satellites unless you have the same
obstructions.
Gerry Creager - NOAA Affiliate
2014-08-18 19:47:34 UTC
Permalink
Post by Greg Troxel
Post by Jobs, Steve
Is it possible to pass a know location to gpsd and have it use that
for error correction? I may be asking this question wrong so allow me
setup the scenario. I have two matching receivers, in this case
LS20031, one of which will be a base station and the other will be on
a rover. Both will be running their own instances of gpsd. The rover
will never travel more that 400 feet from the base station so they
should almost always be sharing the same satellites. If I place the
base station at a known location can I just find the difference
between the signal and the known location and pass that to the rover
as the correction? Or even better would be to have the base gpsd take
the known position and then the rover could query the base gpsd for
the correction and apply it to the signal it has received from its own
gps receiver.
Basically to do differential one has to compute the errors in the
individual pseudoranges. Trying to compute errors from the computed
solution is not robust against choosing different satellites. There
are receivers that will generate corrections, and one can in theory do
this with receivers with raw data outputs, but most cheap receivers do
not do this.
You won't really be sharing the same satellites unless you have the same
obstructions.
Eric and Greg are correct. What a differential base station does, is use
its known location to estimate errors of the received data, based on
calculations of what the real timing should be. In order to do this, it
requires precise antenna information, and satellite ephemeris data. The
ephemeris data are used to make a model of the various satellites' position
in orbit, and to estimate what the pseudorange, and pseudorange-rate errors
are vice those received/determined from actual SV code-phase data.

IF your receivers can accommodate (and potentially calculate) the
corrections, and you can intercommunicate on the fly, you have a
differential system. If all you have is the various code-phase position
estimates, and no means (e.g., several well-surveyed sites with receivers,
in the same area), you're dead in the water.

You don't state what you're trying to derive with these receivers,
especially the rover, so it's sorta hard to help. But what you're asking,
at least in the manner you're stating it, cannot provide any useful
improvement in position accuracy.

And, while we're at it, simply averaging a small number of consecutive
code-phase-derived GPS position estimates does not provide a robust, highly
accurate 2d or 3d position (within allowances for pure chance and luck). In
general, I start those efforts with 30,000-40,000 consecutive positions,
and decimate the dataset before I even consider taking the average. That
will get you down, generally, to the submeter point. If you fail to account
for the autocorrelated nature of serial code-phase GPS position estimates
by decimation, your error will be higher.

gerry
--
Gerry Creager
NSSL/CIMMS
405.325.6371
++++++++++++++++++++++
“Big whorls have little whorls,
That feed on their velocity;
And little whorls have lesser whorls,
And so on to viscosity.”
Lewis Fry Richardson (1881-1953)
Loading...