Discussion and technical support related to USRP, UHD, RFNoC
View all threadsHi,
I'm a user of the B210 and I'm testing loopback Tx/Rx with a
single USRP device.
I can receive time aligned samples using both channel 0 and
channel 1 for Rx (no transmission in this case).
I can transmit and receive in loopback mode using only
channel 0 for both Tx and Rx (SISO mode).
I can also transmit and receive using both channels 0 and 1
at the same time (2x2 MIMO mode), but I can't manage to
transmit only with channel 0 and receive at the same time
with channel 0 and channel 1. I attach the console output of
my program when I try to do that. The uhd driver outputs a
warning about the clock rate and sampling rate
inconsistence, and the program aborts when I execute the
call to "uhd_usrp_get_tx_stream()" throwing error 44. If I
manually set the master clock rate to 30.4 MHz (which seems
to be the right clock frequency for 2x2 MIMO with my
sampling rate) the warning disappears but the program
crashes at the same point.
I guess that there is some limitation that I haven't
understood. Can somebody point me in the right direction?
A second question: the example called
"txrx_loopback_to_file.cpp" uses an instance of a multi usrp
object for Tx and another instance for Rx. Since I have a
single USRP device I'm using a single instance of the multi
usrp object for implementing the 2x2 MIMO in loopback mode.
Is this the intended way to work with the API?
Best regards,
Joan Olmos
linux; GNU C++ version 5.3.1 20160509; Boost_105800;
UHD_003.009.004-0-g2b5a88bb
Creating USRP with args "type=b200, num_recv_frames=512,
num_send_frames=512"...
-- Loading firmware image:
/usr/local/share/uhd/images/usrp_b200_fw.hex...
-- Detected Device: B210
-- Loading FPGA image:
/usr/local/share/uhd/images/usrp_b210_fpga.bin... done
-- Operating over USB 2.
-- Detecting internal GPSDO.... Found an internal GPSDO
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 16.000000 MHz...
-- Actually got clock rate 16.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Setting master clock rate selection to 'automatic'.
num. Rx channels reported by usrp: 2
num. Tx channels reported by usrp: 2
Subdevice Specification:
Channel 0: Daughterboard A, Subdevice A
Channel 1: Daughterboard A, Subdevice B
Subdevice Specification:
Channel 0: Daughterboard A, Subdevice A
Channel 1: Daughterboard A, Subdevice B
Clock source reported by usrp: internal
-- 1) catch time transition at pps edge
-- 2) set times next pps (synchronously)
Current Time reported by usrp: 1 + 0.001126 seconds
Setting Rate: 3800000.000000...
-- Asking for clock rate 60.800000 MHz...
-- Actually got clock rate 60.800000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 60.800000 MHz... OK
-- Asking for clock rate 60.800000 MHz... OK
Actual Rate Rx(0): 3799999.985040...
Actual Rate Rx(1): 3799999.985040...
Actual Rate Tx(0): 3799999.985040...
Setting frequency: 99.050000 MHz...
Actual frequency Rx(0): 99.050000 MHz...
Actual frequency Rx(1): 99.050000 MHz...
Actual frequency Tx(0): 99.050000 MHz...
Setting RX Gain: 80.000000 dB...
Antenna reported by usrp for RX channel 0: RX2
Antenna reported by usrp for RX channel 1: RX2
Actual Rx(0) Gain: 76.000000...
Actual Rx(1) Gain: 76.000000...
-- Asking for clock rate 30.400000 MHz...
-- Actually got clock rate 30.400000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 30.400000 MHz... OK
-- Asking for clock rate 30.400000 MHz... OK
Rx buffer size in samples: 380000
Antenna reported by usrp for TX channel 0: TX/RX
Antenna reported by usrp for TX channel 1: TX/RX
Setting TX Gain: 20.000000 dB...
Actual TX Gain: 20.000000...
-- Asking for clock rate 60.800000 MHz...
UHD Warning:
Cannot automatically determine an appropriate tick rate
for these sampling rates.
Consider using different sampling rates, or manually
specify a suitable master clock rate.
Asking for clock rate 30.400000 MHz... OK
Cleaning up TX metadata.
Cleaning up TX streamer.
Cleaning up USRP.
USRP reported the following error: None
configusrp: Failure
usrp_fm_tx_rx: Failure
Freeing Rx buffers.
Cleaning up RX streamer.
Cleaning up RX metadata.
~configusrp: Failure
Dear Joan,
due to architectural restrictions of the central AD9361 IC, you can only
use 1TX+0RX, 0TX+1RX,1TX+1RX and 2TX+2RX modes.
Your usage with a single multi_usrp is certainly correct.
Best regards,
Marcus
On 07/13/2016 04:05 PM, Joan Olmos via USRP-users wrote:
Hi,
I'm a user of the B210 and I'm testing loopback Tx/Rx with a single
USRP device.
I can receive time aligned samples using both channel 0 and channel 1
for Rx (no transmission in this case).
I can transmit and receive in loopback mode using only channel 0 for
both Tx and Rx (SISO mode).
I can also transmit and receive using both channels 0 and 1 at the
same time (2x2 MIMO mode), but I can't manage to transmit only with
channel 0 and receive at the same time with channel 0 and channel 1. I
attach the console output of my program when I try to do that. The uhd
driver outputs a warning about the clock rate and sampling rate
inconsistence, and the program aborts when I execute the call to
"uhd_usrp_get_tx_stream()" throwing error 44. If I manually set the
master clock rate to 30.4 MHz (which seems to be the right clock
frequency for 2x2 MIMO with my sampling rate) the warning disappears
but the program crashes at the same point.
I guess that there is some limitation that I haven't understood. Can
somebody point me in the right direction?
A second question: the example called "txrx_loopback_to_file.cpp" uses
an instance of a multi usrp object for Tx and another instance for Rx.
Since I have a single USRP device I'm using a single instance of the
multi usrp object for implementing the 2x2 MIMO in loopback mode. Is
this the intended way to work with the API?
Best regards,
Joan Olmos
linux; GNU C++ version 5.3.1 20160509; Boost_105800;
UHD_003.009.004-0-g2b5a88bb
Creating USRP with args "type=b200, num_recv_frames=512,
num_send_frames=512"...
-- Loading firmware image:
/usr/local/share/uhd/images/usrp_b200_fw.hex...
-- Detected Device: B210
-- Loading FPGA image:
/usr/local/share/uhd/images/usrp_b210_fpga.bin... done
-- Operating over USB 2.
-- Detecting internal GPSDO.... Found an internal GPSDO
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 16.000000 MHz...
-- Actually got clock rate 16.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Setting master clock rate selection to 'automatic'.
num. Rx channels reported by usrp: 2
num. Tx channels reported by usrp: 2
Subdevice Specification:
Channel 0: Daughterboard A, Subdevice A
Channel 1: Daughterboard A, Subdevice B
Subdevice Specification:
Channel 0: Daughterboard A, Subdevice A
Channel 1: Daughterboard A, Subdevice B
Clock source reported by usrp: internal
-- 1) catch time transition at pps edge
-- 2) set times next pps (synchronously)
Current Time reported by usrp: 1 + 0.001126 seconds
Setting Rate: 3800000.000000...
-- Asking for clock rate 60.800000 MHz...
-- Actually got clock rate 60.800000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 60.800000 MHz... OK
-- Asking for clock rate 60.800000 MHz... OK
Actual Rate Rx(0): 3799999.985040...
Actual Rate Rx(1): 3799999.985040...
Actual Rate Tx(0): 3799999.985040...
Setting frequency: 99.050000 MHz...
Actual frequency Rx(0): 99.050000 MHz...
Actual frequency Rx(1): 99.050000 MHz...
Actual frequency Tx(0): 99.050000 MHz...
Setting RX Gain: 80.000000 dB...
Antenna reported by usrp for RX channel 0: RX2
Antenna reported by usrp for RX channel 1: RX2
Actual Rx(0) Gain: 76.000000...
Actual Rx(1) Gain: 76.000000...
-- Asking for clock rate 30.400000 MHz...
-- Actually got clock rate 30.400000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 30.400000 MHz... OK
-- Asking for clock rate 30.400000 MHz... OK
Rx buffer size in samples: 380000
Antenna reported by usrp for TX channel 0: TX/RX
Antenna reported by usrp for TX channel 1: TX/RX
Setting TX Gain: 20.000000 dB...
Actual TX Gain: 20.000000...
-- Asking for clock rate 60.800000 MHz...
UHD Warning:
Cannot automatically determine an appropriate tick rate for these
sampling rates.
Consider using different sampling rates, or manually specify a
suitable master clock rate.
Asking for clock rate 30.400000 MHz... OK
Cleaning up TX metadata.
Cleaning up TX streamer.
Cleaning up USRP.
USRP reported the following error: None
configusrp: Failure
usrp_fm_tx_rx: Failure
Freeing Rx buffers.
Cleaning up RX streamer.
Cleaning up RX metadata.
~configusrp: Failure
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
Thanks a lot Marcus. This clarifies my doubts.
Joan
On Thu, 14 Jul 2016, Marcus Müller via USRP-users wrote:
Dear Joan,
due to architectural restrictions of the central AD9361 IC, you can only
use 1TX+0RX, 0TX+1RX,1TX+1RX and 2TX+2RX modes.
Your usage with a single multi_usrp is certainly correct.
Best regards,
Marcus
On 07/13/2016 04:05 PM, Joan Olmos via USRP-users wrote:
Hi,
I'm a user of the B210 and I'm testing loopback Tx/Rx with a single
USRP device.
I can receive time aligned samples using both channel 0 and channel 1
for Rx (no transmission in this case).
I can transmit and receive in loopback mode using only channel 0 for
both Tx and Rx (SISO mode).
I can also transmit and receive using both channels 0 and 1 at the
same time (2x2 MIMO mode), but I can't manage to transmit only with
channel 0 and receive at the same time with channel 0 and channel 1. I
attach the console output of my program when I try to do that. The uhd
driver outputs a warning about the clock rate and sampling rate
inconsistence, and the program aborts when I execute the call to
"uhd_usrp_get_tx_stream()" throwing error 44. If I manually set the
master clock rate to 30.4 MHz (which seems to be the right clock
frequency for 2x2 MIMO with my sampling rate) the warning disappears
but the program crashes at the same point.
I guess that there is some limitation that I haven't understood. Can
somebody point me in the right direction?
A second question: the example called "txrx_loopback_to_file.cpp" uses
an instance of a multi usrp object for Tx and another instance for Rx.
Since I have a single USRP device I'm using a single instance of the
multi usrp object for implementing the 2x2 MIMO in loopback mode. Is
this the intended way to work with the API?
Best regards,
Joan Olmos
linux; GNU C++ version 5.3.1 20160509; Boost_105800;
UHD_003.009.004-0-g2b5a88bb
Creating USRP with args "type=b200, num_recv_frames=512,
num_send_frames=512"...
-- Loading firmware image:
/usr/local/share/uhd/images/usrp_b200_fw.hex...
-- Detected Device: B210
-- Loading FPGA image:
/usr/local/share/uhd/images/usrp_b210_fpga.bin... done
-- Operating over USB 2.
-- Detecting internal GPSDO.... Found an internal GPSDO
-- Initialize CODEC control...
-- Initialize Radio control...
-- Performing register loopback test... pass
-- Performing register loopback test... pass
-- Performing CODEC loopback test... pass
-- Performing CODEC loopback test... pass
-- Asking for clock rate 16.000000 MHz...
-- Actually got clock rate 16.000000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Setting master clock rate selection to 'automatic'.
num. Rx channels reported by usrp: 2
num. Tx channels reported by usrp: 2
Subdevice Specification:
Channel 0: Daughterboard A, Subdevice A
Channel 1: Daughterboard A, Subdevice B
Subdevice Specification:
Channel 0: Daughterboard A, Subdevice A
Channel 1: Daughterboard A, Subdevice B
Clock source reported by usrp: internal
-- 1) catch time transition at pps edge
-- 2) set times next pps (synchronously)
Current Time reported by usrp: 1 + 0.001126 seconds
Setting Rate: 3800000.000000...
-- Asking for clock rate 60.800000 MHz...
-- Actually got clock rate 60.800000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 60.800000 MHz... OK
-- Asking for clock rate 60.800000 MHz... OK
Actual Rate Rx(0): 3799999.985040...
Actual Rate Rx(1): 3799999.985040...
Actual Rate Tx(0): 3799999.985040...
Setting frequency: 99.050000 MHz...
Actual frequency Rx(0): 99.050000 MHz...
Actual frequency Rx(1): 99.050000 MHz...
Actual frequency Tx(0): 99.050000 MHz...
Setting RX Gain: 80.000000 dB...
Antenna reported by usrp for RX channel 0: RX2
Antenna reported by usrp for RX channel 1: RX2
Actual Rx(0) Gain: 76.000000...
Actual Rx(1) Gain: 76.000000...
-- Asking for clock rate 30.400000 MHz...
-- Actually got clock rate 30.400000 MHz.
-- Performing timer loopback test... pass
-- Performing timer loopback test... pass
-- Asking for clock rate 30.400000 MHz... OK
-- Asking for clock rate 30.400000 MHz... OK
Rx buffer size in samples: 380000
Antenna reported by usrp for TX channel 0: TX/RX
Antenna reported by usrp for TX channel 1: TX/RX
Setting TX Gain: 20.000000 dB...
Actual TX Gain: 20.000000...
-- Asking for clock rate 60.800000 MHz...
UHD Warning:
Cannot automatically determine an appropriate tick rate for these
sampling rates.
Consider using different sampling rates, or manually specify a
suitable master clock rate.
Asking for clock rate 30.400000 MHz... OK
Cleaning up TX metadata.
Cleaning up TX streamer.
Cleaning up USRP.
USRP reported the following error: None
configusrp: Failure
usrp_fm_tx_rx: Failure
Freeing Rx buffers.
Cleaning up RX streamer.
Cleaning up RX metadata.
~configusrp: Failure
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
USRP-users mailing list
USRP-users@lists.ettus.com
http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com