Some Basic USRP questions


#1

Hi,

I have a few basic USRP questions. I have gone through the mail archive
and USRP wiki page but could not find answer to them.

  1. When I run my scripts I sometimes get “uOuOuO” message. I read in the
    archives that I need to increase the decimation rate but I have already
    set it to the maximum limit of 256. What should I do? Also, why do I not
    get the message all the time?

  2. When configuring the USRP Tx and Rx, is it necessary that the
    interpolation and decimation rates should be the same?

thanks and regards,

-Sumit Satarkar


#2
  1. uO means usrp overrun, i.e. the usrp had more data to send, but the
    host computer was not fast enough to accept it and calculate it, so it
    was dropped. setting the decimation rate to its maximum value does
    decrease the processing load on your cpu, but on old systems or very
    “heavy” flowgraphs your cpu might still be overloaded. try closing any
    other programs running (e.g. don’t watch youtube videos at the same
    time)

  2. no, the decimation and interpolation rates don’t need to be equal,
    but their combined values need to not saturate the usb 2.0 bus

Dimitris S.
“If you think you’re too small to make a difference, try sleeping with
a mosquito!” - Amnesty International


#3

thanks Dimitris!

there is nothing else going on the host. Should I just reduce the data
rate? Currently it is 32kbps.
and how do I find out that the USB bus is getting saturated?

Sumit


#4

Discuss-gnuradio mailing list
removed_email_address@domain.invalid
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio

the cpuinfo denotes the speed as 993 MHz.
I am currently following this formula for calculating the interpolation
and decimation rates.

r_tx = r_dac / interp / sps
r_rx = r_adc / decim / sps

Where r_dac is the DAC rate, r_adc is the ADC rate, interp is the
interpolation rate, decim is the decimation rate, and sps is the
samples per symbol. With the values sps = 8, r_dac = 128e6, r_adc =
64e6
and r_tx = r_rx = 32e3 bps, I get interp = 500, and decim = 250. I use
these interp and decim values when initializing the USRP. I was earlier
using additional software interpolation using a low pass filter, but I
have now removed it.

Can someone please tell me why I still get “uOuOuO” message on both Tx
and
Rx ? I am trying to transmit a file and I believe this is the reason it
is
not getting received properly.

thanks and regards,
Sumit


#5
  1. When I run my scripts I sometimes get “uOuOuO” message. I read in the
    archives that I need to increase the decimation rate but I have already
    set it to the maximum limit of 256. What should I do? Also, why do I not
    get the message all the time?

Hi,

A problem I had a while ago was that my operating system (Ubuntu 8.10)
was throttling my CPU down
to 800MHz. Have a look in /proc/cpuinfo (or similar) to see your current
working clock- speed.

//Mattias


#6

Hi all,

I tried to run tunnel.py with usrp+xcvr2450. However, there were
problems
with the mode switching between tx and rx. The gnuradio trunk version is
Rev. 10798. Specifically, I have two usrps and some xcvr2450 and 2400
daughter boards.

First, I ran tunnel.py with two 2400 dbs, everything was fine.

Then I tried with two xcvr2450 dbs. While the tx was fine, the rx failed
(Packets received were corrupted). More specifically, one usrp sent
packets
of 42 bytes, on receiving side, it showed “Rx: ok = False len(payload) =
26”.

Then I tried benchmark_tx.py and benchmark_rx.py with two 2450 dbs, both
tx
and rx were fine.
I also tried using one 2450 and one 2400, 2400 side can receive packets
from
2450 correctly, 2450 failed receiving again.

So I guess there are something wrong with the mode switch between tx and
rx
with 2450. I looked into the 2450 driver that says “The board operates
in
ATR mode, always. Thus, when the board is first initialized, it is in
receive mode, until bits show up in the TX FIFO.” I am wondering if this
is
matter and when the mode switchs back from tx to rx.

BTW, I also tried to switch the order of building txpath and rxpath in
tunnel.py. While in the case of using 2400, such a switch did not make
any
difference, in the case of 2450, it complained that “failed to set Tx
frequency to 2.48G”.

Any ideas? Thanks a lot.

Best regards,
Xiaolong