discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] rules for clock recovery parameters


From: Eric Blossom
Subject: Re: [Discuss-gnuradio] rules for clock recovery parameters
Date: Thu, 20 Mar 2008 10:01:42 -0700
User-agent: Mutt/1.5.17 (2007-11-01)

On Thu, Mar 20, 2008 at 11:19:38AM -0400, George Nychis wrote:
> Hi all,
>
> I was wondering if anyone knows the rules for selecting clock recovery 
> parameters for the gr_clock_recovery_mm_* block.  In specific, I'm 
> wondering about the following parameters:
>   mu, gain mu, omega, omega gain, and omega limit
>
> I would like to verify the clock recovery parameters chosen by UCLA's 
> 802.15.4 implementation:
> https://moo.cmcl.cs.cmu.edu/trac/cmu_sdrg/browser/802.15.4/trunk/src/python/ieee802_15_4.py#L100
>
> The reason is that we experience no loss when using file source/sinks but 
> experience loss using coax, which might be due to timing errors introduced 
> by the hardware.
>
> I'd greatly appreciate any help.

> Thanks!
> George


Have you taken a look at the books and papers referenced in the header files?


/*!
 * \brief Mueller and Müller (M&M) based clock recovery block with float input, 
float output.
 * \ingroup clock
 *
 * This implements the Mueller and Müller (M&M) discrete-time error-tracking 
synchronizer.
 *
 * See "Digital Communication Receivers: Synchronization, Channel
 * Estimation and Signal Processing" by Heinrich Meyr, Marc Moeneclaey, & 
Stefan Fechtel.
 * ISBN 0-471-50275-8.
 */

/*!
 * \brief Mueller and Müller (M&M) based clock recovery block with complex 
input, complex output.
 * \ingroup clock
 *
 * This implements the Mueller and Müller (M&M) discrete-time error-tracking 
synchronizer.
 * The complex version here is based on:
 * Modified Mueller and Muller clock recovery circuit
 * Based:
 *    G. R. Danesfahani, T.G. Jeans, "Optimisation of modified Mueller and 
Muller 
 *    algorithm,"  Electronics Letters, Vol. 31, no. 13,  22 June 1995, pp. 
1032 - 1033.
 */


mu specifies the point between two samples that you want the
interpolated value of.  It's in [0.0, 1.0].  It's the input to the
gri_mmse_fir_interpolator.  The rest of the parameters are for the
control loop.

/*!
 * \brief Compute intermediate samples between signal samples x(k*Ts)
 * \ingroup filter
 *
 * This implements a Mininum Mean Squared Error interpolator with 8 taps.
 * It is suitable for signals where the bandwidth of interest B = 1/(4*Ts)
 * Where Ts is the time between samples.
 *
 * Although mu, the fractional delay, is specified as a float, it is actually
 * quantized.  0.0 <= mu <= 1.0.  That is, mu is quantized in the interpolate 
 * method to 32nd's of a sample.
 */

class gri_mmse_fir_interpolator_cc





reply via email to

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