Hi,
I implemented a second order phase locked loop with \alpha and \beta as the
P & I gains of the PI filter in use. I am trying to lock on a high SNR
complex baseband signal with BPSK modulation. The signal amplitude is
between {-1,1}. I can easily lock when I use I*Q phase detector and I limit
the phase error to {-1,1}.
When I use the arctan(Q/I) phase detector it never locks and the bit
transitions seems to be causing the problem. I tried different loop
bandwidths, alpha, beta values but I never see anything close to locking
which would give me an intuition on locking with arctan() phase detection
scheme.
Any suggestions?
Thanks
Phase detector choice - I*Q vs arctan(Q/I). arctan(Q/I) never locks.
Started by ●November 27, 2011
Reply by ●November 27, 20112011-11-27
On Sun, 27 Nov 2011 20:46:39 -0600, johnlovestohate wrote:> Hi, > I implemented a second order phase locked loop with \alpha and \beta as > the P & I gains of the PI filter in use. I am trying to lock on a high > SNR complex baseband signal with BPSK modulation. The signal amplitude > is between {-1,1}. I can easily lock when I use I*Q phase detector and I > limit the phase error to {-1,1}. > > When I use the arctan(Q/I) phase detector it never locks and the bit > transitions seems to be causing the problem. I tried different loop > bandwidths, alpha, beta values but I never see anything close to locking > which would give me an intuition on locking with arctan() phase > detection scheme. > > Any suggestions?Try simulating it with a really low SNR test signal -- that'll let you see what it's supposed to be, then you can go from there. -- My liberal friends think I'm a conservative kook. My conservative friends think I'm a liberal kook. Why am I not happy that they have found common ground? Tim Wescott, Communications, Control, Circuits & Software http://www.wescottdesign.com
Reply by ●November 28, 20112011-11-28
On Nov 28, 3:46�pm, "johnlovestohate" <aliatolemiss@n_o_s_p_a_m.gmail.com> wrote:> Hi, > I implemented a second order phase locked loop with \alpha and \beta as the > P & I gains of the PI filter in use. I am trying to lock on a high SNR > complex baseband signal with BPSK modulation. The signal amplitude is > between {-1,1}. I can easily lock when I use I*Q phase detector and I limit > the phase error to {-1,1}. > > When I use the arctan(Q/I) phase detector it never locks and the bit > transitions seems to be causing the problem. I tried different loop > bandwidths, alpha, beta values but I never see anything close to locking > which would give me an intuition on locking with arctan() phase detection > scheme. > > Any suggestions? > > Thankswhat about the 4 quadrants of arctan?
Reply by ●November 28, 20112011-11-28
On 11/28/11 12:34 AM, HardySpicer wrote:> On Nov 28, 3:46 pm, "johnlovestohate" > <aliatolemiss@n_o_s_p_a_m.gmail.com> wrote: >> Hi, >> I implemented a second order phase locked loop with \alpha and \beta as the >> P& I gains of the PI filter in use. I am trying to lock on a high SNR >> complex baseband signal with BPSK modulation. The signal amplitude is >> between {-1,1}. I can easily lock when I use I*Q phase detector and I limit >> the phase error to {-1,1}. >> >> When I use the arctan(Q/I) phase detector it never locks and the bit >> transitions seems to be causing the problem. I tried different loop >> bandwidths, alpha, beta values but I never see anything close to locking >> which would give me an intuition on locking with arctan() phase detection >> scheme. >> >> Any suggestions? >> >> Thanks > > what about the 4 quadrants of arctan?not needed if you are using arctan to calculate the *delta* of the phase (from one sample to the next). -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by ●November 28, 20112011-11-28
johnlovestohate wrote:> Hi, > I implemented a second order phase locked loop with \alpha and \beta as the > P & I gains of the PI filter in use. I am trying to lock on a high SNR > complex baseband signal with BPSK modulation. The signal amplitude is > between {-1,1}. I can easily lock when I use I*Q phase detector and I limit > the phase error to {-1,1}. > > When I use the arctan(Q/I) phase detector it never locks and the bit > transitions seems to be causing the problem.0. As the signal is BPSK, you should lock to the dual angle. 1. Use atan2(Q,I) not atan(Q/I). 2. Make sure the phasing of the PLL is correct, i.e. it locks at 0 degrees not at 90/-90/180/-180 degrees.> I tried different loop > bandwidths, alpha, beta values but I never see anything close to locking > which would give me an intuition on locking with arctan() phase detection > scheme. > Any suggestions?Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
Reply by ●November 28, 20112011-11-28
>Hi, >I implemented a second order phase locked loop with \alpha and \beta asthe>P & I gains of the PI filter in use. I am trying to lock on a high SNR >complex baseband signal with BPSK modulation. The signal amplitude is >between {-1,1}. I can easily lock when I use I*Q phase detector and Ilimit>the phase error to {-1,1}. > >When I use the arctan(Q/I) phase detector it never locks and the bit >transitions seems to be causing the problem. I tried different loop >bandwidths, alpha, beta values but I never see anything close to locking >which would give me an intuition on locking with arctan() phase detection >scheme. > >Any suggestions? > >Thanks >Your loop bandwidth must be small enough so the bit transitions do not disturb the loop response.
Reply by ●November 28, 20112011-11-28
On 28 Nov, 04:16, Tim Wescott <t...@seemywebsite.com> wrote:> On Sun, 27 Nov 2011 20:46:39 -0600, johnlovestohate wrote:> > Any suggestions? > > Try simulating it with a really low SNR test signal -- that'll let you > see what it's supposed to be, then you can go from there.*Low* SNR? Rune
Reply by ●November 28, 20112011-11-28
johnlovestohate wrote:> Hi, > I implemented a second order phase locked loop with \alpha and \beta as the > P & I gains of the PI filter in use. I am trying to lock on a high SNR > complex baseband signal with BPSK modulation. The signal amplitude is > between {-1,1}. I can easily lock when I use I*Q phase detector and I limit > the phase error to {-1,1}. > > When I use the arctan(Q/I) phase detector it never locks and the bit > transitions seems to be causing the problem. I tried different loop > bandwidths, alpha, beta values but I never see anything close to locking > which would give me an intuition on locking with arctan() phase detection > scheme. > > Any suggestions?P.S. atan(Q/I) -> zero divide by zero problem. Take magnitude into account. Stupident. VLV
Reply by ●November 28, 20112011-11-28
On 11/28/11 12:20 PM, Vladimir Vassilevsky wrote:> > > P.S. > > atan(Q/I) -> zero divide by zero problem. > Take magnitude into account. > Stupident. >Vlad, the real problem is *non-zero* Q divided by zero I. unless the signal is zero or only noise, there won't be much of a 0/0 problem. this is why atan2() uses different formula (like pi/2 - atan(I/Q) when Q > |I|). it's also a good reason to compute the *change* in phase from one sample to the next than just applying atan2() and worrying about unwrapping later. -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by ●November 28, 20112011-11-28
robert bristow-johnson wrote:> On 11/28/11 12:20 PM, Vladimir Vassilevsky wrote: > >> >> >> P.S. >> >> atan(Q/I) -> zero divide by zero problem. >> Take magnitude into account. >> Stupident. >> > > Vlad, the real problem is *non-zero* Q divided by zero I. unless the > signal is zero or only noise, there won't be much of a 0/0 problem. this > is why atan2() uses different formula (like pi/2 - atan(I/Q) when Q > |I|). > > it's also a good reason to compute the *change* in phase from one sample > to the next than just applying atan2() and worrying about unwrapping later.That is BPSK. Apparently the stupident does Costas loop so he is running into atan(noise/noise) at every bit transition. VLV






