[time-nuts] Thermal impact on OCXO
Bob Camp
kb8tq at n1k.org
Thu Nov 17 12:39:30 EST 2016
Hi
> On Nov 17, 2016, at 10:34 AM, Scott Stobbe <scott.j.stobbe at gmail.com> wrote:
>
> 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.
Most (> 99%) OCXO’s are made to custom specs for large OEM’s. The sort
consists of “ship these” and “send these to the crusher”. Needless to say,
the emphasis is on a process that throws out as few as possible.
Bob
>
> 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.
> <10percentResistor.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.
More information about the time-nuts
mailing list