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
Digital PLL acquisition problem
Started by ●March 15, 2007
Reply by ●March 15, 20072007-03-15
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
Reply by ●March 15, 20072007-03-15
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 ? > > thanksWhat is the loop bandwidth that you've set? It sounds like it is too small. John
Reply by ●March 16, 20072007-03-16
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 ? > > thanksIt'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.
Reply by ●March 16, 20072007-03-16
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...
Reply by ●March 16, 20072007-03-16
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
Reply by ●March 16, 20072007-03-16
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 ncoIt 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
Reply by ●March 16, 20072007-03-16
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
Reply by ●March 16, 20072007-03-16
patrick.melet@dmradiocom.fr wrote:> I have a loop bandwith of 1500 HzIs 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 valuesLooks 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
Reply by ●March 16, 20072007-03-16
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 tonesSince 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