Problems with Mueller & Mueller clock recovery; not very rel

Hi,

I have some trouble using the function gr_clock_recovery_mm_cc.cc
(Mueller &
Mueller Clock recovery). Using DPSK with
datarate 40 kbps, the communication system works perfect running a
simulation
without USRP board. The problem occurs when I switch to the board: when
calling/initialising the receiver client of the system, in approximately
70%
of the cases the following error message shows up.

scipio:/home/cso/da # ./mdpsk_rx_rrc_client_thread.py

gr_fir_ccf: using SSE
Using RX d’board A: Flex 400 Rx MIMO B
python: gri_mmse_fir_interpolator_cc.cc:66: gr_complex
gri_mmse_fir_interpolator_cc::interpolate(const gr_complex*, float):
Assertion `imu >= 0’ failed.
Aborted

Once the clock is synchronised (the other 30% cases), the receiver works
fine. The problem is ‘temporarely’ solved by unplugging the DC power
supply
of the board. Is it possible that some buffers on the hardware remain
filled
from former runs on the board?

I am calling the M&M clock recovery with the following parameters:
clock_sync = gr.clock_recovery_mm_cc(self.sw_decim, 0.25*0.009, 0.5,
0.03,
0.002)

parts of gri_mmse_fir_interpolator_cc.cc, which is called by
gr_clock_recovery_mm_cc.cc:

gr_complex
gri_mmse_fir_interpolator_cc::interpolate (const gr_complex input[],
float mu)
{
int imu = (int) rint (mu * NSTEPS);

assert (imu >= 0);
assert (imu <= NSTEPS);

gr_complex r = filters[imu]->filter (input);
return r;
}

I expect that “assert(imu >=0);” is not very robust for synchronising
the
signal for some unknown reason.

thanks for any help.

Chris


Christian Sokolowski Office: +49(0)-240-7575-7043
RWTH Aachen FAX: +49(0)-240-7575-7050
Wireless Networks Dept
Kackertstrasse 9 E-mail: [email protected]
D-52072 Aachen Web: http://www.mobnets.rwth-aachen.de

Christian Sokolowski wrote:

I expect that “assert(imu >=0);” is not very robust for synchronising the
signal for some unknown reason.

Have you tried commenting that out and seeing what happens?

Matt