DSPRelated.com
Forums

Digital PLL acquisition problem

Started by Unknown March 15, 2007
Hi all,

I made a digital PLL, with multiplier based phase detector, digital
loop filter C1 + C2/(1-z^-1) and a digital NCO with 16 bits
accumulator

I want to lock on a 22170 Hz sine signal in 10 ms lock time

My problem is when I don't have the 22170 Hz signal, my output filter
sweep very slowly (1 second) beetween min and max of my input NCO and
don't lock when my 22170 Hz signal is on

So I put a window at the ouput of my filter to only sweep in a 2600 Hz
window
And when this ouput is out of this window I reset the filter
accumulator to its maximum value, now the ouput of the filter sweep
this window very slowly ( about 2 seconds)

So with this when I put my 22170 Hz off and on my loop locks into it,
but I have a very long lock time ( 200 ms) and not 10 ms...

Is in acquisition mode I have to "manually" sweep my input NCO in the
2600 Hz window and look at the ouput of the loop filter to say if I'm
lock or not ?

thanks


patrick.melet@dmradiocom.fr wrote:


> I made a digital PLL, with multiplier based phase detector, digital > loop filter C1 + C2/(1-z^-1) and a digital NCO with 16 bits > accumulator > > I want to lock on a 22170 Hz sine signal in 10 ms lock time > > My problem is when I don't have the 22170 Hz signal, my output filter > sweep very slowly (1 second) beetween min and max of my input NCO and > don't lock when my 22170 Hz signal is on > > So I put a window at the ouput of my filter to only sweep in a 2600 Hz > window > And when this ouput is out of this window I reset the filter > accumulator to its maximum value, now the ouput of the filter sweep > this window very slowly ( about 2 seconds) > > So with this when I put my 22170 Hz off and on my loop locks into it, > but I have a very long lock time ( 200 ms) and not 10 ms... > > Is in acquisition mode I have to "manually" sweep my input NCO in the > 2600 Hz window and look at the ouput of the loop filter to say if I'm > lock or not ?
1. You should use the state machine frequency/phase detector, not a multiplier. This will guarantee the reliable quick PLL pull-in. 2. The pull-in time depends on the loop filter parameters. There is a tradeoff between the PLL noise bandwidth and the pull-in time. 3. The RMS variation of the NCO frequency can be used as the measure of PLL lock. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
On Mar 15, 11:46 am, patrick.me...@dmradiocom.fr wrote:
> Hi all, > > I made a digital PLL, with multiplier based phase detector, digital > loop filter C1 + C2/(1-z^-1) and a digital NCO with 16 bits > accumulator > > I want to lock on a 22170 Hz sine signal in 10 ms lock time > > My problem is when I don't have the 22170 Hz signal, my output filter > sweep very slowly (1 second) beetween min and max of my input NCO and > don't lock when my 22170 Hz signal is on > > So I put a window at the ouput of my filter to only sweep in a 2600 Hz > window > And when this ouput is out of this window I reset the filter > accumulator to its maximum value, now the ouput of the filter sweep > this window very slowly ( about 2 seconds) > > So with this when I put my 22170 Hz off and on my loop locks into it, > but I have a very long lock time ( 200 ms) and not 10 ms... > > Is in acquisition mode I have to "manually" sweep my input NCO in the > 2600 Hz window and look at the ouput of the loop filter to say if I'm > lock or not ? > > thanks
What is the loop bandwidth that you've set? It sounds like it is too small. John
On Mar 16, 4:46 am, patrick.me...@dmradiocom.fr wrote:
> Hi all, > > I made a digital PLL, with multiplier based phase detector, digital > loop filter C1 + C2/(1-z^-1) and a digital NCO with 16 bits > accumulator > > I want to lock on a 22170 Hz sine signal in 10 ms lock time > > My problem is when I don't have the 22170 Hz signal, my output filter > sweep very slowly (1 second) beetween min and max of my input NCO and > don't lock when my 22170 Hz signal is on > > So I put a window at the ouput of my filter to only sweep in a 2600 Hz > window > And when this ouput is out of this window I reset the filter > accumulator to its maximum value, now the ouput of the filter sweep > this window very slowly ( about 2 seconds) > > So with this when I put my 22170 Hz off and on my loop locks into it, > but I have a very long lock time ( 200 ms) and not 10 ms... > > Is in acquisition mode I have to "manually" sweep my input NCO in the > 2600 Hz window and look at the ouput of the loop filter to say if I'm > lock or not ? > > thanks
It's the bandwidth of the PLL - you need to increase the gain. Forget all that BS about using state-machines.A multiplier is fine.When you say that the signal is not there do you mean there is zero input or a different freq? PLL's need a carrier (clock) based input or the output can drift off. F.
I have read your article : Efficient Multitone detection...

It's a fully good article with lots of tips and tricks...

Monday I'm going to test it in our application where we need to detect
6 tones from 1kHz to 75 kHz

The difference with the DTMF and our application is that we can have
the 6 tones presents WITH a phase modulation (180=B0) at very low
frequency 67Hz or 100Hz present in our 6 tones

thanks and good luck for the future, you seems to be young (PhD in
1997), I have too a PhD in Microelectronics form France in 2001...

I have a loop bandwith of 1500 Hz

The problem is my acquisition process...

there's a long time constant due to my loop filter that accumulates
the values

If I make a sweep on my input NCO, the output of the loop filter don't
converge

I don't know how to measure the rms of the variation of the frequency
of the nco


On Mar 16, 7:54 am, patrick.me...@dmradiocom.fr wrote:
> I have a loop bandwith of 1500 Hz > > The problem is my acquisition process... > > there's a long time constant due to my loop filter that accumulates > the values > > If I make a sweep on my input NCO, the output of the loop filter don't > converge > > I don't know how to measure the rms of the variation of the frequency > of the nco
It sounds like something isn't right in the implementation. If the signal is dead center and SNR is decent, acquisition should occur much faster than 200 ms. You should not have to sweep unless the input frequency is too far off. How did you compute the loop filter gains? John
I have a frequency sampling of 300 kHz
Then after de multipler (phase detector) I decimate with a FIR filter
to be 10 kHz sampling to the loop filter
so the loop filter is at 10 kHz sampling
because I have a strange output of this filter when I compute the
coefficients for a sampling frequency of 300 kHz
when i sampling the filter at 300 kHz I have a 44340 Hz at the output
of the mixer (detector) that is not filtered by the loop filter

I think it should work with 300 kHz sampling

I have Kd = 16384, Ko = 1.4e-9
with Fs=10kHz I have C1 = 14335 and C2=3041
and with Fs=300 kHz I have C1=586 and C2=4.14

I think ther's a problem here



patrick.melet@dmradiocom.fr wrote:

> I have a loop bandwith of 1500 Hz
Is it a PLL loop bandwidth or just the LPF bandwidth? Make sure you don't confuse one for another.
> The problem is my acquisition process... > > there's a long time constant due to my loop filter that accumulates > the values
Looks like not enough of loop gain. PLL is the same thing as the classic PI regulator. Refer to any book on the control theory. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com

patrick.melet@dmradiocom.fr wrote:

> I have read your article : Efficient Multitone detection... >=20 > It's a fully good article with lots of tips and tricks... >=20 > Monday I'm going to test it in our application where we need to detect > 6 tones from 1kHz to 75 kHz >=20 > The difference with the DTMF and our application is that we can have > the 6 tones presents WITH a phase modulation (180=B0) at very low > frequency 67Hz or 100Hz present in our 6 tones
Since the output is I and Q for every frequency, the addition of the=20 phase demodulators should not be a problem at all. Still I am wondering what is the application which requires that strange = form of signaling.
> thanks and good luck for the future, you seems to be young (PhD in > 1997), I have too a PhD in Microelectronics form France in 2001...
No wonder. Just about anyone in this newsgroup is a geek of the advanced = degree. Some people are trying to conceal, but one can easily notice the = specific mental damage made by the higher education. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com