On Sat, 31 Dec 2011 17:56:46 -0800, Hal Murray <hmur...@megapathdsl.net> wrote:
>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. Both designs look fun to me but for different reasons. The analog design requires attention to leakage and noise while the digital design requires high resolution, good DNL, and attention to cycle accurate counting. My ongoing notebook doodles are tending toward using a simple PIC as a cycle accurate frequency comparator and high resolution low frequency oscillator to drive a high resolution frequency to voltage converter. The part I have not figured out is measuring phase below one cycle without frequency multiplication. There must be a better way than doing a time to voltage conversion. I figure I could get better than 17 bits of INL and 20 bits of DNL for the OCXO control signal. >The context for "simple" wasn't well specified. > >Does simple refer to design or construction? I would say that "simple" means diagnosis can be performed with a multimeter and oscilloscope and all parts are user replaceable without any programming. >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? Use op-amp integrators and pay careful attention to leakage. Because of the long time constant involved, tuning it will be arduous. If noise is a problem, it might be worth using a discrete FET differential amplifier input stage. The phase detector should probably be disconnected when GPS lock is lost to prevent integrator windup. A fast time constant mode would make for a faster lock. I think a dual phase/frequency detector could be used to indicate when a lock has been achieved. >What's the input impedance of a VCXO or Rb unit? I assume we will need an >op-amp to buffer the filter. I would probably drive it directly from an op-amp integrator output. >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. In a state variable filter you can adjust the filter cutoff by adjusting the integrator gain. I did something like this in a low noise chopper stabilized amplifier that I designed where I adjusted the integrator time constant via the gain for lowest output noise and amazingly enough, it ended up matching the bipolar amplifier noise corner frequency very closely. When set too high, the broadband noise from the chopper stabilized amplifier rose and when set too low, the 1/f noise from the bipolar amplifier rose. The whole thing worked well enough that I could measure the resistance of a piece of wire from its Johnson noise. >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.) Would you measure the differential phase and then update the filter and output every second? _______________________________________________ time-nuts mailing list -- time-nuts@febo.com To unsubscribe, go to https://www.febo.com/cgi-bin/mailman/listinfo/time-nuts and follow the instructions there.