Hal posted:
> 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 or X = X - k*X + k*new
OR
Gives exact same results using only one multiply,
New_X = Last_X + k * (New_data - Last_X)
OR
For powers of square root of two 1.414 steps, which is close enough for GPSDO
control loops using only shifts can add:
New_X = Last_X + [ { (New_Data + 1/2* New_Data) - (Last_X + 1/2*
Last_Data) } divided by 2^N ]
>I think the main problem in this area is building a low pass filter with a
>long time constant.
Not At ALL, That can be the easiest part as long as it is in a CLOSED LOOP
system where accuracy is not very important.
As you stated, with digital filters you can go as slow as you want as long as
you do not let it loose LS_Bits when shifting and adding.
How do I build an analog filter with a time constant that long?
The TC filter is inside a loop so Most all the bad things that slow poor analog
filters do does not matter much at all.
100 meg and 10 uf Tantalum capacitor can work fine as a 0 to +5V, 1000 sec
analog filter inside a loop.
I've found that a 10 Meg resistors and most small, 10 cent ,1000uf caps work
fine for a closed loop 10K sec TC filter.
>What's the input impedance of a VCXO or Rb unit? I assume we will need an
>op-amp to buffer the filter.
No buffer usually needed, most are pretty Hi_Z, and many are floating inputs
such as the HP10811.
MOST of the time, for "SIMPLE" the best results are obtained by highly
attenuating the EFC input so high value filter resistors can be used.
The other thing that helps a lot is the less the EFC feedback gain the lower
the RC time constant need be for the same effective loop time constant.
example of simple and high performance:
Say you need a 10,000 second time constant analog filter when using the full
+5 to - 5V EFC range of a disciplined HP10811 osc.
You can get the same 10K sec Loop time constant using a +5 mv to -5 mv EFC
range and a 10 second filter time constant. (and a manual freq offset
adjustment)
Can make that using a couple 20 meg resistors, center taped with a 1uf cap (10
sec TC), connected to the EFC with a 40K ohm to ground (plus a RF bypass cap)
You get a 10,000 sec effective loop Time constant, low noise system that can be
controlled just fine with an 8+ bit dithered Dac, to performance a nut would
want.
There has been many postings of all sorts of possible bottle neck problems that
are true when making a overly complicated "Rube Goldberg" kind of nut
controller.
BUT for 'SIMPLE' with a little thought and compromise, most of these do not
need to apply, therefore they are not an issue even at the highest performance
levels.
ws
***************
[time-nuts] Thunderbolt? (re simple gpsdo.)
Hal Murray hmurray at megapathdsl.net
Sun Jan 1 01:56:46 UTC 2012
> 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.)
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?
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?
What's the input impedance of a VCXO or Rb unit? I assume we will need an
op-amp to buffer the filter.
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.
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
or
X = X -k*X + k*new
where k is less than one. Smaller k makes a slower filter.
If you pick k as a (negative) power of 2, the multiplies can be done with a
shift so there is nothing complicated with making filters with a very long time
constant. (You may have to use multi-precision arithmetic, but that's not a
big deal.)
_______________________________________________
time-nuts mailing list -- [email protected]
To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts
and follow the instructions there.