A couple of questions related to UHD

I posted one question in an early email, but it might be better to put
it together with other questions here. I’d greatly appreciate your
answers.

(1) When transmitting UHD packets (with USRP2 + WBX), after each
transmission, there is either one or a few “U” printed out. What does
“U” mean? Is it used in the update packet from USRP2 to the host?

(2) In uhd:usrp:single_usrp, there is a function “read_rssi”, is this
function enabled? If so, does it mean that we can read RSSI value
directly from USRP2? I suppose that this function is implemented on the
FPGA since there exits a rssi.v function in the uhd library.

(3) In uhd:usrp:single_usrp, it seems that “get_rx_rate” is for setting
sampling rate, but then what is “get_rx_bandwidth” for?

(4) In flow control, how to specify “ups_per_fifo”, just like
device_address[“ups_per_fifo”] = “xx”? Also, what are the FIFOs on USRP2
and what are their default sizes?

(5) For “concurrency_hint”, it says “the number of threads to run the IO
service”, does it mean the total number of threads associated with the
UDP socket for each USRP_SINK or USRP_SOURCE, or something else?

(6) Do control messages generated by functions like get/set_tx_gain and
get/set_tx-freq have to wait on the same UDP buffers which are also used
for exchanging data samples between GNU Radio and USRP?

Andrew

On 02/17/2011 01:57 PM, Feng Andrew Ge wrote:

I posted one question in an early email, but it might be better to put
it together with other questions here. I’d greatly appreciate your answers.

(1) When transmitting UHD packets (with USRP2 + WBX), after each
transmission, there is either one or a few “U” printed out. What does
“U” mean? Is it used in the update packet from USRP2 to the host?

Underflow on transmit = host not producing samples fast enough.

If you are concerned about performance, I encourage you to checkout the
“next” branch on uhd.git and see if you get less underflows.

(2) In uhd:usrp:single_usrp, there is a function “read_rssi”, is this
function enabled? If so, does it mean that we can read RSSI value
directly from USRP2? I suppose that this function is implemented on the
FPGA since there exits a rssi.v function in the uhd library.

This function is daughterboard dependent and only works with the
XCVR2450.

(3) In uhd:usrp:single_usrp, it seems that “get_rx_rate” is for setting
sampling rate, but then what is “get_rx_bandwidth” for?

It tells you the IF bandwidth of the daughterboard.

(4) In flow control, how to specify “ups_per_fifo”, just like
device_address[“ups_per_fifo”] = “xx”? Also, what are the FIFOs on USRP2
and what are their default sizes?

Yes but I recommend using the default.

And the FIFO is the 1MB SRAM on the USRP2.

(5) For “concurrency_hint”, it says “the number of threads to run the IO
service”, does it mean the total number of threads associated with the
UDP socket for each USRP_SINK or USRP_SOURCE, or something else?

These are background threads that run the recv() and send() calls on the
udp socket. If you switch to the next branch, this has been removed.

(6) Do control messages generated by functions like get/set_tx_gain and
get/set_tx-freq have to wait on the same UDP buffers which are also used
for exchanging data samples between GNU Radio and USRP?

No, control is independent from data.

-josh