usrp-users@lists.ettus.com

Discussion and technical support related to USRP, UHD, RFNoC

View all threads

B210, MIMO Problem

MN
Masoud Naderpour
Thu, Aug 3, 2017 10:12 AM

Dear Ettus Technical Support Team,
So far I have been successful getting the UHD C++ APIs to run the USRP B210
both on Linux(Eclipse) and Windows (Microsoft Visual Studio) in their SISO
mode. I have tried further to run the USRP on its both channels.
Unfortunately I have not been successful although trying a lot. In my codes
I try to run the both channel by the following uhd stream.

size_t channel[2] = { 0,1 };;
uhd_stream_args_t stream_args = {
cpu_format = "fc32",
otw_format = "sc16",
args = "",
channellist = channel,
n_channel = 1
};
But when I run the code, only one of the channels captures the signal. When
I run the benchmark_rate example I can run both channel receiving and
sending simultaneously. I have reviewed the source code of the
benchmark_rate  code. I have found that in this code  have been written
somehow differently maybe by C++ APIs not native C API. I tried to mimic
the code. I ran the example code on your website (click here
https://kb.ettus.com/Getting_Started_with_UHD_and_C%2B%2B)  but the
compiler shows a run time exception on the following line of the code:

uhd::usrp::multi_usrp::sptr usrp=uhd::usrp::multi_usrp::make(device_args);

The error is an Access Violation at a specified address of memory.
Furthermore, I tried the srsLTE opensource program, the latest version
in which it supports the transmit diversity scheme(./pdsch_ue -f
1860000000 -A 2, in the Linux terminal). But when I configure the code
to capture on both channels it only captures on one of them. I would
be thankful if you get me out of this trouble.
Thanks,
Masoud

Dear Ettus Technical Support Team, So far I have been successful getting the UHD C++ APIs to run the USRP B210 both on Linux(Eclipse) and Windows (Microsoft Visual Studio) in their SISO mode. I have tried further to run the USRP on its both channels. Unfortunately I have not been successful although trying a lot. In my codes I try to run the both channel by the following uhd stream. size_t channel[2] = { 0,1 };; uhd_stream_args_t stream_args = { cpu_format = "fc32", otw_format = "sc16", args = "", channellist = channel, n_channel = 1 }; But when I run the code, only one of the channels captures the signal. When I run the benchmark_rate example I can run both channel receiving and sending simultaneously. I have reviewed the source code of the benchmark_rate code. I have found that in this code have been written somehow differently maybe by C++ APIs not native C API. I tried to mimic the code. I ran the example code on your website (click here https://kb.ettus.com/Getting_Started_with_UHD_and_C%2B%2B) but the compiler shows a run time exception on the following line of the code: uhd::usrp::multi_usrp::sptr usrp=uhd::usrp::multi_usrp::make(device_args); The error is an Access Violation at a specified address of memory. Furthermore, I tried the srsLTE opensource program, the latest version in which it supports the transmit diversity scheme(./pdsch_ue -f 1860000000 -A 2, in the Linux terminal). But when I configure the code to capture on both channels it only captures on one of them. I would be thankful if you get me out of this trouble. Thanks, Masoud
MD
Marcus D. Leech
Thu, Aug 3, 2017 3:01 PM

On 08/03/2017 06:12 AM, Masoud Naderpour via USRP-users wrote:

Dear Ettus Technical Support Team,
So far I have been successful getting the UHD C++ APIs to run the USRP
B210 both on Linux(Eclipse) and Windows (Microsoft Visual Studio) in
their SISO mode. I have tried further to run the USRP on its both
channels. Unfortunately I have not been successful although trying a
lot. In my codes I try to run the both channel by the following uhd
stream.

size_t channel[2] = { 0,1 };;
uhd_stream_args_t stream_args = {
cpu_format = "fc32",
otw_format = "sc16",
args = "",
channellist = channel,
n_channel = 1
};

You need "n_channel = 2" in the above.

On 08/03/2017 06:12 AM, Masoud Naderpour via USRP-users wrote: > Dear Ettus Technical Support Team, > So far I have been successful getting the UHD C++ APIs to run the USRP > B210 both on Linux(Eclipse) and Windows (Microsoft Visual Studio) in > their SISO mode. I have tried further to run the USRP on its both > channels. Unfortunately I have not been successful although trying a > lot. In my codes I try to run the both channel by the following uhd > stream. > > size_t channel[2] = { 0,1 };; > uhd_stream_args_t stream_args = { > cpu_format = "fc32", > otw_format = "sc16", > args = "", > channellist = channel, > n_channel = 1 > }; > You need "n_channel = 2" in the above.