I am using one USRP B210 board with two transmission antennas as my transmitter and another USRP B210 with single antenna as my receiver. My goal is to transmit a file such that I am using both the antennas simultaneously. The file consists of complex number values, one value on each line.

What I have in my mind is load even line values on the buffer of antenna ‘A’ and odd line vales on the buffer of antenna ‘B’ and transmit them.

But I am unable to find the command to do so. Can someone tell me what command should be used in order to do so.

Also, if the carrier frequency of both the transmission antennas are set to be same and they transmit at the same time, will the receiver receive the data correctly or it will be mangled because of the same transmitting frequency?

  • 1
    \$\begingroup\$ With a single receive antenna, the transmit signals cannot be separated. With two or more receive antennae, there's a technique called spatial multiplexing, that, depending on suitable propagation conditions, could resolve up to two channels of transmit data. \$\endgroup\$ – Neil_UK Jul 2 '19 at 18:04
  • \$\begingroup\$ When I searched on "USRP B210" I found a two-page data sheet that told me how absolutely wonderful the board is, but didn't actually go into any detail on how it worked. What makes you believe that you can transmit separate signals on the two antennas? How do you propose to keep the signals separate at the receiver? \$\endgroup\$ – TimWescott Jul 2 '19 at 18:33
  • \$\begingroup\$ @TimWescott i was thinking about making the carrier frequencies of both the antennas different. Since i was not able to find out much about what command to use for this, and like you said, there is not a whole lot of documentation about the working of the board. But i think using different carrier frequencies on both the transmission antennas will keep it separate at the receiver. \$\endgroup\$ – Y. Zhong Jul 2 '19 at 18:46
  • \$\begingroup\$ this is not how you MUX or send two sources of data or even try to do Quadrature Modulation \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Jul 2 '19 at 20:00
  • \$\begingroup\$ You can't just take numbers and send them over the air - it's more complicated than that. \$\endgroup\$ – user253751 Jul 2 '19 at 23:33

I'm a bit worried that you're in deep here. How exactly did this problem come about? Is this a class assignment? Is it possible you have misunderstood what you are supposed to do?

It could be that you have been assigned to send some complex numbers from one URSP to another, but I strongly suspect that this "file of complex numbers" is in fact a complex baseband waveform (which is represented by a series of complex numbers) that you have been asked to feed into the USRP in order to modulate to an RF carrier, and then examine on the other side of the link using another USRP. If the previous sentence sounds like a foreign language to you, you should talk to the TA or professor supervising your course as you likely need to come up to speed on some basic concepts.

If your actual goal is to "play back" a complex baseband waveform, the easiest way will likely be to use GNURadio. You will need to somehow interpret the numbers in the file as complex samples that GNURadio can understand - there are many ways to achieve this. Probably the easiest would be to write a Python script to convert the file into the simple binary format that GNURadio understands. Once you have them into GNURadio, you'll need to do sample rate conversion (as applicable) and then pipe the stream into a UHD sink. The UHD driver will deal with the rest.

If instead your goal is to faithfully transmit a list of complex numbers from one lab station to another using USRPs, you are basically discussing creating a full modem system. This is much more complex task, and is beyond the scope of what one can answer in a simple StackExchange post. See here for a basic demodulator tutorial from the GNURadio wiki. It's a non-trivial problem. I would recommend picking up a good textbook on digital communications theory, and talking to your course supervisor.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.