[time-nuts] GPSDO control loops and correcting quantizationerror

Poul-Henning Kamp phk at phk.freebsd.dk
Sun Sep 16 17:48:11 UTC 2012


In message <50560A58.5010607 at rubidium.dyndns.org>, Magnus Danielson writes:

>> What I did instead was to (badly) reinvent Shewarts ideas for testing
>> if the phase residual is under "statistical process control":
>>
>> I increase the timeconstant if the phase residual has too frequent
>> zero-crossings and loosen it if they happen too seldom.
>>
>> Having read a lot more about statistical process control, since I
>> built those NTP servers for the Air Traffic Control 10 years ago,
>> I would leverage more of the theory and heuristics developed in
>> process control. (3sigma violations, length of monotonic direction
>> etc. etc.)
>
>It's a complex field, and things like temperature dependencies helps to 
>confuse you.

No, not really.

The reason I went with the "statistical control" approach was exactly
to not be confused or mislead by environmental or other factors: I
wanted a PLL which on its own would adapt to circumstances on its
own, while still maximizing the hold-over time in case of GPS loss,
and all in all it has worked very well.

So far I have seen it cope admirably with an OCXO which went from
indoors to outdoors environment in the middle of winter, a PRS10
which gradually ran out of steam and only locked 40% of the time and
various other odd-ball events, so I think I'm justified in saying
that it does a pretty good job for autonomous and even unattended
operation.

It's certainly not perfect, but it is painfully obvious that the
adaptive PLL based on statical control heuristics is much more
resilient than a fixed or hand-tuned PLL.

I've been trying to find an excuse for giving NTPns an overhaul,
(PTP is a leading candidate for this) to get a chance to iron out
the kinks I have spotted over the last 10 years, but so far
life keeps me busy with other interesting stuff.

-- 
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