Universal Software Radio Peripheral
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 intended to be a comparatively inexpensive hardware platform for software radio, and is commonly used by research labs, universities, and hobbyists.[1]
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.[2] USRPs are commonly used with the GNU Radio software suite to create complex software-defined radio systems.
Design
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.
Software
The USRP hardware driver (UHD) is the device driver provided by Ettus Research for use with the USRP product family.[3] 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.[4]
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.[5]
- 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.[6]
- USRP N210 and USRP2 are supported by MATLAB and Simulink.[7] This package includes plug-ins and several examples for use with both the devices.
- Many users develop with their own, custom frameworks. In this case, the USRP device can be accessed with the UHD API.[8] There are also examples provided with UHD that show how to use the API.[9]
Products
Networked series
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.
- USRP N200
- A Xilinx Spartan-3A DSP 1800 FPGA
- Gigabit Ethernet interface
- Dual 100 MS/s, 14-bit, analog-to-digital converter
- Dual 400 MS/s, 16-bit, digital-to-analog converter
- Flexible Clocking and Synchronization
- External Inputs for 10 MHz and 1 PPS signals (SMA)
- Optional GPS Disciplined Oscillator
- Ettus Research MIMO Cable that can be used to synchronize two USRP devices (sold separately)
- USRP N210
- A Xilinx Spartan-3A DSP 3400 FPGA
- Gigabit Ethernet interface
- Dual 100 MS/s, 14-bit, analog-to-digital converter
- Dual 400 MS/s, 16-bit, digital-to-analog converter
- Flexible Clocking and Synchronization
- External Inputs for 10 MHz and 1 PPS signals (SMA)
- Optional GPS Disciplined Oscillator
- Ettus Research MIMO Cable that can be used to synchronize two USRP devices (sold separately)
- Support for timed commands and LO alignment with the SBX daughterboard
Bus series
All products in Ettus Research Bus Series use a USB 2.0 or USB 3.0 interface to transfer samples to and from the host computer. These are designed for applications that do not require the higher bandwidth and dynamic range provided by the Network Series(USRP N200 and USRP N210).
- USRP1
- The USRP1 is the original USRP product and consists of:
- Four high-speed analog-to-digital converters, each capable of 64 MS/s at a resolution of 12-bit, 85 dB SFDR (AD9862).
- Four high-speed digital-to-analog converters, each capable of 128 MS/s at a resolution of 14-bit, 83 dB SFDR (AD9862).
- An Altera Cyclone EP1C12Q240C8 FPGA.
- A Cypress EZ-USB FX2 High-speed USB 2.0 controller.
- Four extension sockets (2 TX, 2 RX) in order to connect 2–4 daughterboards.
- 64 GPIO pins available through four BasicTX/BasicRX daughterboard modules (16 pins each).
- Glue logic.
- USRP B100
- The B100, introduced in October 2011, replaces the USRP as the basic Software Defined Radio offering from Ettus Research. The features of the B100 are:
- USB 2.0 interface
- Xilinx Spartan 3A-1400 FPGA
- Compatibility with the entire daughterboard family
- Fully supported by UHD drivers
- Dual 64 MS/s 12-bit ADCs
- Dual 128 MS/s 14-bit DACs
- Onboard TCXO for precise frequency control
- 10 MHz and 1 PPS inputs for external references
- Flexible clocking from 10 MHz to 64 MHz
- 8 MHz of RF bandwidth with 16 bit samples
- 16 MHz of RF bandwidth with 8 bit samples
- USRP B200
- USB 3.0 interface
- Xilinx Spartan 6 XC6SLX75 FPGA
- A Cypress EZ-USB FX3 High-speed USB 3.0 controller
- Analog Devices AD9361 RFIC
- Coverage from 70 MHz–6 GHz RF
- Flexible rate 12 bit ADC/DAC
- 1 TX, 1 RX, Half or Full Duplex
- Up to 56 MHz of real-time bandwidth
- USRP B210
- USB 3.0 interface
- Xilinx Spartan 6 C6SLX150 FPGA
- A Cypress EZ-USB FX3 High-speed USB 3.0 controller
- Analog Devices AD9361 RFIC
- Coverage from 70 MHz–6 GHz RF
- Flexible rate 12 bit ADC/DAC
- 2 TX, 2 RX, Half or Full Duplex
- Fully coherent 2x2MIMO capability
- Up to 56 MHz of real-time bandwidth 1x1
- Up to 32 MHz of real-time bandwidth 2x2
Embedded series
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.
- USRP E100
- Designed for embedded applications. Runs a full distribution of Linux.
- 720 MHz OMAP3 (ARM Cortex-A8 processor & TI C64x+ DSP)
- 512 MB RAM
- 4 GB microSD Card
- 100 Mbit/s Ethernet connectivity
- Motherboard has one RTX daughterboard slot (1 RX + 1 TX connectors)
- Onboard FPGA processing
- FPGA: Xilinx Spartan XC3SD1800A
- ADCs: 12-bits 64 MS/s
- DACs: 14-bits 128 MS/s
- TCXO Frequency Reference (~2.5 ppm)
- Flexible clocking from 10 MHz to 64 MHz
- USRP E110
- Designed for embedded applications. Runs a full distribution of Linux.
- 720 MHz OMAP3 (ARM Cortex-A8 processor & TI C64x+ DSP)
- 512 MB RAM
- 4 GB microSD Card
- 100 Mbit/s Ethernet connectivity
- Motherboard has one RTX daughterboard slot (1 RX + 1 TX connectors)
- Onboard FPGA processing
- FPGA: Xilinx Spartan XC3SD3400A
- ADCs: 12-bits 64 MS/s
- DACs: 14-bits 128 MS/s
- TCXO Frequency Reference (~2.5 ppm)
- Flexible clocking from 10 MHz to 64 MHz
- USRP E310
- Designed for embedded applications. Runs a full distribution of Linux.
- Xilinx Zynq-7020 Platform with embedded ARM A9 processor (667 MHz) and FPGA (Xilinx 7 Series)
- 1 GB DDR3 RAM (ARM Core)
- 512 MB DDR3 RAM (FPGA)
- Analog Devices AD9361 RFIC
- Coverage from 70 MHz–6 GHz RF
- Flexible rate 12 bit ADC/DAC
- 2 TX, 2 RX, Half or Full Duplex
- Fully coherent 2x2MIMO capability
- Up to 56 MHz of real-time bandwidth 1x1
- Up to 32 MHz of real-time bandwidth 2x2
Discontinued models
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.
The USRP2 contains:[10]
- A Xilinx Spartan 3-2000 FPGA
- Gigabit Ethernet interface
- Two 100 MS/s, 14-bit, analog-to-digital converters. LTC2284, 72.4 dB SNR and 85 dB SFDR for signals at the Nyquist frequency.
- Two 400 MS/s, 16-bit, digital-to-analog converters. AD9777. 160 MSPS w/o interpolation, up to 400 MSPS with 8x interpolation.
- SD card reader
Daughterboard modules
The USRP family features 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.
Receivers only support RX (receiving) and occupy only one RX port:
- BasicRX, 1–250 MHz Receiver, for use with external RF hardware.
- LFRX, DC to 30 MHz Receiver
- TVRX, 50 MHz to 870 MHz Receiver
- DBSRX, 800 MHz to 2.4 GHz Receiver
- BURX,[11] 300 MHz to 4 GHz Receiver
Transmitters only support TX and occupy one TX port:
- BasicTX, 1–250 MHz Transmitter, for use with external RF hardware.
- LFTX, DC to 30 MHz Transmitter.
Transceivers[12] are both TX and RX and occupy 2 ports:
- SBX, 400 MHz–4.4 GHz Transceiver, 100 mW output.
- WBX, 50 MHz–2.2 GHz Transceiver, 100 mW output.
- RFX400, 400–500 MHz Transceiver, 100+mW output, 45 dB AGC. Can be changed to cover 200 MHz up to 800 MHz with a hardware mod.
- RFX900, 800–1000 MHz Transceiver, 200+mW output (can be changed into a RFX1800 with basic soldering and flash update).
- RFX1200, 1150–1450 MHz Transceiver, 200+mW output.
- RFX1800, 1.5–2.1 GHz Transceiver, 100+mW output (can be changed into a RFX900 with a flash update).
- RFX2200, 2.0–2.4 GHz Transceiver, 100+mW output.[13]
- RFX2400, 2.3–2.9 GHz Transceiver, 20+mW output (can be changed into a RFX1200 with basic soldering and flash update).
- XCVR2450, Dual-band Transceiver, 100+mW output at 2.4–2.5 GHz and 50+mW output 4.9–5.85 GHz.
Applications
This is a list of some of the applications the USRP has been used for:
- An APCO25 compatible transmitter/receiver and decoder[14]
- RFID reader
- testing equipment
- a cellular GSM base station[15]
- a GPS receiver[16]
- an FM radio receiver[17]
- an FM radio transmitter[18]
- a digital television (ATSC) decoder[19]
- passive radar
- synthetic aperture radar
- an amateur radio[20]
- a teaching aid[21]
- Digital Audio Broadcasting (DAB/DAB+/DMB) transmitter [22][23]
- Mobile WiMAX receiver with USRP N2x0 [24]
- International Cometary Explorer Spacecraft reboot [25]
See also
References
- ^ Quinn Norton. "GNU Radio Opens an Unseen World". Wired.com. Retrieved 2014-04-18.
- ^ "UHD Start". Ettus Research LLC. Retrieved 2012-09-05.
- ^ http://www.ettus.com/downloads
- ^ [1]
- ^ GNU Radio + UHD
- ^ NI-USRP Driver
- ^ MATLAB and Simulink
- ^ UHD API
- ^ http://code.ettus.com/redmine/ettus/projects/uhd/repository/revisions/master/show/host/examples
- ^ https://web.archive.org/web/20100820213045/http://www.ettus.com/downloads/ettus_ds_usrp2_v5.pdf. Archived from the original (PDF) on August 20, 2010. Retrieved July 13, 2010.
{{cite web}}
: Missing or empty|title=
(help); Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "Products". Epiq Solutions. Retrieved 2012-09-05.
- ^ https://www.ettus.com/product/category/Daughterboards
- ^ http://www.ettus.com/ Announced on 2010-06-11. Retrieved on 2010-09-14.
- ^ "OP25". op25.osmocom.org. Retrieved 2012-09-05.
- ^ "The OpenBTS Project". Openbts.sourceforge.net. Retrieved 2012-09-05.
- ^ http://web.archive.org/web/20090905082547/http://www.gps-sdr.com/source/html/main.html
- ^ Eric Blossom. "Exploring GNU Radio". Gnu.org. Retrieved 2012-09-05.
- ^ "Archived copy". Archived from the original on May 27, 2009. Retrieved March 14, 2009.
{{cite web}}
: Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help)CS1 maint: archived copy as title (link) - ^ http://www.ruby-forum.com/topic/60548
- ^ "Software Defined Radio Transceiver | Free Communications software downloads at". Sourceforge.net. Retrieved 2012-09-05.
- ^ https://web.archive.org/web/20081029022253/http://www.wired.com/science/discoveries/news/2006/06/70933. Archived from the original on October 29, 2008.
{{cite news}}
: Missing or empty|title=
(help); Unknown parameter|deadurl=
ignored (|url-status=
suggested) (help) - ^ "CRC Online Mux". CRC mmbTools Live CD. Retrieved 2012-09-05.
- ^ http://www.opendigitalradio.org
- ^ "wimax-scanner — WiMAX scanner using USRP". Google Project Hosting. Retrieved 2012-09-05.
- ^ "The ISEE-3 Reboot Project: a dream SDR application". Ettus Research. Retrieved 2016-06-06.