On 21/09/2012, at 12:45 AM, Tom Rondeau wrote: > On Thu, Sep 20, 2012 at 9:56 AM, Kyle Zhou <kyle...@gmail.com> wrote: >> I adapted my codes from gnuradio-3.3 to the new 3.6 version. >> One of the changes is the new digital.costas_loop_cc is now implemented >> based on control_loop. >> The costas loop is used for phase recovery of a QPSK signal. >> But I noticed that with the new version, the output experiences a lot of >> phase slips. >> To be exact, the phase at the output rotate 90 degree from time to time. >> I changed it back to the old gr.costas_loop_cc and this did not happen. >> The setting for the old loop is alpha=0.01, beta=alpha*alpha/4, >> max_freq=2*pi*0.1, min_freq=-max_freq. >> The setting for the new loop is loop bandwidth = 2*pi/100 >> >> The new version is only good when SNR is very high, say 13dB+ >> >> Any has encountered the same problem? or am I doing something wrong? >> KZ > > Hi Kyle, > > I was using this just last week in a demonstration and hadn't noticed > any problems. If you can pin-point what's going wrong, though, I'll be > sure to fix it. > > Tom
After playing the module for a while, I figured out where the problem is. The default setting to the loop bandwidth 2*pi/100 is too big. I am not familiar with the control loop bandwidth stuff. But change it to 2*pi/1000 makes things working. For a QPSK, Eb/N0=8 dB will cause the loop out of lock if set as 2*pi/100. Even with 10 dB, the frequency offset varies a lot. I know it is certain trade off between max captured offset and performance. But 2*pi/100 is definitely far from optimal. I will learn more about control loop to get an idea how the bandwidth should be determined. Any suggestions? KZ _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio