discuss-gnuradio
[Top][All Lists]
Advanced

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

[Discuss-gnuradio] Error on "Assertion `imu >= 0' failed" when using gr.


From: Zhen
Subject: [Discuss-gnuradio] Error on "Assertion `imu >= 0' failed" when using gr.udp_source/sink
Date: Tue, 28 Jun 2011 14:34:15 +0800 (CST)

Hello,

I modified "benchmark_tx.py and benchmark_rx.py" by replacing the usrp_source/sink with gr.udp_source/sink and gr.file_source/sink, to see if the generated IQ data from tx side can be correctly captured and processed at rx side via UDP socket or trace file instead of USRP. If it does, then I can analyze the signal off-line or transmit the captured data to others via socket.

The modified program with gr.file_source/sink works correctly and the results are exactly the same when using usrp_source/sink.

But when using udp_source/sink, the tx side can send packets to udp_sink well, but the rx side program is aborted with error
"python: gri_mmse_fir_interpolator.cc:71: float gri_mmse_fir_interpolator::interpolate(const float*, float) const: Assertion `imu >= 0' failed."

My python codes are configured like the following:
rx side:
----------------------------------------------------------------------
self.u = gr.udp_source(gr.sizeof_gr_complex, options.host, options.port, options.packet_size, not options.no_eof, not options.no_wait)
rx_path = receive_path.receive_path(demod_class, rx_callback, options)
self.connect(self.u, rx_path)
---------------------------------------------------------------------

tx side:
------------------------------------------------------------------
self.u = gr.udp_sink(gr.sizeof_gr_complex, options.host, options.port, options.packet_size, options.no_eof);
tx_path = transmit_path.transmit_path(modulator_class, options)
self.connect(tx_path, self.u)
------------------------------------------------------------------

Then I added a printf in "gri_mmse_fir_interpolator.cc", and found imu is −2147483648, .i.e, -0x80000000;

But in normal situation when using usrp_source/sink or file_source/sink,  it is between 63--67.

I searched the mailing list and knew that the imu value is used to tell the interpolating filter where in the filter to takethe output from,  but got few clues to solve this problem.

I wonder if udp_source/sink modifies the complex data stream it transmits then the gnuradio can't process it correctly?
Or is there any suggestion to solve it?

Thanks in advance!

Zhen


reply via email to

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