# [time-nuts] Digital temperature compensation

Bob Camp kb8tq at n1k.org
Sat Nov 1 16:47:57 EDT 2014

```Hi

This sort of thing is normally done with a precisely controlled temperature chamber and multi day temperature ramp runs. Even then there is a bit of “wonder what that was, let’s try it again”.

If you are looking at a crystal oscillator, what you have is a perturbation in the frequency / temperature curve. The response you get will be temperature rate of change dependent.

Bob

> On Nov 1, 2014, at 4:40 PM, Dan Drown <dan-timenuts at drown.org> wrote:
>
> I'm experimenting with using a temperature sensor to estimate local oscillator frequency changes.  My goal is to have a decent holdover clock for a NTP server with not so great GPS antenna placement.
>
> I've been sampling temperature every minute, measured by a DS18B20.  I've been measuring local clock frequency differences, using chronyd's logs from the GPS's PPS.  At 28C through 21C, I get a pretty good result that fits a quadratic polynomial decently (0.117 ppm stddev).  I've attached the graph of that as "temp-clock-warmer.png".
>
> With the colder temperatures, there's a sudden drop off in frequency that I'm having a hard time finding a equation that fits as nicely.  All the examples I can find on the web look like third degree polynomials, while my data doesn't seem to fit that exactly.  The best result I've had so far (0.198 ppm stddev) is attached as "temp-clock.png" and uses the function:
>
> f(x) = -abs(a * (x - 20.88)) + b * ((x - 20.88)**2) + c * ((x - 20.88)**3)
> a = 0.888582
> b = 0.113806
> c = -0.00445763
>
> Does anyone have any advice on how to better model this?  Has anyone seen this behavior?
>
> I can provide the raw data if that would help any.
> <temp-clock-warmer.png><temp-clock.png>_______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.

```