usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

Problem High Speed Streaming USB

PM
Paola Madonna
Tue, May 17, 2011 1:41 PM

Hello,

I am working with USRP1 and a DBSRX2 dautherboard.

My aim is to acquire gps signal samples at a rate of 16MSps via USB 2.0
since the USB is the only available port in such a device.

The problem is that the max rate of usb2.0 is 480Mbps and a single sample is
represented with a complex short (32 bits: 16 bits for the real part and 16
bits for the imaginary part).

Given that, if I times 32 bits x 16MSps we find that the throughput is 512
Mbps which is > than 480 Mbps (USB 2.0 max rate). So, it is clear that it
cannot work,

In fact when I launch the example binary benchmark_rx_rate at a rate of
16MSps I have all overbuffers ("O" printed on video).

I read in a mail in the forum that there is an option in USRP1 hardware to
use 16 bits (8 bits for the real part and 8 bits for the imaginary part) per
sample but at the date of 11 February 2011 this feature was not supported in
uhd software.

My question is: Is this feature supported in the new uhd software? Otherwise
could it be  possible to implement and, above all, when it will be?

I am developing an application using USRP1 for a project and I have very
strict times.

Thanks in advance,


Paola Madonna

Senior SW Engineer

Space&Navigation Unit

TRS S.p.A.

Via Giulio Cesare 105

c/o Selex-SI, Stab. Fusaro

80070 Bacoli (NA)

Italy

Ph.:+39 (0)81 52 72 837

Fax: +39 (0)81 52 72 828

Hello, I am working with USRP1 and a DBSRX2 dautherboard. My aim is to acquire gps signal samples at a rate of 16MSps via USB 2.0 since the USB is the only available port in such a device. The problem is that the max rate of usb2.0 is 480Mbps and a single sample is represented with a complex short (32 bits: 16 bits for the real part and 16 bits for the imaginary part). Given that, if I times 32 bits x 16MSps we find that the throughput is 512 Mbps which is > than 480 Mbps (USB 2.0 max rate). So, it is clear that it cannot work, In fact when I launch the example binary benchmark_rx_rate at a rate of 16MSps I have all overbuffers ("O" printed on video). I read in a mail in the forum that there is an option in USRP1 hardware to use 16 bits (8 bits for the real part and 8 bits for the imaginary part) per sample but at the date of 11 February 2011 this feature was not supported in uhd software. My question is: Is this feature supported in the new uhd software? Otherwise could it be possible to implement and, above all, when it will be? I am developing an application using USRP1 for a project and I have very strict times. Thanks in advance, __________________ Paola Madonna Senior SW Engineer Space&Navigation Unit TRS S.p.A. Via Giulio Cesare 105 c/o Selex-SI, Stab. Fusaro 80070 Bacoli (NA) Italy Ph.:+39 (0)81 52 72 837 Fax: +39 (0)81 52 72 828
JB
Josh Blum
Tue, May 17, 2011 4:14 PM

In fact when I launch the example binary benchmark_rx_rate at a rate of
16MSps I have all overbuffers ("O" printed on video).

16MSps is not a sustainable rate over the wire, but is technically
supported by the hardware. It would be more correct if the uhd did not
allow 16Msps to be set.

I read in a mail in the forum that there is an option in USRP1 hardware to
use 16 bits (8 bits for the real part and 8 bits for the imaginary part) per
sample but at the date of 11 February 2011 this feature was not supported in
uhd software.

Correct. There is an option in the USRP1 FPGA but not current supported
in UHD.

My question is: Is this feature supported in the new uhd software? Otherwise
could it be  possible to implement and, above all, when it will be?

Eventually, we will implement 16bit samples for all of the hardware
platforms. And the support of USRP1 16bit samples will follow.

I wont go into detail but UHD was always intended to support this
feature. So the changes are not too bad. I will be working on this
feature soon along w/ my other changes related to packet handling and
the fast path.

I am developing an application using USRP1 for a project and I have very
strict times.

You can use the old gnuradio-usrp driver right now to achieve this 16bit
sample support.

Pardon my asking. But last time you asked about getting more bandwidth
out of your USRP, it seemed that you just needed to use two channels for
low bandwidth signals that were separated many MHz in frequency. Did
that advice not apply?

-Josh

> In fact when I launch the example binary benchmark_rx_rate at a rate of > 16MSps I have all overbuffers ("O" printed on video). > 16MSps is not a sustainable rate over the wire, but is technically supported by the hardware. It would be more correct if the uhd did not allow 16Msps to be set. > I read in a mail in the forum that there is an option in USRP1 hardware to > use 16 bits (8 bits for the real part and 8 bits for the imaginary part) per > sample but at the date of 11 February 2011 this feature was not supported in > uhd software. > Correct. There is an option in the USRP1 FPGA but not current supported in UHD. > My question is: Is this feature supported in the new uhd software? Otherwise > could it be possible to implement and, above all, when it will be? > Eventually, we will implement 16bit samples for all of the hardware platforms. And the support of USRP1 16bit samples will follow. I wont go into detail but UHD was always intended to support this feature. So the changes are not too bad. I will be working on this feature soon along w/ my other changes related to packet handling and the fast path. > I am developing an application using USRP1 for a project and I have very > strict times. > You can use the old gnuradio-usrp driver right now to achieve this 16bit sample support. Pardon my asking. But last time you asked about getting more bandwidth out of your USRP, it seemed that you just needed to use two channels for low bandwidth signals that were separated many MHz in frequency. Did that advice not apply? -Josh