Recent from talks
Nothing was collected or created yet.
Universal Software Radio Peripheral
View on Wikipedia
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.[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
[edit]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
[edit]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.
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.[4]
- 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.[5]
- USRP N210 and USRP2 are supported by MATLAB and Simulink.[6] 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.[7][circular reference]
- 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
[edit]Networked series
[edit]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.
Bus series
[edit]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. Models include the USRP B206mini-i, B205mini-i, B200mini-i, and B200mini.[10] Board-only versions without the outer protective case are also available.
Embedded series
[edit]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.
Discontinued models
[edit]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.
Daughterboard modules
[edit]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.
See also
[edit]References
[edit]- ^ Quinn Norton. "GNU Radio Opens an Unseen World". Wired.com. Retrieved 2014-04-18.
- ^ "UHD Start". Ettus Research LLC. Archived from the original on 2015-08-26. Retrieved 2012-09-05.
- ^ "Index of /downloads". Archived from the original on 2010-09-20.
- ^ GNU Radio + UHD
- ^ "NI-USRP Driver". Archived from the original on 2012-04-22. Retrieved 2012-04-09.
- ^ MATLAB and Simulink
- ^ OpenLTE
- ^ UHD API
- ^ "/host/examples - Repository - uhd - Ettus Research LLC". Archived from the original on 2012-06-13.
- ^ "Ettus Research - USB Software Defined Radio (SDR)". Ettus Research. Retrieved 2025-11-21.
{{cite web}}: CS1 maint: url-status (link)
External links
[edit]Universal Software Radio Peripheral
View on GrokipediaOverview
Definition and Purpose
The Universal Software Radio Peripheral (USRP) is a family of open-source, modular hardware platforms designed for software-defined radio (SDR) applications, developed by Ettus Research to interface analog radio frequency (RF) signals with digital processing systems.[1] It functions as a tunable transceiver peripheral that connects to host computers or embedded systems through high-speed interfaces like USB, Ethernet, or PCI Express, enabling the conversion of RF signals into digital data streams for software-based manipulation.[4] This architecture allows users to perform tasks such as signal reception, transmission, modulation, and demodulation in a flexible, reconfigurable manner without relying on fixed hardware implementations.[5] Originating as a project led by Matt Ettus in 2004, the USRP was created to lower the barriers to entry for SDR experimentation by providing an affordable alternative to expensive, proprietary military-grade equipment.[3] Its primary purpose is to democratize access to SDR technology, offering cost-effective hardware for prototyping and deploying wireless communication systems across a broad frequency spectrum from DC to 8 GHz.[1] By supporting modular daughterboards for various RF front-ends, the USRP enables rapid reconfiguration for diverse applications, from research in wireless protocols to educational demonstrations of radio principles.[5] At its core, the USRP shifts traditional RF functionality—such as filtering, amplification, and frequency synthesis—from dedicated hardware circuits to software algorithms running on general-purpose processors, thereby allowing real-time adaptability without the need for custom application-specific integrated circuits (ASICs).[4] This software-centric approach facilitates innovation in fields like cognitive radio and spectrum sensing, where dynamic adjustments to signal processing are essential, while maintaining compatibility with open-source software ecosystems for broader accessibility.[1]Key Features
The Universal Software Radio Peripheral (USRP) incorporates FPGA-based digital processing to enable real-time signal processing and customization directly on the device, supporting high-throughput operations in software-defined radio applications.[6] This architecture allows users to implement digital downconverters, upconverters, and other DSP functions on the programmable FPGA fabric, with recent models integrating RFSoC for enhanced performance.[7][8] USRP devices feature high-resolution analog-to-digital (ADC) and digital-to-analog (DAC) converters, typically offering 12-16 bit resolution for precise signal capture and generation.[9] Sample rates reach up to 2 GS/s across various series, enabling bandwidths suitable for wideband RF signals, while frequency coverage extends up to 8 GHz to support diverse wireless protocols and radar systems.[10][2] Modularity is achieved through interchangeable daughterboards that configure the device for receive (RX), transmit (TX), or transceiver operations, allowing adaptation to specific RF front-end requirements without hardware redesign.[11] The FPGA implementation utilizes open-source code in Verilog or VHDL, facilitating user modifications and extensions.[12] The RFNoC (RF Network-on-Chip) framework further enhances this by providing a modular architecture for integrating custom FPGA blocks into the signal processing chain, promoting reusability and rapid prototyping.[12] Connectivity options include USB 3.0 for portable setups, Gigabit or 10G Ethernet for high-speed data transfer, and standalone embedded modes for deployed systems.[6] USRP hardware emphasizes power efficiency with low size, weight, power, and cost (SWaP-C) designs, alongside form factors ranging from credit-card-sized boards for embedded use to rack-mountable units for scalable deployments.[6]History
Founding and Early Development
The Universal Software Radio Peripheral (USRP) originated from the efforts of Matt Ettus, who founded Ettus Research in August 2004 as a self-funded venture initially supported by a National Science Foundation grant through the University of Utah.[3] This endeavor began as a garage-based project stemming from Ettus's hobbyist interests in radio technology dating back to 2001, when he joined the emerging GNU Radio open-source software project.[13] The primary motivation was to democratize software-defined radio (SDR) development by creating low-cost hardware that could complement GNU Radio, enabling experimentation, education, and research in RF signal processing without the prohibitive expenses associated with proprietary or military-grade systems.[3] At the time, traditional SDR platforms often exceeded tens of thousands of dollars, limiting access to well-resourced institutions.[14] The first USRP device, known as USRP1, was released in 2005, marking a pivotal milestone in affordable SDR hardware.[15] Priced at approximately $700 to $1,000 including basic daughterboards, it featured a USB 2.0 interface for host connectivity, an onboard Altera Cyclone FPGA for digital signal processing, and support for modular daughterboards that allowed flexibility in frequency ranges and transceiver configurations.[16][17] This design emphasized openness and extensibility, with the FPGA handling tasks like digital downconversion and the daughterboards enabling coverage from DC to 6 GHz depending on the selected modules. Early adoption was driven by its integration with GNU Radio, fostering initial collaborations within the open-source community and academic laboratories for prototyping wireless systems and validating SDR concepts.[3] A key advancement came in 2008 with the release of USRP2, which addressed bandwidth limitations of the original model by introducing a Gigabit Ethernet interface for higher data throughput and an upgraded Xilinx Spartan-3 XC3S2000 FPGA with significantly more logic resources.[17] This iteration supported up to 100 MS/s sampling rates and 25 MHz of RF bandwidth at 16-bit resolution, enhancing real-time processing capabilities while maintaining the modular daughterboard architecture. These developments solidified USRP's role in promoting accessible RF research through ongoing ties with the GNU Radio ecosystem.[18]Acquisition and Evolution
Following the acquisition of Ettus Research by National Instruments (NI) on February 5, 2010, the Universal Software Radio Peripheral (USRP) platform was integrated into NI's broader test and measurement portfolio, enabling expanded resources for development and distribution.[19] This move leveraged NI's established infrastructure to support the growing demand for software-defined radio (SDR) solutions in research and industry applications.[20] Post-acquisition, the USRP evolved through enhanced manufacturing processes and deeper software integrations, such as compatibility with NI's LabVIEW environment via the NI-USRP driver, which facilitated graphical programming for SDR prototyping.[21] Product expansions included the release of the X300 and X310 series in early 2014, introducing high-performance, modular designs with 10 Gigabit Ethernet connectivity for advanced wireless research.[22] In the 2020s, the N3xx series, starting with the N310 in March 2018, brought networked capabilities with SFP+ interfaces, supporting fault-tolerant deployments in distributed systems up to 100 MHz bandwidth per channel.[23] More recent advancements encompassed NI-USRP driver updates in the fourth quarter of 2024, improving compatibility with Ettus-branded hardware like the X410 for FPGA-based projects, and the announcement of the compact USB-powered B206mini-i in September 2025, targeting 70 MHz to 6 GHz applications in a business-card-sized form factor.[24][25] These developments have boosted enterprise adoption by aligning USRP with NI's commercial tools for scalable testing, while preserving the open-source ethos through continued support for the UHD driver under GPLv3 licensing and the Ettus Research brand.[26][27] However, NI has navigated challenges in balancing hobbyist accessibility—via affordable, modular Ettus offerings—with commercial scalability demands, such as preassembled NI variants for enterprise integration.[28] This dual approach has sustained the platform's versatility across academic, open-source communities, and industrial sectors.[20]Design Principles
Overall Architecture
The Universal Software Radio Peripheral (USRP) features a modular architecture that integrates a host computer or embedded processor with the USRP motherboard through high-speed interfaces such as USB or Ethernet. The motherboard serves as the central hub, incorporating digital up/down conversion capabilities and an FPGA for initial signal processing, while interchangeable daughterboards handle radio frequency (RF) front-end functions. This design enables flexible reconfiguration for diverse applications, from prototyping to deployment, by separating analog RF handling from digital processing.[29][30] In the receive data flow, RF signals are captured by the daughterboards, where they undergo amplification, downconversion, and filtering before being digitized via high-speed analog-to-digital converters (ADCs). The resulting digital samples are processed in the FPGA for tasks like digital downconversion (DDC), decimation, and formatting, then streamed to the host via the interface for advanced software-defined processing. Conversely, for transmission, the host generates baseband in-phase and quadrature (I/Q) samples, which are sent to the FPGA for upconversion, interpolation, and digital-to-analog conversion (DAC), followed by analog upconversion and amplification in the daughterboards for RF output. This bidirectional flow ensures efficient handling of wideband signals while minimizing latency in the critical path.[29][10] Clocking and synchronization are critical for multi-device operations, with USRP systems supporting an external 10 MHz reference clock input to maintain phase coherence across units. This reference synchronizes sample clocks and local oscillators, enabling applications like MIMO and beamforming. Optional GPS-disciplined oscillators (GPSDO) provide a stable 10 MHz output along with a 1 pulse per second (PPS) signal, achieving timing accuracy of ±50 ns for geographically distributed setups.[31][32] The FPGA, a Xilinx FPGA such as a Kintex-series device in certain networked models, plays a pivotal role in real-time digital signal processing, managing high sample rates up to hundreds of MS/s to filter and condition data before host transfer. It offloads the host from bandwidth-intensive operations, allowing the general-purpose processor to focus on complex algorithms like modulation or error correction. FPGA customization is supported via the RFNoC framework for modular DSP blocks. Across series, the bus variants prioritize low-latency USB connections for direct host integration, while networked variants leverage Ethernet for scalable, high-throughput data transfer in distributed environments.[29][10][30][33]Core Components
The core of the Universal Software Radio Peripheral (USRP) lies in its motherboard, which integrates key digital and analog processing elements to enable flexible signal handling. At the heart is a programmable field-programmable gate array (FPGA), such as the Xilinx Spartan-6 in certain bus-connected models or the Zynq system-on-chip (SoC) in embedded variants, responsible for real-time signal processing tasks like decimation, interpolation, and custom logic implementation.[34][35] High-speed analog-to-digital converters (ADCs) and digital-to-analog converters (DACs) form another essential part, exemplified by 12-bit ADCs sampling at up to 61.44 MS/s in integrated RF models, converting analog signals to digital for FPGA processing and vice versa.[36][37][38] Connectivity to host systems is provided through interfaces like USB 3.0 controllers in bus series or Ethernet controllers supporting gigabit or 10-gigabit speeds in networked models, facilitating data transfer rates sufficient for wideband applications.[34][39] The RF chain on the USRP motherboard supports signal conditioning either directly or in conjunction with modular expansions, incorporating local oscillators for frequency synthesis, mixers for up- and down-conversion, and low-noise amplifiers for receive paths along with power amplifiers for transmit.[36] These elements enable tunable operation across broad frequency ranges, typically from tens of MHz to several GHz, with integrated or external filtering to mitigate aliasing and ensure signal integrity during digitization.[39] In designs with onboard transceivers, such as those using Analog Devices AD9361 chips, the RF chain provides automatic gain control and direct conversion architecture for efficient baseband interfacing.[40] Power management in USRP motherboards accommodates various deployment scenarios through DC supply options, including USB-powered operation for portable units or external adapters delivering 6-12 V for higher-power configurations.[34] High-performance models incorporate heat sinks and optional fan connectors to dissipate thermal load from the FPGA and RF components during sustained operation at maximum sample rates.[35] A defining feature of the USRP platform is its open-source hardware design, particularly the FPGA implementation provided in Verilog, which allows users to modify gate-level logic for custom blocks such as digital filters, modulators, or error correction encoders.[41] This code, hosted in the official repository, supports integration of user-defined RF Network-on-Chip (RFNoC) blocks for accelerated processing. Expansion capabilities on the motherboard include general-purpose input/output (GPIO) pins for external control signals, synchronization ports for precision timing via pulse-per-second (PPS) or 10 MHz reference clocks, and onboard memory buffers optimized for direct memory access (DMA) transfers to minimize latency in data streaming.[39] These features enable multi-device coordination and interfacing with auxiliary hardware. The motherboard also supports daughterboard integration through standardized slots for RF front-end customization.[42]Software Ecosystem
Drivers and APIs
The USRP Hardware Driver (UHD) serves as the foundational cross-platform library for interacting with USRP hardware, enabling device discovery, configuration, and high-performance data streaming across Linux, Windows, and macOS operating systems. Developed by Ettus Research and now maintained by National Instruments, UHD provides a unified API that abstracts hardware-specific details, allowing developers to control USRP devices without deep knowledge of underlying transport protocols like USB, Ethernet, or PCIe. Since its introduction in 2007, UHD has evolved into the standard driver for the entire USRP product family, supporting seamless integration in research, prototyping, and deployment scenarios.[30][43] At its core, UHD is implemented in C++ for optimal performance, with Python bindings generated using PyBind11 to facilitate scripting and rapid prototyping. Key API functions include stream setup via theuhd::usrp::multi_usrp class for initializing transmit/receive chains, gain control through methods like set_rx_gain() and set_tx_gain(), frequency tuning with set_rx_freq() and set_tx_freq(), and precise timestamping for synchronized operations using time specifiers. These features ensure low-latency data handling, with support for streaming rates up to hundreds of MS/s depending on the hardware. The API also incorporates error handling mechanisms, such as exception-based reporting for issues like device timeouts or invalid configurations, promoting robust application development.[44][45]
Installation of UHD typically involves binary packages for ease or building from source for customization. Binary installers are available for major distributions and operating systems, while source builds require dependencies including Boost libraries for threading and filesystem operations, libusb for USB-based devices, and optionally CMake for configuration. Versioning follows semantic guidelines, with major releases like UHD 4.x aligned to support advanced hardware series such as the N3xx networked devices, ensuring backward compatibility where possible. Post-installation, tools like uhd_usrp_probe allow verification of device connectivity, firmware loading, and diagnostic reporting, helping users troubleshoot issues such as unrecognized hardware or streaming errors.[46][47]
Recent updates in UHD 4.9.0.0, released in September 2025, enhance compatibility with Ettus-NI hardware through support for new devices like the USRP B206mini-i and OBX daughterboards, alongside improvements in multi-device synchronization via RFNoC extensions for distributed streaming scenarios. These changes, including fixes for session management in X410 devices and new GPS interface features for X3x0 series, bolster reliability in complex, multi-USRP deployments without disrupting existing codebases.[48][49]
