time-nuts@lists.febo.com

Discussion of precise time and frequency measurement

View all threads

Re: [time-nuts] Thermal impact on OCXO

SS
Scott Stobbe
Wed, Nov 16, 2016 4:58 AM

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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/
mailman/listinfo/time-nuts
and follow the instructions there.

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@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@gmail.com> > wrote: > > > > On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/ > mailman/listinfo/time-nuts > and follow the instructions there. >
BC
Bob Camp
Wed, Nov 16, 2016 12:38 PM

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@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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +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@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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

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@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@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@gmail.com> >> wrote: >>> >>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
SS
Scott Stobbe
Wed, Nov 16, 2016 11:48 PM

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@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@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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +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@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@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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

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@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@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@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@gmail.com> >>> wrote: >>>> >>>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@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@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
BC
Bob Camp
Thu, Nov 17, 2016 1:06 AM

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@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@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@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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +1 ) + A3;  where x is time in days

Fdot = (A1A2)/(A2x +1)

Fdotdot = -(A1A2^2)/(A2x +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 + A1ln(A2xo + 1) +  (A1A2)(x - xo)/(A2xo +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@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@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@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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

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@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@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@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@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@gmail.com> >>>> wrote: >>>>> >>>>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@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@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@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
AK
Attila Kinali
Thu, Nov 17, 2016 1:24 PM

On Tue, 15 Nov 2016 23:58:31 -0500
Scott Stobbe scott.j.stobbe@gmail.com wrote:

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.

Least square fits to non-linear functions are almost always iterative.
There are only very few functions for which closed formulas are known.
Quite a few people do "linearization", but in general this does not
work well or leads to sub-optimal solutions (aka not an least squares fit)
without people realizing it.

An alternative method that works for some functions are state-space
methods. But I barely know about them, so I cannot really comment on them.

		Attila Kinali

--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neil Stephenson

On Tue, 15 Nov 2016 23:58:31 -0500 Scott Stobbe <scott.j.stobbe@gmail.com> wrote: > 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. Least square fits to non-linear functions are almost always iterative. There are only very few functions for which closed formulas are known. Quite a few people do "linearization", but in general this does not work well or leads to sub-optimal solutions (aka not an least squares fit) without people realizing it. An alternative method that works for some functions are state-space methods. But I barely know about them, so I cannot really comment on them. Attila Kinali -- It is upon moral qualities that a society is ultimately founded. All the prosperity and technological sophistication in the world is of no use without that foundation. -- Miss Matheson, The Diamond Age, Neil Stephenson
SS
Scott Stobbe
Thu, Nov 17, 2016 3:34 PM

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@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@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@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@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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +1 ) + A3;  where x is time in days

Fdot = (A1A2)/(A2x +1)

Fdotdot = -(A1A2^2)/(A2x +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 + A1ln(A2xo + 1) +  (A1A2)(x - xo)/(A2xo +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@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@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@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@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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

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@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@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@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@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@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@gmail.com> >>>>> wrote: >>>>>> >>>>>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@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@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@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@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
SS
Scott Stobbe
Thu, Nov 17, 2016 4:03 PM

It sounds like you knew what I meant by linearization, but I really
should have wrote linearize in parameters. Of course functions like

F = Ax^2 + Bx + C
F = Asin(omega t) + Bcos(omega t)

fit extremely well with ordinary least squares.

Well there is no free lunch, nlsq has its own challenges, the results
you get depends on the initial conditions you provide, and can also
completely diverge, or converge on a local minima which isn't the best
fit. There don't seem to be a lot of worked examples out there so for
someone one day in the future here is some sample octave/matlab code
for nlsq.

A1 = 0.0233;
A2 = 4.4583;
A3 = 0.0082;

A = [ A1 A2 A3 ];

ts = (1:(30))';

Fage = @(A,x) A(1).*log(A(2).*x + 1) + A(3)

F = Fage(A,ts);

% Add Gaussian measurement noise
F_pn = F + 1E60.5e-9randn(size(ts));

% Fit F_pn to non-linear function Fage
Ainit = [ 1 1 1 ];

options = optimset('Display','on','TolFun',1e-12, 'TolX', 1e-12);
[Aest,resnorm, e, o] = lsqcurvefit(Fage,Ainit,ts,F_pn,[],[],options);

On Thu, Nov 17, 2016 at 8:24 AM, Attila Kinali attila@kinali.ch wrote:

On Tue, 15 Nov 2016 23:58:31 -0500
Scott Stobbe scott.j.stobbe@gmail.com wrote:

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.

Least square fits to non-linear functions are almost always iterative.
There are only very few functions for which closed formulas are known.
Quite a few people do "linearization", but in general this does not
work well or leads to sub-optimal solutions (aka not an least squares fit)
without people realizing it.

An alternative method that works for some functions are state-space
methods. But I barely know about them, so I cannot really comment on them.

                     Attila Kinali

--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neil Stephenson


time-nuts mailing list -- time-nuts@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

It sounds like you knew what I meant by linearization, but I really should have wrote linearize in parameters. Of course functions like F = Ax^2 + Bx + C F = Asin(omega t) + Bcos(omega t) fit extremely well with ordinary least squares. Well there is no free lunch, nlsq has its own challenges, the results you get depends on the initial conditions you provide, and can also completely diverge, or converge on a local minima which isn't the best fit. There don't seem to be a lot of worked examples out there so for someone one day in the future here is some sample octave/matlab code for nlsq. A1 = 0.0233; A2 = 4.4583; A3 = 0.0082; A = [ A1 A2 A3 ]; ts = (1:(30))'; Fage = @(A,x) A(1).*log(A(2).*x + 1) + A(3) F = Fage(A,ts); % Add Gaussian measurement noise F_pn = F + 1E6*0.5e-9*randn(size(ts)); % Fit F_pn to non-linear function Fage Ainit = [ 1 1 1 ]; options = optimset('Display','on','TolFun',1e-12, 'TolX', 1e-12); [Aest,resnorm, e, o] = lsqcurvefit(Fage,Ainit,ts,F_pn,[],[],options); On Thu, Nov 17, 2016 at 8:24 AM, Attila Kinali <attila@kinali.ch> wrote: > On Tue, 15 Nov 2016 23:58:31 -0500 > Scott Stobbe <scott.j.stobbe@gmail.com> wrote: > >> 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. > > Least square fits to non-linear functions are almost always iterative. > There are only very few functions for which closed formulas are known. > Quite a few people do "linearization", but in general this does not > work well or leads to sub-optimal solutions (aka not an least squares fit) > without people realizing it. > > An alternative method that works for some functions are state-space > methods. But I barely know about them, so I cannot really comment on them. > > > Attila Kinali > -- > It is upon moral qualities that a society is ultimately founded. All > the prosperity and technological sophistication in the world is of no > use without that foundation. > -- Miss Matheson, The Diamond Age, Neil Stephenson > _______________________________________________ > time-nuts mailing list -- time-nuts@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
AK
Attila Kinali
Thu, Nov 17, 2016 4:27 PM

On Thu, 17 Nov 2016 10:34:06 -0500
Scott Stobbe scott.j.stobbe@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.

Side note: 1/f^a noise is (usually) Gaussian.
It's not white Gaussian, but it's still Gaussian[1].

		Attila Kinali

[1] "Statistics of 1/f Noise", by Brophy, 1967
https://doi.org/10.1103/PhysRev.166.827

--
It is upon moral qualities that a society is ultimately founded. All
the prosperity and technological sophistication in the world is of no
use without that foundation.
-- Miss Matheson, The Diamond Age, Neil Stephenson

On Thu, 17 Nov 2016 10:34:06 -0500 Scott Stobbe <scott.j.stobbe@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. Side note: 1/f^a noise is (usually) Gaussian. It's not white Gaussian, but it's still Gaussian[1]. Attila Kinali [1] "Statistics of 1/f Noise", by Brophy, 1967 https://doi.org/10.1103/PhysRev.166.827 -- It is upon moral qualities that a society is ultimately founded. All the prosperity and technological sophistication in the world is of no use without that foundation. -- Miss Matheson, The Diamond Age, Neil Stephenson
BC
Bob Camp
Thu, Nov 17, 2016 5:39 PM

Hi

On Nov 17, 2016, at 10:34 AM, Scott Stobbe scott.j.stobbe@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@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@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@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@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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +1 ) + A3;  where x is time in days

Fdot = (A1A2)/(A2x +1)

Fdotdot = -(A1A2^2)/(A2x +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 + A1ln(A2xo + 1) +  (A1A2)(x - xo)/(A2xo +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@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@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@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@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@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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Hi > On Nov 17, 2016, at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@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@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@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@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@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@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@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@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@febo.com > To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts > and follow the instructions there.
BS
Bob Stewart
Thu, Nov 17, 2016 6:15 PM

Hi Bob,
said:  "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. "

We've seen a serious improvement in manufacturing yields at close tolerances for small components.  IOW, they can make gazillions of 1% resistors and caps today, whereas back when I was born they had to do some serious sorting to just get a few.  Did this improvement in manufacturing technique carry over to OCXOs such that the units we see on ebay benefited from improved manufacturing ability, or was sorting still a major part of getting usable yield when they were made?  This, of course, avoids the impact of using a blowtorch to remove them from a board that has been removed from a larger board with a bandsaw.

thanks,
Bob - AE6RV
 -----------------------------------------------------------------
AE6RV.com

GFS GPSDO list:
groups.yahoo.com/neo/groups/GFS-GPSDOs/info

  From: Bob Camp <kb8tq@n1k.org>

To: Discussion of precise time and frequency measurement time-nuts@febo.com
Sent: Thursday, November 17, 2016 11:39 AM
Subject: Re: [time-nuts] Thermal impact on OCXO

Hi

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@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@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@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@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@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@gmail.com

wrote:

On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe scott.j.stobbe@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 =  A1ln( A2x +1 ) + A3;  where x is time in days

  Fdot = (A1A2)/(A2x +1)

  Fdotdot = -(A1A2^2)/(A2x +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 + A1ln(A2xo + 1) +  (A1A2)(x - xo)/(A2xo +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@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@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@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@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@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@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@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@febo.com
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.

Hi Bob, said:  "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. " We've seen a serious improvement in manufacturing yields at close tolerances for small components.  IOW, they can make gazillions of 1% resistors and caps today, whereas back when I was born they had to do some serious sorting to just get a few.  Did this improvement in manufacturing technique carry over to OCXOs such that the units we see on ebay benefited from improved manufacturing ability, or was sorting still a major part of getting usable yield when they were made?  This, of course, avoids the impact of using a blowtorch to remove them from a board that has been removed from a larger board with a bandsaw. thanks, Bob - AE6RV  ----------------------------------------------------------------- AE6RV.com GFS GPSDO list: groups.yahoo.com/neo/groups/GFS-GPSDOs/info From: Bob Camp <kb8tq@n1k.org> To: Discussion of precise time and frequency measurement <time-nuts@febo.com> Sent: Thursday, November 17, 2016 11:39 AM Subject: Re: [time-nuts] Thermal impact on OCXO Hi 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@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@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@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@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@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@gmail.com> >>>>>> wrote: >>>>>>> >>>>>>> On Mon, Nov 7, 2016 at 10:34 AM, Scott Stobbe <scott.j.stobbe@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@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@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@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@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@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@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@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@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.