[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 22:15:48 +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
Hi Tom,
I spent some time on reading the code in gri_control_loop. However, the
calculation from loop bandwidth to alpha and beta is quite complicated and from
digital_costas_loop_cc I do not see how loop bandwidth is related to the loop
behavior etc.
Is the implementation based on some paper or text? I am really interested to
read the theory.
BTW, the phase detector is a decision-directed method. In a costas loop the
phase error should be detected in a non-data aided way. so the block is not a
costas loop strictly speaking.
KZ