[USRP-users] Problem using RX1 and RX2 of TVRX2 at different time
marcus at hostalia.de
Tue Sep 24 04:41:42 EDT 2013
let me just answer in-text:
On 09/24/2013 03:08 AM, fquitin wrote:
> 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?
You should have one multi_usrp per device, not two. You send/recv using the tx/rx_streamer you get from that device by calling get_tx/rx_stream; see the UHD doxygen for that.
> 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). )
This depends. Usually, you issue a stream_cmd to let the device start streaming, and you can specify a stream mode with only a finite number of samples (which could actually fit your application quite well) as well as a time stamp for start of streaming. Then you could issue a second stream_cmd with another, calculated timestamp.
Regarding to 20ms: Should work. However, disable the rx_dc_offset correction (multi_usrp.set_rx_dc_offset(false)), since otherwise you'll see the impulse response of the dc offset correction highpass IIR whenever you reset your device; I think this will happen if you change the rx subdev. That was detectable for 60ms for me, which was a nightmare until Marcus Leech helped me figure that out ;) (thanks Marcus!).
More information about the USRP-users