Re: [Linuxptp-devel] Optimal P, I constants
PTP IEEE 1588 stack for Linux
Brought to you by:
rcochran
From: Richard C. <ric...@gm...> - 2013-04-30 17:11:48
|
On Mon, Apr 29, 2013 at 04:02:25PM +0200, Miroslav Lichvar wrote: > On Sat, Apr 27, 2013 at 09:15:39AM +0200, Richard Cochran wrote: > > > For example, the 2^-3 case > > produces an initial 800 PPM adjustment for the 100 microsecond offset. > > That's perfectly fine, the servo running at 8Hz rate is 8 times > faster. The amount of offset corrected in one clock update is the > same. No it is not perfectly fine. When approaching stopped traffic at a red right, some drivers step on the gas and then slam on the breaks at the last moment. If instead you ease off the gas, you still get the light at the same time, but the ride is much smoother. When we scale the 1 Hz constant for 8 Hz, for example, the servo first dials +800 PPM and then almost -100 PPM. Properly tuned constants don't do that, as you can see in the plot: > > http://linuxptp.sourceforge.net/pi_const/plot5.png > I think we can select one configurable constant which will be > independent from the update rate and calculate the rest from it. The > constant could still have two default values for the SW and HW > time stamping. It could be the P constant "normalized" for 1 Hz, the I > constant "normalized" for 1 Hz, the Allan intercept, jitter divided by > wander, or another arbitrary scale. The Allan intercept has an > advantage over the others that it can be seen on the Allan deviation > plot. I still don't understand what you are proposing. Given an intercept, how do you derive P and I? In any case, it is my understanding that the settling times and frequency responses are critical for the servo behavior. I guess I will have to refresh my control theory and see what I can come up with. Thanks, Richard |