[time-nuts] Thermal impact on OCXO

Scott Stobbe scott.j.stobbe at gmail.com
Thu Nov 17 10:34:06 EST 2016


I couldn't agree more, that, once you add a correlated disturbance or
1/f^a power law noise, things get even messier. Gaussian is just the
easiest to toss in.

I once herd a story from once upon a time that, if you bought a 10%
resistor, what you ended up with is something like this in the figure
attached.

Of course 1% percent resistors (EIA96) are manufactured in high yield
today, but I would guess some of this still applies to OCXOs, you
aren't likely to find a gem in the D grade parts. After pre-aging for
a couple of weeks they are either binned, labeled D, or the ones that
show promise are left to age some more before being tested to C grade,
etc, etc.

On Wed, Nov 16, 2016 at 8:06 PM, Bob Camp <kb8tq at n1k.org> wrote:
> Hi
>
> The issue in fitting over short time periods is that the noise is very much
> *not* gaussian. You have effects from things like temperature and warmup
> that *do* have trends to them. They will lead you off into all sorts of dark
> holes fit wise.
>
> Bob
>
>> On Nov 16, 2016, at 6:48 PM, Scott Stobbe <scott.j.stobbe at gmail.com> wrote:
>>
>> A few different plots. I didn't have an intuitive feel for what the B
>> coefficient in log term looks like on a plot, so that is the first
>> plot. The same aging curve is plotted three times, with the exception
>> of the B coefficient being scaled by 1/10, 1, 10 respectively. In hand
>> waving terms, it does have an enormous impact during the first 30 days
>> (or until Bt >>1), but from then on, it is just an additive offset.
>>
>> The next 4 plots are just sample fits with noise added.
>>
>> Finally the 6th plot is of just the first 30 days, the data would seem
>> to be cleaner than what was shown as a sample in the paper, but the
>> stability of the B coefficient in 10 monte-carlo runs is not great.
>> But when plotted over a year the results are minimal.
>>
>>          A1              A2            A3
>>     0.022914       6.8459   0.00016743
>>     0.022932       6.6702   0.00058768
>>     0.023206       5.7969    0.0026103
>>     0.023219       4.3127    0.0093793
>>      0.02374       2.8309     0.016838
>>     0.023119       5.0214    0.0061557
>>     0.023054       5.8399    0.0031886
>>     0.022782       9.8582   -0.0074089
>>     0.023279       3.7392     0.012161
>>      0.02345       4.1062    0.0095448
>>
>> The only other thing to point out from this, is that the A2 and A3
>> coefficients are highly non-orthogonal, as A2 increases, A3 drops to
>> make up the difference.
>>
>> On Wed, Nov 16, 2016 at 7:38 AM, Bob Camp <kb8tq at n1k.org> wrote:
>>> 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.
>>>
>>> _______________________________________________
>>> 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.
>> <AGING_30DAYS_0p5ppb.png><AGING_30DAYS_0p5ppb_simple.png><AGING_30DAYS_0p5ppb_zoomin.png><AGING_30DAYS_5ppb.png><AGING_30DAYS_5ppb_simple.png><AGING_SCALE_A2.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.
>
> _______________________________________________
> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 10percentResistor.png
Type: image/png
Size: 8443 bytes
Desc: not available
URL: <http://www.febo.com/pipermail/time-nuts/attachments/20161117/4946a7b5/attachment-0001.png>


More information about the time-nuts mailing list