Re: PLL and SYNC question



to Tim Wescott

Thank you for the quick answer.

> What do you mean by error-linearity?!?

I didn't mean the phase comparator output but transient phase
error signal after the loop filter (that must be fed to the VCOin).
I implemented 1st order passive low pass filter as the loop filter.
You know in this case you have not the same signal forms if you have
100 Hz or 20kHz loop input.


> Huh? 4046's only work into the low MHz; with big enough capacitors
> they'll work down to the single-digit Hz.

I agree. But I don't use VCO.


> I've implemented software PLLs up to 80kHz on modern DSP chips. You
> need to have a fast DSP to be able to update the control loop at that
> rate, or you need to figure out how to subsample the input without
> messing up. If you can generate a sine wave at 20kHz in your DSP you
> must be turning a routine over at over 40kHz, so I assume you have a
> fast DSP.

Really? Great performance (I'd like to have too).
My DSP is SHARC ADSP21262 running at 200 MHz. I think it's suitable. But
there are another algorithms to be implemented in my design (filters).


> The key is to use a timer for the phase detector. If you have a timer
> capture input you can capture the timer's phase at the instant that the
> input signal happens. If you use the same clock that's generating your
> sine wave for input capture you can easily relate the input phase to
> your output phase.

I used to capture period of the TTL-input by the timer and to generate
corresponding sine wave. This worked very well for 100-Hz but was not
precise for 20KHz input. Did you use 1 timer for the phase detector?
Could you describe the whole process more detailed, please?


> Yes, your loop will be more complex. But with this complexity you can
> buy easy linearization, gain scheduling to account for the changing
> sampling rate as your input rate gets low, and good fast rough
frequency
> estimation to start your NCO at the right frequency and phase for quick
> locking.

Yes, I'd like to implement a software PLL and escape using additional
hardware. Did your implemented SPLL worked for defined frequency only
or for a frequency range, how large was the lock range? My software must
be able to lock to frequencies from 20Hz to 20kHz.

Regards
kirgizz
.



Relevant Pages

  • Re: question about thread scheduling
    ... I will try what you suggested, the reason that I didn't use the sleep method ... whatsoever to tamper with the timer tick. ... If the NN run in a different thread as the control loop ...
    (microsoft.public.windowsce.platbuilder)
  • Re: Timer module for interpreter
    ... What I'd like to do is have a fall-back timer so that if some ... loop which is running the code. ... Presumably the flag set by the ... module and checked by the main interpreter loop would also have ...
    (comp.sys.acorn.programmer)
  • Re: Which Is Better?
    ... The reason they gave was from a DBA perpspective like it was ... MERGE really necessary here - do you do any inserts in that loop, ... statistics for both approaches and compare them to see what could ... Did you capture any other statistics aside from run time ...
    (comp.databases.oracle.misc)
  • Re: Timer module for interpreter
    ... What I'd like to do is have a fall-back timer so that if some ... loop which is running the code. ... Several of my applications use SWI OS_CallAfter to set a routine to be ... intervals to allow cooperatively multi-task to continue. ...
    (comp.sys.acorn.programmer)
  • Re: How to create a synchronous call in a In-Process server
    ... I think you're going to have to use QueryUnload, but rather than a timer fired from that, I'd favor an event model where the activex component signals it is safe to unload it after a stop or unload request has been made. ... don't listen to anyone who says put a Sleep call in your DoEvents loop as that would make things worse. ... Private Sub Form1_Load ...
    (microsoft.public.vb.general.discussion)