Verifying the Operation of the USRP Using UHD and GNU Radio

From Ettus Knowledge Base
Revision as of 16:25, 16 May 2016 by Ettus (Talk | contribs) (Revision History)

Jump to: navigation, search

Application Note Number

AN-936

Revision History

Date Author Details
2016-05-01 Neel Pandeya Initial creation

Abstract

This AN explains how to use UHD and GNU Radio, once installed, to verify the correct operation of the USRP. Several test procedures are explained in detail. Several tests make use of an optional spectrum analyzer and signal generator.

Overview

This application note will cover testing your USRP to verify it is operational. You will need to have a working installation of UHD to preform the following steps to verify your USRP. If you do not have UHD installed, please reference the Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux and OS X Application Notes.

Alternatively, you may use the Live SDR Environment to perform the following steps. More information about the Live SDR Environment is available at the Live SDR Environment Getting Started Guides page.

Proper Care and Handling

All Ettus Research products are individually tested before shipment. The USRP™ is guaranteed to be functional at the time it is received by the customer. Improper use or handling of the USRP™ can easily cause the device to become non-functional. Listed below are some examples of actions which can prevent damage to the unit:

  • Never allow metal objects to touch the circuit board while powered.
  • Always properly terminate the transmit port with an antenna or 50Ω load.
  • Always handle the board with proper anti-static methods.
  • Never allow the board to directly or indirectly come into contact with any voltage spikes.
  • Never allow any water, or condensing moisture, to come into contact with the boards.
  • Always use caution with FPGA, firmware, or software modifications.
Caution.png
Never apply more than -15 dBm of power into any RF input
Caution.png
Always use at least 30dB attenuation if operating in loopback configuration

Finding the Device

  • Report detailed information on UHD-supported Software Radio Peripherals attached by USB, network, or embedded configuration. Details include unit names, revision numbers, and available sensors on all attached USRP motherboards and daughterboards.
   uhd_usrp_probe
  • Find UHD-supporting Software Radio Peripherals attached by USB, network or embedded configuration. Uses broadcast packets for discovery. Often blocked by routers, switches, firewalls.
   uhd_find_devices
  • View firewall settings with:
   sudo iptables -L

UHD Programs

Located at

   $prefix/lib/uhd/utils

Default location:

   /usr/local/lib/uhd/utils

Benchmarking your system

  • Benchmarks interface with device.
   ./benchmark_rate --rx_rate 10e6 --tx_rate 10e6

Receiving Samples

  • Saves samples to file
   ./rx_samples_to_file --freq 98e6 --rate 5e6 --gain 20 usrp_samples.dat

Transmitting Samples

  • Transmits samples from file
   ./tx_samples_from_file --freq 915e6 --rate 5e6 --gain 10 usrp_samples.dat

Terminal DFT/FFT

  • Creates ASCII/Ncurses FFT
   ./rx_ascii_art_dft --freq 98e6 --rate 5e6 --gain 20 --bw 5e6 --ref-lvl -50

Transmit test signal

  • Transmits specific waveform
   ./tx_waveforms --freq 915e6 --rate 5e6 --gain 0 

Additional UHD Utilities

  • Downloads FPGA images for current UHD version
   uhd_images_downloader
  • Flashes an image onto the X300/X310 FPGA
   usrp_x3xx_fpga_burner
  • Reading and writing motherboard EEPROM
   usrp_burn_mb_eeprom
  • Reading and writing daughterboard EEPROM
   usrp_burn_db_eeprom