[USRP-users] Problem using RX1 and RX2 of TVRX2 at different time

fquitin fquitin at ulb.ac.be
Mon Sep 23 21:08:20 EDT 2013

Hi Mike,

two little questions regarding your response to Cheng Chi:
1) when we're using WBX daughterboard, we also define two USRP objects 
(one for Tx and one for Rx). Is it only with the TVRX2 that we can 
specify but one USRP object per device?
2) How long would it take between the moment where we stop the 
streaming from RX1, and finish resetting the subdevice? We need to start 
streaming on the second subdevice about 20-25 milliseconds after 
receiving the first stream. Does that gives us enough time to reset the 
subdevice before we start streaming on RX2 (Note that we're working with 
the UHD C++ code (uhd/host/examples). )


Francois Quitin, Ph.D.

Research Fellow
INFINITUS - Infocomm Centre of Excellence
School of EEE, Nanyang Technological University
50 Nanyang Ave, S2-B4b-05
Singapore 639798
Phone: +65-8502-3690
Email: fquitin at ntu.edu.sg

On 23.09.2013 12:56, Mike Jameson wrote:
> Hi Cheng,
> Please note that each channel of the TVRX2 can receive at a maximum
> bandwidth of 10MHz so sampling with a sampling rate of more than
> 12.5e6 (100e6/8) per antenna will not increase the receive bandwidth
> as expected:
> http://files.ettus.com/uhd_docs/manual/html/dboards.html#tvrx2 [2]
> You can only use one USRP object per device and therefore for the
> TVRX2, switching between an RX1 only and RX2 only stream requires
> stopping the flowgraph in the following sequence:
> tb.stop()
> tb.wait()
> set_subdev_spec("A:RX2", 0)
> tb.start()
> Regards,
> Mike
> --
> Mike Jameson M0MIK BSc MIET
>  Ettus Research Technical Support
> Email: support at ettus.com
> Web: http://www.ettus.com [3] [3]
> On Mon, Sep 23, 2013 at 11:03 AM, Cheng Chi <ch0004hi at e.ntu.edu.sg> 
> wrote:
>> Hi all,
>> Anyone knows how to record data from both RX1 and RX2 of TVRX2 but 
>> not at the same time? We are using USRP N210.
>> Here is our problem scenario in detail:
>> We specify subdevice using set_rx_subdev_spec("A:RX1 A:RX2") and 
>> adapt the code from examples/rx_multi_samples.cpp. It works well at 
>> sampling rate of 10Msps. But when we increase the sampling rate to 
>> 25Msps, we have an overflow indication. We guess it's because we let 
>> the two channels stream at the same time, which is too much for the 
>> USRP or the write medium. 
>> However, all we need is sampling at one channel at a time, so we try 
>> to sample and record data at RX1 for some time period T and put RX1 
>> into idle mode, and then sample and record data at RX2. But we don't 
>> know how to set the subdevice correctly.
>> We create two usrp objects and do the channel mapping in the 
>> following way, but it seems that we are only sampling data from RX2.
>> {{{
>> rx1_usrp -> set_rx_subdev_spec("A:RX1")
>> rx2_usrp -> set_rx_subdev_spec("A:RX2")
>> }}}
>> I really appreciate any help you can provide.
>> Best regards,
>> Cheng Chi
>> _______________________________________________
>> USRP-users mailing list
>> USRP-users at lists.ettus.com
>> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com 
>> [1]
> Links:
> ------
> [1] http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com
> [2] http://files.ettus.com/uhd_docs/manual/html/dboards.html#tvrx2
> [3] http://www.ettus.com
> _______________________________________________
> USRP-users mailing list
> USRP-users at lists.ettus.com
> http://lists.ettus.com/mailman/listinfo/usrp-users_lists.ettus.com

More information about the USRP-users mailing list