[time-nuts] GPS orthodontics: sawteeth & hanging bridges - theeffect of time averaging

Poul-Henning Kamp phk at phk.freebsd.dk
Thu Dec 21 14:17:17 EST 2006


In message <000801c7252f$90dad6a0$0b998843 at computer>, "Tom Van Baak" writes:

>1 second raw samples: 10.40 ns
>then removing small linear frequency offset,
>1 second samples:  9.36 ns
>30 second averages: 9.62 ns
>300 second averages: 10.0 ns
>
>Did I do something wrong? PHK, what do you think
>about this?

Given what we know, the saw-tooth term has a box distribution from
-A to +B nanoseconds where A and B depends on the clock frequency
used in the receiver.

What we don't know is if A = B or for that matter if A and B are
equal to the period of the clockfrequency.

It is not inconceiveable that A might be 1 nanosecond larger than
B due to rounding and timing issues in the firmware and hardware
and likewise it is not inconceiveable that A and B are slightly
larger than the clock period for similar reasons.

We think we know that the negative sawtooth is a box distribution
with equal probability over the -A...+B interval, although the
flanks may not in fact be vertical, due to the mentioned rounding
issues.

The theoretical average therefore must be the average of A and B
possibly with a minor error by the possibly nonvertical flanks.

The standard deviation must be approached with caution since it is
a box distribution and not a standard deviation.

So, based on what we think we know, the theoretical average probably
is zero, but could be a few nanoseconds on either side due to
rounding and timing.

The final thing we know is that no averaging time is long enough
to guarantee anything about the negative sawtooths actual average.

If you are unlucky, and your oncore is at a very stable temperature,
the clock generator may just stubbornly decide to run at an integer
Hz for an hour and if by pure bad luck the sawtooth value was 20ns
at the start of that, it will be 20 nsec all the way through.

In practice, the probability for this is quite low, but I have
tried once to provoke , and it is not only possible, it is
disturbingly easy:

Wrap your oncore in a couple of blankets or similar and tweak the
temperature (I varied the supply voltage so the voltage regulator
loss changed the temperature.  It takes a couple of hours to get
it just right.  I saw a hanging bridge of slightly over seven
minutes this way.

One interesting result of this is that the PRS10 will run better
without the 256 exponential filter if you feed it from an oncore,
if your oncore is in a good enclosure, but if you leave it out
where the temperature changes, the 256 exponential filter helps.

Poul-Henning

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.



More information about the time-nuts mailing list