On Mon, 14 Mar 2016 19:56:42 -0400 Jim Harman <j99har...@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.walen...@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-Control-%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@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.