Forum: GNU Radio About FLL and phase tracking error in narrow band domodulation

Posted by Alex Zhang (Guest)
on 2013-01-08 07:28
(Received via mailing list)
Hello,

I am reading the code for frequency correction in the demodulation chain
for the narrow band like PSK, GMSK, etc.

In the gnuradio/gr-digital/python/generic_mod_demod.py, two blocks 
contains
the code related to the frequency offset correction.

1. digital.fll_band_edge_cc
  I am not familiar with the algorithm employed in this frequency loop
locking block. Is there any direct reference for this block, such as 
paper
or documentation?

2. digital.constellation_receiver_cb
 It has a member function to update the phase and frequecy of the 
incoming
samples, digital_constellation_receiver_cb::phase_error_tracking()
Is there any reference for me to understand it more easily. Especially,
this member function calls
void
gri_control_loop::advance_loop(float error)
{
  d_freq = d_freq + d_beta * error;
  d_phase = d_phase + d_freq + d_alpha * error;
}

where the d_beta  and d_alpha is updated in
void
gri_control_loop::update_gains()
{
  float denom = (1.0 + 2.0*d_damping*d_loop_bw + d_loop_bw*d_loop_bw);
  d_alpha = (4*d_damping*d_loop_bw) / denom;
  d_beta = (4*d_loop_bw*d_loop_bw) / denom;
}

I did not find any explanation for these two part of codes.
Appreciate any helps.

Thanks

--

Alex,
*Dreams can come true  just believe.*
Posted by Martin Braun (CEL) (Guest)
on 2013-01-08 10:05
(Received via mailing list)
On Tue, Jan 08, 2013 at 12:27:29AM -0600, Alex Zhang wrote:
> In the gnuradio/gr-digital/python/generic_mod_demod.py, two blocks contains the
> code related to the frequency offset correction.
>
> 1. digital.fll_band_edge_cc
>
>   I am not familiar with the algorithm employed in this frequency loop locking
> block. Is there any direct reference for this block, such as paper or
> documentation?

https://lists.gnu.org/archive/html/discuss-gnuradi...

> 2. digital.constellation_receiver_cb
>
>  It has a member function to update the phase and frequecy of the incoming
> samples, digital_constellation_receiver_cb::phase_error_tracking()
>
> Is there any reference for me to understand it more easily. Especially, this
> member function calls 

Perhaps this helps?
http://www.trondeau.com/blog/2011/8/13/control-loo...

MB
--
Karlsruhe Institute of Technology (KIT)
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin Braun
Research Associate

Kaiserstraße 12
Building 05.01
76131 Karlsruhe

Phone: +49 721 608-43790
Fax: +49 721 608-46071
www.cel.kit.edu

KIT -- University of the State of Baden-Württemberg and
National Laboratory of the Helmholtz Association
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.