== Using 2 transmit or 2 receive antennas simultaneously== === Description === This example shows how to run two concurrent streams (RX and TX) on a single USRP device using UHD example on Orbit Wireless Testbed. The example assumes usage of any USRP with 2 TX/RX and 2 RX2 antennas such as X310 and B210. Information on SDR availability on particular nodes can be found on [https://www.orbit-lab.org/cPanel/controlPanel/start Orbit] by clicking on ''Status Page'', then on ''grid'', and then filtering the displayed nodes by SDR devices equipped. === Set Up === 1. Make a reservation on [https://www.orbit-lab.org/cPanel/controlPanel/start Orbit] to use the Grid. 2. Make sure the node of interest is turned off: {{{username@console.grid:~$ omf tell -a offh -t node18-2}}} 3. Load the ''multiantennatutorial.ndz'' image onto the node. Note that this process might take several minutes. {{{username@console.grid:~$ omf load -i multiantennatutorial.ndz -t node18-2}}} 4. Turn on the node. After issuing the "on" command, wait a couple of minutes for the node to boot up. {{{username@console.grid:~$ omf tell -a on -t node18-2}}} 5. Connect to the node using SSH: {{{username@console.grid:~$ ssh -Y root@node18-2}}} Repeat this for 3 nodes, 1 USRP to behave as a multi-antenna transmitter and 2 USRPs to behave as multi-antenna receivers. To make sure that the node can communicate with the USRP use the command uhd_find_devices and probe it for specs by uhd_usrp_probe similar to the example [http://www.orbit-lab.org/wiki/Tutorials/k0SDR/Tutorial00 here]. Use the appropriate input for the –-args argument. === Running the Experiment === Go to the UHD examples folder to list the various available applications and check for rx_multi_samples_file and tx_multi_channel_file_pps_sync APIs. {{{ root@node18-2:~$ cd ./uhd/host/build/examples ls -ltr}}} Download the script attached at the bottom of the tutorial onto your console. Open the script and edit the file to correspond to the nodes you are working with. To start the transmitter to constantly transmit packets: {{{root@node18-2:~$ ./tx_multi_samples_file_pps_sync --args="type=b200" --file1 send_nogap_1.dat --file2 send_nogap_2.dat --spb 10000 --rate 2e6 --freq1 5.4e9 --freq2 5.4e9 --gain1 80 --gain2 80 --subdev="A:A A:B" --repeat --ref external}}} Start the two receivers using the script {{{username@console.grid:~$ omf exec multiantennareceiver.rb }}} There will be 2 new files on each of the receivers and can be found in the ''/uhd/host/build/examples'' folder as ''usrp_samples_1.dat'' and ''usrp_samples_2.dat''. Observe the received signals using Octave at the receivers similar to the example [http://www.orbit-lab.org/wiki/Tutorials/k0SDR/Tutorial00 here].