[time-nuts] Re: General discussion of PID algorithms applied to GPSDO control loops (continued 1)

Poul-Henning Kamp phk at phk.freebsd.dk
Sat Apr 16 13:37:16 UTC 2022


--------
Bob kb8tq writes:

>>> You mean the FLL and PLL are exclusive of each other ? I guess you are
>> right, but I am trying to think "outside the box" and see if there are any
>> alternatives.
>
>You will have two people driving the car at the same time. One hits the 
>accelerator and the other hits the brakes at the same time. They both can’t
>be active *and* feed the EFC at the same time. The practical answer is to
>run each during the warmup phase that it makes sense to do so.

You _can_ have hybrid steering, but you must assign "weight" to the
different contributions, so that they will never oscillate.  I normally
have found it better to have a big switch which decides who gets to control,
based on the (external) circumstances.

As a general rule of thumb, FLL's only make sense if the product
of the rate at which you measure phase difference, and the jitter-noise
when you do, ends up way to the right and above the allan-intercept.

Prof. Dave's infamous "Call NIST once a day with a modem" mode in
NTPD is a good example:  Forget about tracking temperature, XO drift
or anything else:  Just try to get the average frequency right on a
timescale measured in weeks.

Poul-Henning

PS: When you implement your PLL:  The way to void "wind-up" 
durign startup, is to short the integrator, until the phase error
has reached its proper sign.  It is surprising how hard it is
to write code to spot that, compared to deciding it manually :-)

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.




More information about the Time-nuts_lists.febo.com mailing list