Re: [chrony-dev] temperature compensation |
[ Thread Index |
Date Index
| More chrony.tuxfamily.org/chrony-dev Archives
]
On Tue, Apr 13, 2010 at 03:03:28PM -0700, Bill Unruh wrote:
> On Tue, 13 Apr 2010, Miroslav Lichvar wrote:
> >I believe T0 is needed for the quadratic coefficient. And k0 is there
> >only to get the result below 10 ppm if T0 is very high or low. If the
> >correction is outside +-10 ppm, it will be ignored. This is to avoid
> >accidents if the sensor fails, noise, etc.
>
> Your actual model is then seems to be delta R = k1 delta T where
> delta R is the change in rate, and delta T is the change in temp
> from
> the last reading. Your second order term might be to have k1 depend on the temp. itself.
Ok. The local module works with absolute frequencies, so for me it
makes more sense to describe it with absolute corrections.
> This whole system could simply be set up as a separate program, rather than as
> a part of chrony which could then also control ntpd. Of course it would be
> best if the computer figured out the coefficients, rather than people doing it
> by hand.
Possibly. It would have to know when chrony changes the frequency
which would mean reading adjtimex in a loop, not very efficient. And
if the new frequency was equal to the previous one with compensation,
it would go unnoticed. I think it's better to have it directly in
chronyd, it's just few lines of code.
> One difficulty is that the slope is determined well after the fact. Ie, if the
> slope changes now, it will be many poll intervals before the system knows that
> the frequency has changed.
That's why I think it's good to use only points with minimal skew,
i.e. when frequency was stable for a longer period of time. The script
I was proposing could be used iteratively, to further improve the
coefficients.
--
Miroslav Lichvar
---
To unsubscribe email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "unsubscribe" in the subject.
For help email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "help" in the subject.
Trouble? Email listmaster@xxxxxxxxxxxxxxxxxxxx.