[time-nuts] I've designed a GPSDO, but how "good" is it?
kb8tq at n1k.org
Mon Aug 17 19:37:02 EDT 2015
Consider that your VCXO has a minimum tune range of 20 ppm. There are no typicals or or
max limits shown. Just to toss out a number, say it’s 30 ppm in some cases. They list linearity at 5%.
That’s likely per 55310, so it’s a box spec. Say that gets you to a 1.5:1 slope ratio. Your most sensitive
part of the curve now would equate to 45 ppm.
That would give you a 0.7 ppb LSB *if* the DAC is perfect. If it’s good to what many are (they are monotonic),
you have steps at or above your 1 ppb limit. That *assumes* the loop only steps 1 step at a time. With a FLL
at 100 seconds, that’s very unlikely.
Any time you “pop” the frequency by 1 ppb, you go out of your accuracy limit. That without the VCXO moving with
a standard deviation at 1 second of 1 ppb. That error would add on top of your steps.
One alternative - find an oscillator with a *lot* less EFC range. That part is designed to hold 4.6 ppm forever and to
guarantee lock to another source that is also at +/- 4.6 ppm forever. There are a few other bits and pieces involved so
it really needs to be > +/- 11 ppm EFC at ship.
In your case, an EFC that corrects the aging of the part (4.6 ppm) is plenty good enough.
> On Aug 17, 2015, at 5:37 PM, Nick Sayer via time-nuts <time-nuts at febo.com> wrote:
>> On Aug 17, 2015, at 12:49 PM, Nick Sayer via time-nuts <time-nuts at febo.com> wrote:
>>> On Aug 17, 2015, at 12:07 PM, Attila Kinali <attila at kinali.ch> wrote:
>>> You really should read the wikipedia article on the PID loop and implement
>>> a simple PI loop (no need for the D part). That's not more effort than what
>>> you already did, but gives you better stability.
>> I’ve done PID before (for a reflow oven controller), but thought that the current code was easier to understand. I’m going to try the GPSDO simulator and see how it matches up. It’s entirely possible that an improvement could be made in the time-to-lock, but the steady state performance appears to my eyes to be as close to optimal as I could envision. But I’m new at this, so it’s entirely possible that I’m not looking at it correctly.
> I thought some more, and in principle, I could use the 100 second sample error as the proportional and 1000 second cumulative error as the integral. What I wanted to insure with my hand-coded decision making was that the system was not completely insensitive to momentary excursions in the steady state, but that it didn’t overreact. I suppose that could just mean that Kp = 1 and Ki =~ 2 or 3.
> 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.
More information about the time-nuts