Difference between revisions of "Application Notes"

From Ettus Knowledge Base
Jump to: navigation, search
(40 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
Application Notes (AN) and technical articles written by engineers, for engineers. These articles offer experienced analysis, design ideas, reference designs, and tutorials—to make you productive and successful using USRP devices.
 +
 
{| class="wikitable"
 
{| class="wikitable"
 
!colspan="4"|Application Notes
 
!colspan="4"|Application Notes
Line 11: Line 13:
  
  
|style="width: 15%; text-align: center;"| AN-445
+
|style="width: 10%; text-align: center;"| AN-445
 
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux]]
 
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux]]
|style="width: 40%;"| This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Linux platform. Other alternate installation methods are also discussed.
+
|style="width: 50%;"| This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Linux platform. Other alternate installation methods are also discussed.
|style="width: 15%; text-align: center;"| Neel Pandeya
+
|style="width: 10%; text-align: center;"| Neel Pandeya
 
|-
 
|-
  
  
|| <center> AN-611 </center>
+
|style="width: 10%; text-align: center;"| AN-788
|| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Windows]]
+
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on OS X]]
|| This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Linux platform.
+
|style="width: 50%;"| This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Mac OS X platform.
||<center> Derek Kozel </center>
+
|style="width: 10%; text-align: center;"|Michael Dickens
 
|-
 
|-
  
  
|| <center> AN-788 </center>
+
|style="width: 10%; text-align: center;"| AN-611
|| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on OS X]]
+
|style="width: 30%;"| [[Building and Installing the USRP Open Source Toolchain (UHD and GNU Radio) on Windows]]
|| This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Linux platform.
+
|style="width: 50%;"| This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Windows platform.
||<center> Michael Dickens </center>
+
|style="width: 10%; text-align: center;"|Derek Kozel
 
|-
 
|-
  
  
|| <center> AN-936 </center>
+
|style="width: 10%; text-align: center;"| AN-936
|| [[Verifying the Operation of the USRP Using UHD and GNU Radio]]
+
|style="width: 30%;"| [[Verifying the Operation of the USRP Using UHD and GNU Radio]]
|| 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.
+
|style="width: 50%;"| 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.
||<center> Neel Pandeya </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya
 
|-
 
|-
  
  
|| <center> AN-561 </center>
+
|style="width: 10%; text-align: center;"| AN-561
|| [[Implementation of a Simple FM Receiver in GNU Radio]]
+
|style="width: 30%;"| [[Implementation of a Simple FM Receiver in GNU Radio]]
|| This AN shows a quick and simple implementation of an FM receiver for the USRP using GNU Radio. The goal is to easily demonstrate a practical application, and to verify that the USRP is functioning properly.
+
|style="width: 50%;"| This AN shows a quick and simple implementation of an FM receiver for the USRP using GNU Radio. The goal is to easily demonstrate a practical application, and to verify that the USRP is functioning properly.
||<center> Neel Pandeya </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya
 
|-
 
|-
  
  
|| <center> AN-188 </center>
+
|style="width: 10%; text-align: center;"| AN-188
|| [[Interrogating Passive Wireless SAW Sensors with the USRP]]
+
|style="width: 30%;"| [[Interrogating Passive Wireless SAW Sensors with the USRP]]
|| Typical interrogator design for wireless SAW sensor systems require many discrete components and lengthy build times, making it difficult to rapidly adapt to sensor designs in a research environment. We have employed the USRP B200 as a SAW sensor interrogation system. Interrogation of wideband orthogonal frequency coded (OFC) SAW sensors imposes strict requirements on the timing and synchronization of the transceiver. The USRP FPGA has been modified to operate in a synchronous, pulsed mode of operation, allowing rapid data acquisition and the full 56MHz bandwidth to be utilized. Data from the USRP is passed to a custom matched filter correlator routine to extract sensor parameters. The system is capable of interrogating multiple sensors, simultaneously. Demonstration of the system is accomplished by wirelessly interrogating SAW sensors at 915MHz and extracting temperature.
+
|style="width: 50%;"| Typical interrogator design for wireless SAW sensor systems require many discrete components and lengthy build times, making it difficult to rapidly adapt to sensor designs in a research environment. We have employed the USRP B200 as a SAW sensor interrogation system. Interrogation of wideband orthogonal frequency coded (OFC) SAW sensors imposes strict requirements on the timing and synchronization of the transceiver. The USRP FPGA has been modified to operate in a synchronous, pulsed mode of operation, allowing rapid data acquisition and the full 56MHz bandwidth to be utilized. Data from the USRP is passed to a custom matched filter correlator routine to extract sensor parameters. The system is capable of interrogating multiple sensors, simultaneously. Demonstration of the system is accomplished by wirelessly interrogating SAW sensors at 915MHz and extracting temperature.
||<center> Trip Humphries </center>
+
|style="width: 10%; text-align: center;"|Trip Humphries
 
|-
 
|-
  
  
|| <center> AN-322 </center>
+
|style="width: 10%; text-align: center;"| AN-322
|| [[Experiments with the UBX Daughterboard in the HF Band]]
+
|style="width: 30%;"| [[Experiments with the UBX Daughterboard in the HF Band]]
|| We show the results of experiments with the UBX daughtercard on an USRP X310 platform for use in the HF frequency range, from 1.8MHz to 30MHz. While the UBX is nominally rated for use only down to 10 MHz, with careful flow-graph design, and pre-filtering, it provides quite-good performance across the HF bands.
+
|style="width: 50%;"| We show the results of experiments with the UBX daughtercard on an USRP X310 platform for use in the HF frequency range, from 1.8MHz to 30MHz. While the UBX is nominally rated for use only down to 10 MHz, with careful flow-graph design, and pre-filtering, it provides quite-good performance across the HF bands.
||<center> Marcus Leech </center>
+
|style="width: 10%; text-align: center;"|Marcus Leech
 
|-
 
|-
  
  
|| <center> AN-363 </center>
+
|style="width: 10%; text-align: center;"| AN-363
|| [[Implementation of an ADS-B Receiver in GNU Radio]]
+
|style="width: 30%;"| [[Implementation of an ADS-B/Mode-S Receiver in GNU Radio]]
|| This AN guides the reader through the implementation of an ADS-B receiver using the gr-air-modes Out-of-Tree (OOT) module for GNU Radio. An explanation of ADS-B is also provided, and several real-world, over-the-air examples and profiled.
+
|style="width: 50%;"| This AN guides the reader through the implementation of an ADS-B receiver using the gr-air-modes Out-of-Tree (OOT) module for GNU Radio. An explanation of ADS-B is also provided, and several real-world, over-the-air examples and profiled.
||<center> Nate Temple </center>
+
|style="width: 10%; text-align: center;"|Nate Temple
 
|-
 
|-
  
  
|| <center> AN-177 </center>
+
|style="width: 10%; text-align: center;"| AN-177
|| [[About USRP Bandwidths and Sampling Rates]]
+
|style="width: 30%;"| [[About USRP Bandwidths and Sampling Rates]]
|| This AN provides insight into the topics of USRP architecture, system bandwidth, host interface throughput, and available sampling rates.
+
|style="width: 50%;"| This AN provides insight into the topics of USRP architecture, system bandwidth, host interface throughput, and available sampling rates.
||<center> Neel Pandeya <br> Nate Temple </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|| <center> AN-881 </center>
+
|style="width: 10%; text-align: center;"| AN-881
|| [[Selecting an USRP Device]]
+
|style="width: 30%;"| [[Selecting a USRP Device]]
|| This AN explores the USRP family at a high level, compares devices across several primary features, and walks the reader through the process of selecting a particular device for the their application.
+
|style="width: 50%;"| This AN explores the USRP family at a high level, compares devices across several primary features, and walks the reader through the process of selecting a particular device for the their application.
||<center> Neel Pandeya <br> Nate Temple </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|| <center> AN-492 </center>
+
|style="width: 10%; text-align: center;"| AN-492
|| [[Selecting an RF Daughterboard]]
+
|style="width: 30%;"| [[Selecting a RF Daughterboard]]
|| This AN explores the RF daughterboards used by the N-series and X-series USRP devices at a high level, compares devices across several primary features, and walks the reader through the process of selecting a particular device for the their application.
+
|style="width: 50%;"| This AN explores the RF daughterboards used by the N-series and X-series USRP devices at a high level, compares devices across several primary features, and walks the reader through the process of selecting a particular device for the their application.
||<center> Neel Pandeya <br> Nate Temple </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|| <center> AN-204 </center>
+
|style="width: 10%; text-align: center;"| AN-204
|| [[Getting Started with UHD and C++]]
+
|style="width: 30%;"| [[Getting Started with UHD and C++]]
|| This AN explains how to write and build C++ programs that use the UHD API and introduces
+
|style="width: 50%;"| This AN explains how to write and build C++ programs that use the UHD API and introduces
||<center> Neel Pandeya <br> Nate Temple </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|| <center> AN-117 </center>
+
|style="width: 10%; text-align: center;"| AN-117
|| [[GPSDO Selection Guide]]
+
|style="width: 30%;"| [[GPSDO Selection Guide]]
|| This AN explains how to select and use a GPSDO with the USRP B-, N-, and X-series devices.
+
|style="width: 50%;"| This AN explains how to select and use a GPSDO with the USRP B-, N-, and X-series devices.
||<center> Neel Pandeya <br> Nate Temple </center>
+
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
 +
|style="width: 10%; text-align: center;"| AN-503
 +
|style="width: 30%;"| [[Converting an X310 into an NI-USRP Rio]]
 +
|style="width: 50%;"| This Application Note explains how to use an Ettus Research-branded USRP with LabVIEW, and in effect, convert it into an NI-USRP RIO.
 +
|style="width: 10%; text-align: center;"|Tim Fountain
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-638
 +
|style="width: 30%;"| [[Running UHD and GNU Radio on NI-USRP RIO]]
 +
|style="width: 50%;"| This AN explains the process to updating your USRP-Rio to run UHD and GNU Radio.
 +
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-882
 +
|style="width: 30%;"| [[Synchronization and MIMO Capability with USRP Devices]]
 +
|style="width: 50%;"| Discusses the requirements for Multiple-In-Multiple-Out (MIMO) and phased-array systems. Summarizes the MIMO capability of each USRP device and daughterboard, and shows how to build MIMO systems with the USRP product family.
 +
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-309
 +
|style="width: 30%;"| [[About the Motherboard and Daughtercard EEPROM on USRP Devices]]
 +
|style="width: 50%;"| This AN discusses the EEPROM storage on various USRP devices and daughtercards. This guides explains how to update the EEPROM contents and recover from EEPROM corruption. The product codes, which are also stored in the EEPROM, for all USRP devices and daughtercards are also given for reference.
 +
|style="width: 10%; text-align: center;"|Trip Humphries
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-325
 +
|style="width: 30%;"| [[N200/N210 Device Recovery]]
 +
|style="width: 50%;"| This application note covers the details of recovering your N200/N210.
 +
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 +
|-
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-504
 +
|style="width: 30%;"| [[USRP N Series Quick Start (Daughterboard Installation)]]
 +
|style="width: 50%;"| This application note is a detailed step-by-step guide to install a daughterboard into the USRP N200/N210.
 +
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-904
 +
|style="width: 30%;"| [[USRP X Series Quick Start (Daughterboard Installation)]]
 +
|style="width: 50%;"| This application note is a detailed step-by-step guide to install a daughterboard into the USRP X300/X310.
 +
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-311
 +
|style="width: 30%;"| [[Software Development on the E310 and E312]]
 +
|style="width: 50%;"| This application note covers the software development process on the USRP E310 and E312.
 +
|style="width: 10%; text-align: center;"|Martin Braun<br>Nicolas Cuervo
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-296
 +
|style="width: 30%;"| [[Using Dual 10 Gigabit Ethernet on the USRP X300/X310]]
 +
|style="width: 50%;"| This short guide is meant to help in quickly setting up an X-series USRP for use over two 10 Gigabit Ethernet links simultaneously.
 +
|style="width: 10%; text-align: center;"|Paul David
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-823
 +
|style="width: 30%;"| [[Getting Started with RFNoC Development]]
 +
|style="width: 50%;"| This application note gives a brief introduction into the steps required to start developing RFNoC blocks on your computer.
 +
|style="width: 10%; text-align: center;"|Martin Braun<br>Nicolas Cuervo
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-178
 +
|style="width: 30%;"| [[Resolving Audio Codec Enumeration Issues On The E31x]]
 +
|style="width: 50%;"| This application note covers Resolving Audio Codec Enumeration Issues On The E31x.
 +
|style="width: 10%; text-align: center;"|Logan Fagg
 +
|-
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-244
 +
|style="width: 30%;"| [[Direction Finding with the USRP™ X-Series and TwinRX™]]
 +
|style="width: 50%;"| This application note covers using the USRP™ TwinRX™ daughterboard in a direction find application using the MUSIC algorithm.
 +
|style="width: 10%; text-align: center;"|Srikanth Pagadarai<br>Travis Collins<br>Alexander M. Wyglinski
 +
|-
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-335
 +
|style="width: 30%;"| [[Streaming processed data from the E31x with GNU Radio and ZMQ]]
 +
|style="width: 50%;"| This application note will demonstrate using the USRP E310 to remotely stream processed data to a host machine. 
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-121
 +
|style="width: 30%;"| [[Debugging FPGA images]]
 +
|style="width: 50%;"| This application note covers the basics to get you through the process of probing the signals inside an FPGA. In order to accomplish that, we will review briefly the 'Xilinx ChipScope Analyzer' and will apply it to one of our core RFNoC blocks: the RFNoC Signal generator.
 +
|style="width: 10%; text-align: center;"|Nicolas Cuervo<br>Sugandha Gupta
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-732
 +
|style="width: 30%;"| [[USRP E312 Battery Replacement Instructions]]
 +
|style="width: 50%;"| This application note covers replacing the battery cell inside the USRP E312. 
 +
|style="width: 10%; text-align: center;"| Robin Coxe
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-305
 +
|style="width: 30%;"| [[X300/X310 Device Recovery]]
 +
|style="width: 50%;"| This application note covers the details of recovering the USRP X300/X310 via JTAG. 
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-832
 +
|style="width: 30%;"| [[Mapping Between ER-USRP and NI-USRP Product Numbers]]
 +
|style="width: 50%;"| This application note covers the details of the mapping between Ettus Research USRP and National Instruments USRP product numbers.   
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-315
 +
|style="width: 30%;"| [[Software Development on the E3xx USRP - Building RFNoC UHD / GNU Radio / gr-ettus from Source]]
 +
|style="width: 50%;"| This application note is one of a multi-part series which will cover the software development process on the USRP E310, E312 and E313. It will cover building the rfnoc-devel branch of UHD, GNU Radio and gr-ettus from source for the host machine, and cross-compiling the rfnoc-devel branch of UHD, GNU Radio and gr-ettus for the E3xx USRP. 
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-142
 +
|style="width: 30%;"| [[Transmitting DVB-S2 with GNU Radio and an USRP B210]]
 +
|style="width: 50%;"| This application note will demonstrate using an USRP B210 and the GNU Radio DTV example flowgraph to transmit a DVB-S2 video stream to an off-the-shelf satellite receiver.   
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-158
 +
|style="width: 30%;"| [[Using Ethernet-Based Synchronization on the USRP™ N3xx Devices]]
 +
|style="width: 50%;"| This application note provides instructions for synchronizing multiple USRP N3xx devices using White Rabbit Ethernet-based synchronization.   
 +
|style="width: 10%; text-align: center;"| Dan Baker
 +
Wan Liu
 +
|-
 +
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-642
 +
|style="width: 30%;"| [[Using the RFNoC Replay Block]]
 +
|style="width: 50%;"| This application note guides a user through basic use of the RFNoC Replay block and explains how to run the UHD Replay example. This example covers use on the X300/X310 and N310 products. 
 +
|style="width: 10%; text-align: center;"| Wade Fife
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-630
 +
|style="width: 30%;"| [[Writing the USRP File System Disk Image to a SD Card]]
 +
|style="width: 50%;"| This application note will provide step-by-step instructions on writing a file system disk image to a SD card using Linux. 
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-524
 +
|style="width: 30%;"| [[Building and Installing UHD and GNU Radio in an Offline Environment]]
 +
|style="width: 50%;"| This application note will provide step-by-step instructions on building and installing UHD and GNU Radio in an offline environment.
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-525
 +
|style="width: 30%;"| [[Building and Installing UHD and GNU Radio to a Custom Prefix]]
 +
|style="width: 50%;"| This application note provides step-by-step instructions on building and installing UHD and GNU Radio to a local directory.
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-725
 +
|style="width: 30%;"| [[USRP N320/N321 LO Distribution]]
 +
|style="width: 50%;"| This application note provides an overview of using the LO Distribution of the N320/N321 USRPs.
 +
 +
|style="width: 10%; text-align: center;"| Brian Avenell
 +
|-
 +
 +
 +
|style="width: 10%; text-align: center;"| AN-452
 +
|style="width: 30%;"| [[5G NR EVM Measurements with the USRP N320/N321]]
 +
|style="width: 50%;"| Example EVM measurements are shown using the USRP N320/N321 receiver and the 5G New Radio (5G NR) modulation standard. The use of I/Q image calibration and spur-dodging are demonstrated as methods to improve EVM performance.
 +
|style="width: 10%; text-align: center;"| Drew Fischer
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-620
 +
|style="width: 30%;"| [[Troubleshooting X300/X310 Device Discovery Issues]]
 +
|style="width: 50%;"| Troubleshooting guide to intended to cover some of the most commonly recommended steps to enable USRP connectivity.
 +
|style="width: 10%; text-align: center;"| Sam Reiter
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-088
 +
|style="width: 30%;"| [[USRP Host Performance Tuning Tips and Tricks]]
 +
|style="width: 50%;"| This application note provides various tips and tricks for tuning your host computer for best performance when working with USRP devices.
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-355
 +
|style="width: 30%;"| [[Modifying an X310 Chassis for External LO Sharing]]
 +
|style="width: 50%;"| This document describes how to modify an X310 chassis to wire the LO out of the back plate. Doing this will allow the user to export and import an LO signal as desired when using a compatible daughterboard such as the TwinRX.
 +
|style="width: 10%; text-align: center;"| Sam Reiter
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-500
 +
|style="width: 30%;"| [[Getting Started with DPDK and UHD]]
 +
|style="width: 50%;"| This application note walks through the process to get started with the Data Plane Development Kit (DPDK) driver within UHD.
 +
|style="width: 10%; text-align: center;"| Nate Temple
 +
Alex Williams
 +
|-
 +
 +
|style="width: 10%; text-align: center;"| AN-800
 +
|style="width: 30%;"| [[Enabling Ethernet Connectivity on Octoclock and Octoclock-G]]
 +
|style="width: 50%;"| This document supplements the UHD Manual's guide for updating the Octoclock bootloader to allow for Ethernet communications with the device.
 +
|style="width: 10%; text-align: center;"| Sam Reiter
 +
|-
 
|}
 
|}

Revision as of 15:07, 13 January 2020

Application Notes (AN) and technical articles written by engineers, for engineers. These articles offer experienced analysis, design ideas, reference designs, and tutorials—to make you productive and successful using USRP devices.

Application Notes
Number Title Abstract Author
AN-445 Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Linux platform. Other alternate installation methods are also discussed. Neel Pandeya
AN-788 Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on OS X This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Mac OS X platform. Michael Dickens
AN-611 Building and Installing the USRP Open Source Toolchain (UHD and GNU Radio) on Windows This AN provides a comprehensive step-by-step guide for building, installing, and maintaining the open-source toolchain, specifically UHD and GNU Radio, for the USRP from source code on the Windows platform. Derek Kozel
AN-936 Verifying the Operation of the USRP Using UHD and GNU Radio 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. Neel Pandeya
AN-561 Implementation of a Simple FM Receiver in GNU Radio This AN shows a quick and simple implementation of an FM receiver for the USRP using GNU Radio. The goal is to easily demonstrate a practical application, and to verify that the USRP is functioning properly. Neel Pandeya
AN-188 Interrogating Passive Wireless SAW Sensors with the USRP Typical interrogator design for wireless SAW sensor systems require many discrete components and lengthy build times, making it difficult to rapidly adapt to sensor designs in a research environment. We have employed the USRP B200 as a SAW sensor interrogation system. Interrogation of wideband orthogonal frequency coded (OFC) SAW sensors imposes strict requirements on the timing and synchronization of the transceiver. The USRP FPGA has been modified to operate in a synchronous, pulsed mode of operation, allowing rapid data acquisition and the full 56MHz bandwidth to be utilized. Data from the USRP is passed to a custom matched filter correlator routine to extract sensor parameters. The system is capable of interrogating multiple sensors, simultaneously. Demonstration of the system is accomplished by wirelessly interrogating SAW sensors at 915MHz and extracting temperature. Trip Humphries
AN-322 Experiments with the UBX Daughterboard in the HF Band We show the results of experiments with the UBX daughtercard on an USRP X310 platform for use in the HF frequency range, from 1.8MHz to 30MHz. While the UBX is nominally rated for use only down to 10 MHz, with careful flow-graph design, and pre-filtering, it provides quite-good performance across the HF bands. Marcus Leech
AN-363 Implementation of an ADS-B/Mode-S Receiver in GNU Radio This AN guides the reader through the implementation of an ADS-B receiver using the gr-air-modes Out-of-Tree (OOT) module for GNU Radio. An explanation of ADS-B is also provided, and several real-world, over-the-air examples and profiled. Nate Temple
AN-177 About USRP Bandwidths and Sampling Rates This AN provides insight into the topics of USRP architecture, system bandwidth, host interface throughput, and available sampling rates. Neel Pandeya
Nate Temple
AN-881 Selecting a USRP Device This AN explores the USRP family at a high level, compares devices across several primary features, and walks the reader through the process of selecting a particular device for the their application. Neel Pandeya
Nate Temple
AN-492 Selecting a RF Daughterboard This AN explores the RF daughterboards used by the N-series and X-series USRP devices at a high level, compares devices across several primary features, and walks the reader through the process of selecting a particular device for the their application. Neel Pandeya
Nate Temple
AN-204 Getting Started with UHD and C++ This AN explains how to write and build C++ programs that use the UHD API and introduces Neel Pandeya
Nate Temple
AN-117 GPSDO Selection Guide This AN explains how to select and use a GPSDO with the USRP B-, N-, and X-series devices. Neel Pandeya
Nate Temple
AN-503 Converting an X310 into an NI-USRP Rio This Application Note explains how to use an Ettus Research-branded USRP with LabVIEW, and in effect, convert it into an NI-USRP RIO. Tim Fountain
AN-638 Running UHD and GNU Radio on NI-USRP RIO This AN explains the process to updating your USRP-Rio to run UHD and GNU Radio. Neel Pandeya
Nate Temple
AN-882 Synchronization and MIMO Capability with USRP Devices Discusses the requirements for Multiple-In-Multiple-Out (MIMO) and phased-array systems. Summarizes the MIMO capability of each USRP device and daughterboard, and shows how to build MIMO systems with the USRP product family. Neel Pandeya
Nate Temple
AN-309 About the Motherboard and Daughtercard EEPROM on USRP Devices This AN discusses the EEPROM storage on various USRP devices and daughtercards. This guides explains how to update the EEPROM contents and recover from EEPROM corruption. The product codes, which are also stored in the EEPROM, for all USRP devices and daughtercards are also given for reference. Trip Humphries
AN-325 N200/N210 Device Recovery This application note covers the details of recovering your N200/N210. Neel Pandeya
Nate Temple
AN-504 USRP N Series Quick Start (Daughterboard Installation) This application note is a detailed step-by-step guide to install a daughterboard into the USRP N200/N210. Neel Pandeya
Nate Temple
AN-904 USRP X Series Quick Start (Daughterboard Installation) This application note is a detailed step-by-step guide to install a daughterboard into the USRP X300/X310. Neel Pandeya
Nate Temple
AN-311 Software Development on the E310 and E312 This application note covers the software development process on the USRP E310 and E312. Martin Braun
Nicolas Cuervo
AN-296 Using Dual 10 Gigabit Ethernet on the USRP X300/X310 This short guide is meant to help in quickly setting up an X-series USRP for use over two 10 Gigabit Ethernet links simultaneously. Paul David
AN-823 Getting Started with RFNoC Development This application note gives a brief introduction into the steps required to start developing RFNoC blocks on your computer. Martin Braun
Nicolas Cuervo
AN-178 Resolving Audio Codec Enumeration Issues On The E31x This application note covers Resolving Audio Codec Enumeration Issues On The E31x. Logan Fagg
AN-244 Direction Finding with the USRP™ X-Series and TwinRX™ This application note covers using the USRP™ TwinRX™ daughterboard in a direction find application using the MUSIC algorithm. Srikanth Pagadarai
Travis Collins
Alexander M. Wyglinski
AN-335 Streaming processed data from the E31x with GNU Radio and ZMQ This application note will demonstrate using the USRP E310 to remotely stream processed data to a host machine. Nate Temple
AN-121 Debugging FPGA images This application note covers the basics to get you through the process of probing the signals inside an FPGA. In order to accomplish that, we will review briefly the 'Xilinx ChipScope Analyzer' and will apply it to one of our core RFNoC blocks: the RFNoC Signal generator. Nicolas Cuervo
Sugandha Gupta
AN-732 USRP E312 Battery Replacement Instructions This application note covers replacing the battery cell inside the USRP E312. Robin Coxe
AN-305 X300/X310 Device Recovery This application note covers the details of recovering the USRP X300/X310 via JTAG. Nate Temple
AN-832 Mapping Between ER-USRP and NI-USRP Product Numbers This application note covers the details of the mapping between Ettus Research USRP and National Instruments USRP product numbers. Nate Temple
AN-315 Software Development on the E3xx USRP - Building RFNoC UHD / GNU Radio / gr-ettus from Source This application note is one of a multi-part series which will cover the software development process on the USRP E310, E312 and E313. It will cover building the rfnoc-devel branch of UHD, GNU Radio and gr-ettus from source for the host machine, and cross-compiling the rfnoc-devel branch of UHD, GNU Radio and gr-ettus for the E3xx USRP. Nate Temple
AN-142 Transmitting DVB-S2 with GNU Radio and an USRP B210 This application note will demonstrate using an USRP B210 and the GNU Radio DTV example flowgraph to transmit a DVB-S2 video stream to an off-the-shelf satellite receiver. Nate Temple
AN-158 Using Ethernet-Based Synchronization on the USRP™ N3xx Devices This application note provides instructions for synchronizing multiple USRP N3xx devices using White Rabbit Ethernet-based synchronization. Dan Baker

Wan Liu

AN-642 Using the RFNoC Replay Block This application note guides a user through basic use of the RFNoC Replay block and explains how to run the UHD Replay example. This example covers use on the X300/X310 and N310 products. Wade Fife
AN-630 Writing the USRP File System Disk Image to a SD Card This application note will provide step-by-step instructions on writing a file system disk image to a SD card using Linux. Nate Temple
AN-524 Building and Installing UHD and GNU Radio in an Offline Environment This application note will provide step-by-step instructions on building and installing UHD and GNU Radio in an offline environment. Nate Temple
AN-525 Building and Installing UHD and GNU Radio to a Custom Prefix This application note provides step-by-step instructions on building and installing UHD and GNU Radio to a local directory. Nate Temple
AN-725 USRP N320/N321 LO Distribution This application note provides an overview of using the LO Distribution of the N320/N321 USRPs. Brian Avenell
AN-452 5G NR EVM Measurements with the USRP N320/N321 Example EVM measurements are shown using the USRP N320/N321 receiver and the 5G New Radio (5G NR) modulation standard. The use of I/Q image calibration and spur-dodging are demonstrated as methods to improve EVM performance. Drew Fischer
AN-620 Troubleshooting X300/X310 Device Discovery Issues Troubleshooting guide to intended to cover some of the most commonly recommended steps to enable USRP connectivity. Sam Reiter
AN-088 USRP Host Performance Tuning Tips and Tricks This application note provides various tips and tricks for tuning your host computer for best performance when working with USRP devices. Nate Temple
AN-355 Modifying an X310 Chassis for External LO Sharing This document describes how to modify an X310 chassis to wire the LO out of the back plate. Doing this will allow the user to export and import an LO signal as desired when using a compatible daughterboard such as the TwinRX. Sam Reiter
AN-500 Getting Started with DPDK and UHD This application note walks through the process to get started with the Data Plane Development Kit (DPDK) driver within UHD. Nate Temple

Alex Williams

AN-800 Enabling Ethernet Connectivity on Octoclock and Octoclock-G This document supplements the UHD Manual's guide for updating the Octoclock bootloader to allow for Ethernet communications with the device. Sam Reiter