[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] frequent phase slip with the new digital.costas_l

From: Kyle Zhou
Subject: Re: [Discuss-gnuradio] frequent phase slip with the new digital.costas_loop_cc
Date: Fri, 21 Sep 2012 13:02:40 +1000

On 21/09/2012, at 12:45 AM, Tom Rondeau wrote:

> On Thu, Sep 20, 2012 at 9:56 AM, Kyle Zhou <address@hidden> 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 
Any suggestions?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]