[time-nuts] Strange GPS behaviour

Magnus Danielson magnus at rubidium.dyndns.org
Sun Dec 30 01:01:04 UTC 2012

Hi Björn,

On 29/12/12 23:42, bg at lysator.liu.se wrote:
> Hi Bob,
> I am curious about the sacrifice time and get better position. I have not
> seen any discussions about that in manuals, books or papers. Do you have
> reference?
> What would be the difference between timing and navigation versions of
> cheap commercial receivers?
> 1) Timing receivers are often stationary, navigation receivers are
> typically not stationary for extended periods of time. So a timing
> receiver can benefit from a time only solution. Ie you have a known
> (x,y,z)/(lat,lon,h) position and solve only for time, reducing the unknown
> from (x,y,z,t) to only (t). The known position can be had from a) full 4D
> single fix solution or better from b) a site survey taking the mean
> position from many hours of measurements or also good from c) an
> independently surveyed position of the antenna position. This mode will of
> cause improve time when there are fewer than 4 satellites tracked.

I've long assumed that T-receivers have the additional T-only positional 
mode. I recall the Motorola Oncores having a whole bunch of different 
positional modes, where timing mode is one amongst many others.

> 2) Timing versions might get an upgraded oscillator. Maybe a TCXO instead
> of a standard XO.

Don't think so. The noise and systematic stability is as important for 
positional as for timing versions, the timing version can benefit of the 
fixed position.

> 3) Navigation receivers integrations will not require high accuracy PPS
> output from the receiver. If you can save some cents on PPS generation
> hardware by having 500ns resolution of the PPS instead of 1-10ns
> resolution - the navigation receiver will not even have hardware resources
> to generate a decent 1PPS.

No. We should have seen this in the clock jitter. They have the same 
clock as the core-clock of the ASIC. The PPS is actually a variant of a 
1 ms measurement timer that the GPS uses to grab samples of channel 
phase and integrated I&Q values for all channels. The 1 ms timer holds 
the actual system time of the GPS, which is then adjusted to the real 
GPS time using different algorithms, but using the solution from the 
positioning. The PPS is trivial to produce as a predicted event with 
that solution in hand. Since the hardware support has a limited 
resolution, it's trivial to calculate the error of the predicted PPS 
from the actual time, so a sawtooth error could be sent out.

Saving resolution in the PPS generator clock doesn't help much, as you 
need a certain clock rate and you need to divide it down regardless. The 
amount of logic cost to do a coarser vs a core clock is essentially 
nothing compared to what 12, 16, 20 or 24 channel correlator setup cost, 
so going to core clock resolution is no real saviour.

> To my knowledge, the accuracy of (x,y,z,t) is given by the "geometrics" of
> the satellites tracked. The receiver reports this in the DOP (dilution of
> precision). There is PDOP (3d position), HDOP (horizontal position), HDOP
> (vertical position) and TDOP (Time). There is not much the receiver can do
> in normal operation with four or more tracked satellites to select between
> position and time accuracy. The relationship is given by the geometry of
> the measurements!

The RAIM algorithm can naturally prune of satellites giving too large 
time/pseudo-range errors, above some limit. The number of available 
channels allows for all in view birds to be selected, rather than having 
a selected sub-set which gives the best geometry. RAIM with enough 
channels will prune on actual pseudo-range errors rather than expected 
xDOP from geometry basis and contribute to lower numbers.

> For a navigation receiver, there must be a time solution that is (scaled
> by c) more or less at the same accuracy as the position. Having 3 meter
> accuracy means the receiver time is good to 10ns. However the navigation
> receiver does not need to communicate this timing accuracy to the outside.
> It does not have to calibrate filter/processing delays. Slowly varying
> delays in analog filters due to temperature changes can also be ignored.
> Delays due to LNA and cables can also be ignored if you have a spec at
> 1PPS of 1us.

The biases of C/A code tracking is large enough that most of those 
issues can be overlooked. You can however shift DOP from the x, y and z 
into TDOP performance of the t solution by letting each and every 
pseudo-range be used in a pure T-RAIM pruning and then position solution.

The pseudo-range of a satellite can be written as:

p_sat = sqrt( (X - X_sat)^2 + (Y - Y_sat)^2 + (Z - Z_sat)^2) + c*(T - T_sat)

where p_sat is being measured for each sat and X, Y, Z and T is the 
solution when applied for a number of sats (4 needed for 3D+T position). 
When X, Y and Z is known from before, this equation becomes trivial to 
solve, but also you can see that any precision/error that previous was 
distributed over X, Y, Z and T is now only sent out on T. If X, Y and Z 
is of sufficient precision, the T solution will benefit. Also, this 
explains why only one sat is needed, as the equation system becomes 
trivial and straight-forward.

The Misra & Enge book covers timing receivers in sub-chapter 6.3.

Actually, one old Meinberg GPS timing receiver used this fact and has a 
single channel with old-school analogue interpolators and alternates 
among the satellites.


More information about the time-nuts mailing list