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

https://nepp.nasa.gov/DocUploads/1F3275A6-9140-4C0C-864542DBF16EB1CC/MIL-PRF-55310.pdf

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.




More information about the time-nuts mailing list