[time-nuts] Conditioning Rubidium Oscillators

Jim Harman j99harman at gmail.com
Wed Mar 16 16:11:33 EDT 2016


Attila and Bruce and Adrian,

You are right, I stand corrected. Despite the talk in the app note about
aging rates and calculating the average slope of the frequency offset, and
about how m represents the rate of change of the frequency offset, when you
dig into the formulas, they are doing a linear fit to determine the slope
of the phase, which of course corresponds to the frequency offset itself
and not its rate of change.

Sorry for any confusion I may have caused. Attila, good suggestion on the
Kalman filter. I will educate myself about that.


On Tue, Mar 15, 2016 at 8:30 PM, Bruce Griffiths <bruce.griffiths at xtra.co.nz
> wrote:

> They actually determine the phase offset and rate of change of phase (i..e.
> frequency offset and not frequency drift as claimed in the paper) from a
> linear
> regression fit to a sequence of phase differences.
> The results from the regression fit are then used in an adaptive PID loop.
>
> Bruce
>
>
> On Tuesday, March 15, 2016 10:28:39 PM Adrian Godwin wrote:
> > My understanding of the article was that although fairly simple control
> > techniques such as PID were used, their innovation was to determine what
> > function the loop was performing, (initial lock, stability, and
> transition
> > from one to the other) and to choose a set of constants for loop control
> > appropriate to each type. The ideal loop characteristics are not the same
> > for all of these.
> >
> > On Tue, Mar 15, 2016 at 7:51 PM, Attila Kinali <attila at kinali.ch> wrote:
> > > On Mon, 14 Mar 2016 19:56:42 -0400
> > > Jim Harman <j99harman at gmail.com> wrote:
> > >
> > >
> > > Disclaimer: Control theory is not my strongest topic. I am pretty sure
> > > that what I have written here is correct. But if anyone finds any
> > > mistakes, please correct me.
> > >
> > > > On Mon, Mar 14, 2016 at 2:37 PM, Lars Walenius <
> > >
> > > lars.walenius at hotmail.com>
> > >
> > > > wrote:
> > > > > I read this but couldnĀ“t understand why this is superior to the
> > > > > PI-loop
> > > > > with a pre-filter?
> > >
> > >
> http://ptfinc.com/wp-content/uploads/2016/03/App_37_RubContol-Rubidium-Con
> > > trol-%E2%80%93-A-Different-Approach.pdf>
> > > > > Anybody can say why? Even if regression is very useful the
> limitation
> > >
> > > of
> > >
> > > > > the GPS and ionosphere will be the problem?How much better is it
> > >
> > > reasonable
> > >
> > > > > to get??
> > >
> > > A PID loop adapts to a step as input faster than a PI loop.
> > > To give a rule of thumb: the D part is used to predict how fast
> > > the error is moving. If the error is shrinking fast, there will
> > > be an overshoot once the error reaches zero. Thus the D part is
> > > used to make the rate of change slower once the error becomes small..
> > > Nothing more.
> > >
> > > The wikipedia entry on PID controllers explains these things in
> > > some detail and should help understand it.
> > >
> > > > I think the potential benefit of this approach is that it
> continuously
> > > > predicts the long term drift of the oscillator and attempts to
> > > > compensate
> > > > for it.
> > >
> > > Nope, the above appnote does not predict anything. It's not an adaptive
> > > control system at all. All they do is describe an PID controller
> without
> > > using the common language of the control theory people.
> > >
> > > > If the drift is reasonably linear, this means that you can use a
> > > > larger time constant in the control loop and thus be less sensitive
> to
> > > > short term GPS timing variations, while keeping the phase error
> close to
> > > > zero
> > >
> > > If the drift is linear, then the D part of the PID control loop will
> > > actually slightly increase the error compared to a PI controller.
> > >
> > > Proper adaptive control systems can also model higher order (ie changes
> > > that have components with a second or third (or higher) derivative) and
> > > the more fancy stuff even non-linear "drift".
> > >
> > > But the math behind that is not easy, and you need to have a good idea
> > > what the system (including reference, "plant", "sensor" and noise
> sources)
> > > looks like to build a control loop that improves on the PID controller.
> > > It's also quite easy to botch it up and make something that performes
> > > worse
> > > than just a P controller....
> > >
> > > > Of course if the oscillator drift is not predictable, this won't help
> > > > and
> > > > might even make things worse.
> > >
> > > A lot of the components of the drift of most oscillators is actually
> > > quite predicatble. If you take a Rb vapor reference, the largest three
> > > drift components will be aging of the cell, temperature and air
> pressure.
> > > All three of them are relatively easy to model and can remove a lot
> > > of uncertainty (how much can be removed depends highly on the make up
> > > of the physics package).
> > >
> > > > I have done some experiments with an OCXO and a controller design
> > > > similar
> > > > to the one Lars posted some time ago. I plotted the trend in the
> 3-hour
> > > > average DAC values over many days and used Excel to do a
> least-squares
> > >
> > > fit
> > >
> > > > to that data. As long as the oscillator is powered on continuously,
> this
> > > > gives an R^2 of over 90%, so the linearity of the drift is very
> good. If
> > >
> > > I
> > >
> > > > use this slope as a correction factor, i.e. adding X DAC counts per
> day
> > >
> > > to
> > >
> > > > the output of the PI control algorithm, it significantly reduces the
> > > > average TIC error at long time constants
> > >
> > > You could use a simple, single variable Kalman filter control loop to
> > > improve your PI controller. Just assume linear aging and let the
> > > Kalman filter predict it. For a gentle introduction into Kalman filters
> > > have a look at [1]. And yes this of course reduces the average TIC
> error,
> > > as you are removing one of the systematics, which has a relatively high
> > > contribution to the TIC error. The better the model of the system you
> > > are using and thus the more systematics you compensate for, the smaller
> > > the error will become and the more it will look like uncorrelated
> noise.
> > > But as I have written above, once you start doing more complex models,
> > > it gets harder to actually improve the output instead of detoriating
> it.
> > > If you make a mistake in the model, it will predict the wrong thing
> > > and thus correct into the wrong direction. And more often than not
> > > the detoriation will be larger than what the total gain of a simpler
> > > model would have been.
> > >
> > > For further reading I recommend to have a look at [2] to get the basics
> > > and google for "adaptive control" and "system identification".
> > >
> > >                         Attila Kinali
> > >
> > > [1] "Kalman Filtering", by Dan Simon, 2001
> > > http://academic.csuohio.edu/simond/courses/eec644/kalman.pdf
> > >
> > > [2] "Feedback control of dynamic systems" by Franklin et al.
> > >
> > > --
> > > 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 at febo.com
> > > To unsubscribe, go to
> > > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> > > and follow the instructions there.
> >
> > _______________________________________________
> > time-nuts mailing list -- time-nuts at febo.com
> > To unsubscribe, go to
> > https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the
> > instructions there.
>
> _______________________________________________
> time-nuts mailing list -- time-nuts at febo.com
> To unsubscribe, go to
> https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
> and follow the instructions there.
>



-- 

--Jim Harman


More information about the time-nuts mailing list