On Thu, Mar 20, 2008 at 11:19:38AM -0400, George N. wrote:
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