# [time-nuts] Thermal impact on OCXO

Bob Camp kb8tq at n1k.org
Wed Nov 16 07:38:09 EST 2016

```Hi

The original introduction of 55310 written by a couple of *very* good guys:

http://tycho.usno.navy.mil/ptti/1987papers/Vol%2019_16.pdf

A fairly current copy of 55310:

The “right” equation is on page 47. It’s the “Bt+1” in the log that messes up the fit. If you fit it without
the +1, the fit is *much* easier to do. The result isn’t quite right.

Bob

> On Nov 15, 2016, at 11:58 PM, Scott Stobbe <scott.j.stobbe at gmail.com> wrote:
>
> Hi Bob,
>
> Do you recall if you fitted with true ordinary least squares, or fit with a
> recursive/iterative approach in a least squares sense. If the aging curve
> is linearizable, it isn't jumping out at me.
>
> If the model was hypothetically:
>     F = A ln( B*t )
>
>     F = A ln(t) + Aln(B)
>
> which could easily be fit as
>     F  = A' X + B', where X = ln(t)
>
> It would appear stable32 uses an iterative approach for the non-linear
> problem
>
> "y(t) = a·ln(bt+1), where slope = y'(t) = ab/(bt+1) Determining the
> nonlinear log fit coefficients requires an iterative procedure. This
> involves setting b to an in initial value, linearizing the equation,
> solving for the other coefficients and the sum of the squared error,
> comparing that with an error criterion, and iterating until a satisfactory
> result is found. The key aspects to this numerical analysis process are
> establishing a satisfactory iteration factor and error criterion to assure
> both convergence and small residuals."
>
> http://www.stable32.com/Curve%20Fitting%20Features%20in%20Stable32.pdf
>
> Not sure what others do.
>
>
> On Mon, Nov 14, 2016 at 7:15 AM, Bob Camp <kb8tq at n1k.org> wrote:
>
>> Hi
>>
>> If you already *have* data over a year (or multiple years) the fit is
>> fairly easy.
>> If you try to do this with data from a few days or less, the whole fit
>> process is
>> a bit crazy. You also have *multiple* time constants involved on most
>> OCXO’s.
>> The result is that an earlier fit will have a shorter time constant (and
>> will ultimately
>> die out). You may not be able to separate the 25 year curve from the 3
>> month
>> curve with only 3 months of data.
>>
>> Bob
>>
>>> On Nov 13, 2016, at 10:59 PM, Scott Stobbe <scott.j.stobbe at gmail.com>
>> wrote:
>>>
>>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe at gmail.com>
>>> wrote:
>>>
>>>> Here is a sample data point taken from http://tycho.usno.navy.mil/ptt
>>>> i/1987papers/Vol%2019_16.pdf; the first that showed up on a google
>> search.
>>>>
>>>>        Year   Aging [PPB]  dF/dt [PPT/Day]
>>>>           1       180.51       63.884
>>>>           2       196.65        31.93
>>>>           5          218       12.769
>>>>           9       231.69       7.0934
>>>>          10       234.15        6.384
>>>>          25        255.5       2.5535
>>>>
>>>> If you have a set of coefficients you believe to be representative of
>> your
>>>> OCXO, we can give those a go.
>>>>
>>>>
>>> I thought I would come back to this sample data point and see what the
>>> impact of using a 1st order estimate for the log function would entail.
>>>
>>> The coefficients supplied in the paper are the following:
>>>    A1 = 0.0233;
>>>    A2 = 4.4583;
>>>    A3 = 0.0082;
>>>
>>> F =  A1*ln( A2*x +1 ) + A3;  where x is time in days
>>>
>>>    Fdot = (A1*A2)/(A2*x +1)
>>>
>>>    Fdotdot = -(A1*A2^2)/(A2*x +1)^2
>>>
>>> When x is large, the derivatives are approximately:
>>>
>>>    Fdot ~= A1/x
>>>
>>>    Fdotdot ~= -A1/x^2
>>>
>>> It's worth noting that, just as it is visually apparent from the graph,
>> the
>>> aging becomes more linear as time progresses, the second, third, ...,
>>> derivatives drop off faster than the first.
>>>
>>> A first order taylor series of the aging would be,
>>>
>>>    T1(x, xo) = A3 + A1*ln(A2*xo + 1) +  (A1*A2)(x - xo)/(A2*xo +1) + O(
>>> (x-xo)^2 )
>>>
>>> The remainder (error) term for a 1st order taylor series of F would be:
>>>     R(x) = Fdotdot(c) * ((x-xo)^2)/(2!);  where c is some value between
>> x
>>> and xo.
>>>
>>> So, take for example, forward projecting the drift one day after the
>> 365th
>>> day using a first order model,
>>>    xo = 365
>>>
>>>    Fdot(365) =  63.796 PPT/day, alternatively the approximate derivative
>>> is: 63.836 PPT/day
>>>
>>>    |R(366)| =  0.087339 PPT (more than likely, this is no where near 1
>>> DAC LSB on the EFC line)
>>>
>>> More than likely you wouldn't try to project 7 days out, but considering
>>> only the generalized effects of aging, the error would be:
>>>
>>>    |R(372)| = 4.282 PPT (So on the 7th day, a 1st order model starts to
>>> degrade into a few DAC LSB)
>>>
>>> In the case of forward projecting aging for one day, using a 1st order
>>> model versus the full logarithmic model, would likely be a discrepancy of
>>> less than one dac LSB.
>>> _______________________________________________
>>> 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.
>>
>> _______________________________________________
>> 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.
>>
> _______________________________________________
> 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.

```