Problems with Mueller & Mueller clock recovery; not very rel


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

scipio:/home/cso/da # ./

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

Once the clock is synchronised (the other 30% cases), the receiver works
fine. The problem is ‘temporarely’ solved by unplugging the DC power
of the board. Is it possible that some buffers on the hardware remain
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,

parts of, which is called by

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
signal for some unknown reason.

thanks for any help.


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]id
D-52072 Aachen Web:

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?


This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs