[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] gr.clock_recovery_mm_ff() help
From: |
Eric Blossom |
Subject: |
Re: [Discuss-gnuradio] gr.clock_recovery_mm_ff() help |
Date: |
Sun, 25 Mar 2007 07:34:39 -0700 |
User-agent: |
Mutt/1.5.9i |
On Fri, Mar 23, 2007 at 11:40:39PM -0700, George Barrinuevo wrote:
> Hello,
>
> I am trying to use the gr.clock_recovery_mm_cc (float
> omega, float gain_omega, float mu, float gain_mu).
> What do I set for the omega, gain_omega, mu, and
> gain_mu? There is also a version of this function
> with 5 parameters.
For a shoot-from-the-hip introduction, take a look at some of the
places in the Python code where these blocks are instantiated.
Without a good understanding of the algorithm, trying to explain these
is tough. I suggest starting with these books and papers:
/*!
* \brief Mueller and Müller (M&M) based clock recovery block with complex
input, complex output.
* \ingroup block
*
* 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.
*/
/*
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.
*/
> Also, what should be the number of samples per bit
> going into this gr.clock_recovery_mm_ff() or how much
> oversampling per bit should be used as the input?
About 2 samples per symbol should be fine.
Also, because of the constraints given by the filters implemented
within gri_mmse_fir_interpolator_cc, the input signal must contain no
significant energy above Fs/4, where Fs is the sampling rate. Note
that this restriction is twice as tight as the Nyquist criterion.
Eric