[time-nuts] Thunderbolt? (re simple gpsdo.)

Chris Albertson albertson.chris at gmail.com
Sun Jan 1 04:54:11 UTC 2012


On Sat, Dec 31, 2011 at 5:56 PM, Hal Murray <hmurray at megapathdsl.net> wrote:

>
> > As soon as you say "Software" the device is no longer simple.    Even a
> > microprocessor is a very complex device and so is its development system.
> > The software inside the uP is not simple either if you count the number
> of
> > possible paths through the code (2 raided to the power of the number of
> > branches.)
>
> Yes and no...
>
> Software doesn't have to be big, bloated, ugly, and complicated.  (But I
> agree that it often is.)
>

If you have eight "if" statements you have 2^8 = 256 possible paths through
the code.   For a hobby application I goes you'd not bother to write up and
run 256 test cases.

>
> This looks like fun to me, but I like writing that sort of code.  Note that
> it doesn't need an OS or even any libraries.
>
>
> The context for "simple" wasn't well specified.
>
> Does simple refer to design or construction?


I think "simple" means you can explain how it works in a few sentences.
And if software is used you have to explain every calculation and decision
point.

With software design and construction is the same thing if you only build
one unit.

>
> How good does the GPSDO have to be?  (After all, this is time nuts.)  What
> sort of adev at what sort of time scale?
>
>
> I think the main problem in this area is building a low pass filter with a
> long time constant.
>
> The time constant of the filter has to be:
>  long relative to the noise from the phase detector
>  short relative to aging of the oscillator
>  short relative to environmental changes
>    (so the osc can track temperature and voltage
>      those changes may be in the PLL system rather than the osc)
>
> If we are starting with PPS (rather than 10KHz), the filter time constant
> needs to be 10s or 100s of seconds.  How do I build an analog filter with a
> time constant that long?
>

Time constant is just R*C.  If you have a 1000uF cap and a 1K resistor you
have 1 second.  In theory you could build 100s just by using a 100K
resistor but I think real world components are not perfect enough.

What's the input impedance of a VCXO or Rb unit?  I assume we will need an
> op-amp to buffer the filter.
>

I suspect you are right.


>
> The ugly problem in this area is that time constant to filter out phase
> detector noise overlaps the time constant needed to let environmental
> changes through.  That doesn't matter if the filter is analog or digital.
>
> If the osc is stable (Rb) filter time constants of 1000s of seconds might
> make sense.  That might help take care of some of the hanging bridges.
>

The new $38 Rb units can only be adjust by RS-232 commands.  So you need a
digital controller.   No choice there.
The best oscillator for an analog controller would have to be a high
quality ovenized crystal.


About the time constants.  If you are doing this in software then you can
track performance inside the controller and adjust.  Seems you shouod be
able to tell the controller the "tau" you need and it should be able to
optimize.

Once you have a uP then more features are easy to do, like maybe using
multiple GPS receivers or maybe fault detection and switching to holdover
mode

>
> For those who aren't familiar with this trick, it's easy to make a low
> pass filter in software:
>  X = X*(1-k) + k*new


Designing filters seems like an art.  What is the frequency response of the
above for different values of k?  I tend to like FIR filters because I
think I understand them better.  I think yours is an IIR.

>
>
> Chris Albertson
Redondo Beach, California


More information about the time-nuts mailing list