[ntp:questions] NTP phase lock loop inputs and outputs?

David Woolley david at ex.djwhome.demon.co.uk.invalid
Mon May 19 22:14:44 UTC 2008


skillzero at gmail.com wrote:

> 
> The problem is that this change won't be reflected immediately. Even
> if I 44105 Hz is exactly in sync with the peer, when I do another NTP
> exchange in 2 seconds, it won't have enough time to compensate for the
> existing offset so I may still calculate an offset of say 4 Hz then 3
> Hz in another 2 seconds, etc. By the time I get to 0, I may have set
> my frequency to 44115 Hz and now it's too fast so it'll start getting
> negative offsets. And it cycles back and forth like that because I'm
> not taking into consideration the relative change.

You have to damp the loop, the same as you have to damp the suspension 
in a car.  The general form of a commodity industrial controller 
involves adding proportional, differential and integral terms, hence 
they are called PIDs.

You stop the overshoot by adding a term based on rate at which you are 
changing the value.  There is particular level of correction that 
produces the fastest convergence without any over shoot.  Although I 
forget it, the actual formula is high school level mechanics.

You don't need an integral term, because you are not trying to zero the 
phase error.




More information about the questions mailing list