USRP Software Radio

cancel
Showing results for 
Search instead for 
Did you mean: 

MIMO Attempt on Single USRP-2901

I am using LabVIEW Communications Suite to work on a project using a USRP-2901.  My goal is to use CH-0 to transmit a signal and use both receive antennas from CH-0 and CH-1 to receive a reflected signal(for a Doppler radar project).  I am having trouble getting this setup to work.  Attached is a VI along with a screen capture of the resulting error message.  The error that I am getting is Error "-1074118651 . . . This method is not supported by this particular session type (Tx vs. Rx) or is not supported by this device model."

I am a bit unfamiliar of the single device MIMO methods of the USRP. So if there is an error on my part I would appreciate any feedback.  Any references or links that may be of use would also be greatly appreciated. 

Download All
0 Kudos
Message 1 of 5
(4,696 Views)

This seems like someone at NI is already working on this.  We will post any solutions/workarounds once we get somewhere.  If anyone else have any other ideas please feel free to post your thoughts.

 

Thanks,

Jonathan R.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 5
(4,665 Views)

I found in your code that on the TX side, you call Abort.  Initiate and Abort are only for the RX side in USRP API, so you will get an error.  On TX, you use Write Tx Data to send samples to the USRP for a transmission.  See the niUSRP EX Tx Finite Sync example if you need a reference for how to do this in your application.

 

Tx Abort Error.png

0 Kudos
Message 3 of 5
(4,653 Views)

Hello, TheMarker.  Thank you for your advice as it had resolved the error message that was popping up.  Attached is my revised VI.  I am now able to perform a Tx process on CH0 and an Rx process simultaneouslyon either CH0 or CH1.  Unfortunately, when I add another Rx process so that I can receive on both channels I obtain the following error:

Error -1074118627 occurred at niUSRP Write Tx Data (CDB).gvi
Possible reason(s):
A runtime or configuration error occurred.
Code: 2638
Details: ValueError: current master clock rate (32.000000 MHz) exceeds maximum possible master clock rate (30.720000 MHz) when using 2 RX channels

 

Is this master clock rate something that I can configure within LabVIEW, or is it hardwired in?

0 Kudos
Message 4 of 5
(4,624 Views)

Hi,

 

You can use the VI below to set the "data clock rate" property using the niUsrp set attribute. Set it on both the Rx and Tx session in your code.

Use a value like 16MHz on both the sessions. But it should be the same on both sessions.

Also note that the both RX channels share an LO so it is not possible to set a different carrier frequencies on 2 Rx channels. Same applies to Tx.

You can take a look at the NI USRP-2901 block diagram for clarification.

 

OR

 

You can follow the workaround below:

 

The NI USRP-2901 device does not support the use of two Rx channels with one Tx channel, or one Rx channel with two Tx channel configuration. If your application requires an unequal number of channels for Rx and Tx operation, you can enable both channels on both Rx and Tx sessions and follow the appropriate work around below.
If you have an unwanted Tx channel, simply place an RF termination cap on the unwanted Tx channel's antenna and send zero IQ data for that channel when you use the niUSRP Write Tx Data (2D).gvi .
If you have an unwanted Rx channel, simply discard the data coming out of the niUSRP Fetch Rx Data(2D).gvi for that channel.

 

0 Kudos
Message 5 of 5
(4,439 Views)