Universal Software Radio Peripheral (USRP) is a range of software-defined radios designed and sold by Ettus Research and its parent company, National Instruments. Developed by a team led by Matt Ettus, the USRP product family is commonly used by research labs, universities, and hobbyists.
Most USRPs connect to a host computer through a high-speed link, which the host-based software uses to control the USRP hardware and transmit/receive data. Some USRP models also integrate the general functionality of a host computer with an embedded processor that allows the USRP device to operate in a stand-alone fashion.
The USRP family was designed for accessibility, and many of the products are open source hardware. The board schematics for select USRP models are freely available for download; all USRP products are controlled with the open source UHD driver, which is free and open source software. USRPs are commonly used with the GNU Radio software suite to create complex software-defined radio systems.
The USRP product family includes a variety of models that use a similar architecture. A motherboard provides the following subsystems: clock generation and synchronization, FPGA, ADCs, DACs, host processor interface, and power regulation. These are the basic components that are required for baseband processing of signals. A modular front-end, called a daughterboard, is used for analog operations such as up/down-conversion, filtering, and other signal conditioning. This modularity permits the USRP to serve applications that operate between DC and 6 GHz.
In stock configuration the FPGA performs several DSP operations, which ultimately provide translation from real signals in the analog domain to lower-rate, complex, baseband signals in the digital domain. In most use-cases, these complex samples are transferred to/from applications running on a host processor, which perform DSP operations. The code for the FPGA is open-source and can be modified to allow high-speed, low-latency operations to occur in the FPGA.
The USRP hardware driver (UHD) is the device driver provided by Ettus Research for use with the USRP product family. It supports Linux, MacOS, and Windows platforms. Several frameworks including GNU Radio, LabVIEW, MATLAB and Simulink use UHD. The functionality provided by UHD can also be accessed directly with the UHD API, which provides native support for C++. Any other language that can import C++ functions can also use UHD. This is accomplished in Python through SWIG, for example.
UHD provides portability across the USRP product family. Applications developed for a specific USRP model will support other USRP models if proper consideration is given to sample rates and other parameters.
Several software frameworks support UHD:
- GNU Radio is a Free/Libre toolkit that can be used to develop software-defined radios. This framework uses a combination of C++ and Python to optimize DSP performance while providing an easy-to-use application programming environment.GNU Radio Companion is a graphical programming environment provided with GNU Radio.
- National Instruments sells the NI USRP 292x series, which is functionally equivalent to the Ettus Research USRP N210. NI also offers LabVIEW support for this device with the NI-USRP Driver.
- USRP N210 and USRP2 are supported by MATLAB and Simulink. This package includes plug-ins and several examples for use with both the devices.
- OpenLTE is an open source implementation of the 3GPP LTE specifications as a SDR.[circular reference]
The USRP N200 and USRP N210 are high-performance USRP devices that provide higher dynamic range and higher bandwidth than the bus series. Using a Gigabit Ethernet interface, the devices in the Networked Series can transfer up to 50 MS/s of complex, baseband samples to/from the host. This series uses a dual, 14-bit, 100 MS/s ADC and dual 16-bit, 400 MS/s DAC. This series also provides a MIMO expansion port which can be used to synchronize two devices from this series. This is the recommended solution for MIMO systems.
The X300 and X310 are third-generation USRPs that feature two full-duplex daughterboard slots and feature full 200 MS/s DACs and ADCs. As network interface, 10GBase over SFP+ allows full 200 MS/s on both channels in full-duplex operation.
The N300, N310, N320 and N321 are current dual-channel models offering SFP+ connectivity, up to 200 MS/s and optionally sharing of local oscillators and TPM modules for verifiable software deployments.
The Embedded Series combines the same functionality of other USRP devices with an OMAP 3 embedded processor. The E310, released in November 2014, utilizes the Zynq SoC platform and the Analog Devices AD9361 RFIC for a very compact, embedded USRP. The devices in this family do not need to be connected to an external PC for operation. The Embedded Series is designed for applications that require stand-alone operation.
The USRP2 was developed after the USRP and was first made available in September 2008. It has reached end of life and has been replaced by the USRP N200 and USRP N210. The USRP2 was not intended to replace the original USRP, which continued to be sold in parallel to the USRP2. This first generation USRP is also no longer available publicly.
The E100 series of embedded USRPs is no longer available.
The original USRP, USRP2, USRP E1xx, USRP N2xx and X3xx families feature a modular architecture with interchangeable daughterboard modules that serve as the RF front end. Several classes of daughterboard modules exist: Receivers, Transmitters and Transceivers.
- Transmitter daughterboard modules can modulate an output signal to a higher frequency
- Receiver daughterboard modules can acquire an RF signal and convert it to baseband
- Transceiver daughterboard modules combine the functionality of a Transmitter and Receiver.
The USRP B2xx and E3xx do not feature exchangeable daughterboards. The N3xx series has a JESD204B-attached daughterboard featuring the AD9371 frontend, but currently, no alternative daughterboards are commercially available.
- Quinn Norton. "GNU Radio Opens an Unseen World". Wired.com. Retrieved 2014-04-18.
- "UHD Start". Ettus Research LLC. Retrieved 2012-09-05.
- "Index of /downloads". Archived from the original on 2010-09-20.
- GNU Radio + UHD
- NI-USRP Driver
- MATLAB and Simulink
- UHD API
- "/host/examples - Repository - uhd - Ettus Research LLC". Archived from the original on 2012-06-13.