= Working with USRP - Universal Software Radio Peripheral = == Description == In this tutorial we'll use the 2 USRPs on Sandbox 3 to transmit and receive a single frequency over the air. The UHD (UniversalSoftwareRadioPeripheral Hardware Driver) is used to communicate with the USRPs. This driver is used standalone to configure and enable the USRP for communication. == Hardware / Software Resources utilized == 1. Sandbox 3 - consists of two nodes (node1-1 & node1-2). Each node has a USRP2 connect via Ethernet. 2. ''ubuntu-11-10-gnuradio.ndz'': disk image loaded onto nodes. This image has all the precompiled - software required to configure the USRPs and analyze recorded data. 3. omf-5.2 / omf-5.3: used to image to nodes 4. octave: GNU version of MATLAB == Set up == * To get started first make a reservation on the [https://www.orbit-lab.org/schedule/ Orbit Scheduler] for using Sandbox 3 * After logging into sandbox 3 console, make sure both nodes are turned off {{{ nilanjan@console.sb3:~$ omf-5.2 tell offh all }}} * Verify state of node before continuing. Make sure all nodes are in the POWEROFF state. {{{ nilanjan@console.sb3:~$ omf-5.2 stat }}} * Image both nodes {{{ nilanjan@console.sb3:~$ omf-5.3 load -i ubuntu-11-10-gnuradio.ndz -t node1-1.sb3.orbit-lab.org,node1-2.sb3.orbit-lab.org }}} * After nodes are imaged, verify that nodes are in POWEROFF state. Otherwise issue the following to turn them off for a reboot {{{ nilanjan@console.sb3:~$ nilanjan@console.sb3:~$ omf-5.2 tell offh all }}} * Turn nodes back on and verify they are in POWERON state before proceeding {{{ nilanjan@console.sb3:~$ nilanjan@console.sb3:~$ omf-5.2 tell on all }}} == Usage == * Once nodes are imaged, ssh into each node. Use the USRP2 on node1-1 as the transmitter and USRP2 on node1-2 as receiver.[[BR]] ssh into node1-1 {{{ nilanjan@console.sb3:~$ ssh root@node1-1 root@node1-1:~# cd uhd/host/build/examples/ }}} ssh into node1-2 {{{ nilanjan@console.sb3:~$ ssh root@node1-2 root@node1-1:~# cd uhd/host/build/examples/ }}} * The directory content like the following in both nodes {{{ root@node1-1:~/uhd/host/build/examples# ls benchmark_rate latency_test rx_samples_to_file test_pps_input tx_waveforms CMakeFiles Makefile rx_samples_to_udp tx_bursts cmake_install.cmake network_relay rx_timed_samples tx_samples_from_file CTestTestfile.cmake rx_multi_samples test_messages tx_timed_samples }}}