Difference between revisions of "Application Notes"

From Ettus Knowledge Base
Jump to: navigation, search
m (fix name of NI USRP RIO AN)
(16 intermediate revisions by 5 users not shown)
Line 9: Line 9:
 
! style="text-align:center;"| Title
 
! style="text-align:center;"| Title
 
! style="text-align:center;"| Abstract
 
! style="text-align:center;"| Abstract
! style="text-align:center;"| Author
+
! style="text-align:center;"| Author(s)
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-445
+
|style="width: 10%; text-align: center;"| AN-088
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux]]
+
|style="width: 30%;"| [[USRP Host Performance Tuning Tips and Tricks]]
|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: 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;"| Neel Pandeya
+
|style="width: 10%; text-align: center;"| Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-788
+
|style="width: 10%; text-align: center;"| AN-111
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on OS X]]
+
|style="width: 30%;"| [[UHD Device Eraser and Certificates of Volatility]]
|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.
+
|style="width: 50%;"| This AN provides an overview of the UHD Device Eraser utility as well as links to the Certificates of Volatility for all Ettus products.
|style="width: 10%; text-align: center;"|Michael Dickens
+
|style="width: 10%; text-align: center;"| Michael Dickens
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-611
+
|style="width: 10%; text-align: center;"| AN-117
|style="width: 30%;"| [[Building and Installing the USRP Open Source Toolchain (UHD and GNU Radio) on Windows]]
+
|style="width: 30%;"| [[GPSDO Selection Guide]]
|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.
+
|style="width: 50%;"| This AN explains how to select and use a GPSDO with the USRP B-, N-, and X-series devices.
|style="width: 10%; text-align: center;"|Derek Kozel
+
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-936
+
|style="width: 10%; text-align: center;"| AN-121
|style="width: 30%;"| [[Verifying the Operation of the USRP Using UHD and GNU Radio]]
+
|style="width: 30%;"| [[Debugging FPGA images]]
|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.
+
|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;"|Neel Pandeya
+
|style="width: 10%; text-align: center;"| Nicolas Cuervo <br> Sugandha Gupta
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-561
+
|style="width: 10%; text-align: center;"| AN-142
|style="width: 30%;"| [[Implementation of a Simple FM Receiver in GNU Radio]]
+
|style="width: 30%;"| [[Transmitting DVB-S2 with GNU Radio and an USRP B210]]
|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.
+
|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;"|Neel Pandeya
+
|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-177
 +
|style="width: 30%;"| [[About USRP Bandwidths and Sampling Rates]]
 +
|style="width: 50%;"| This AN provides insight into the topics of USRP architecture, system bandwidth, host interface throughput, and available sampling rates.
 +
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
 +
|-
 +
 
 +
 
 +
|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
 
|-
 
|-
  
Line 51: Line 73:
 
|style="width: 30%;"| [[Interrogating Passive Wireless SAW Sensors with the USRP]]
 
|style="width: 30%;"| [[Interrogating Passive Wireless SAW Sensors with the USRP]]
 
|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.
 
|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.
|style="width: 10%; text-align: center;"|Trip Humphries
+
|style="width: 10%; text-align: center;"| Trip Humphries
 +
|-
 +
 
 +
 
 +
|style="width: 10%; text-align: center;"| AN-204
 +
|style="width: 30%;"| [[Getting Started with UHD and C++]]
 +
|style="width: 50%;"| This AN explains how to write and build C++ programs that use the UHD API and introduces
 +
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
 +
|-
 +
 
 +
 
 +
|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-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-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-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-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-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
 
|-
 
|-
  
Line 58: Line 129:
 
|style="width: 30%;"| [[Experiments with the UBX Daughterboard in the HF Band]]
 
|style="width: 30%;"| [[Experiments with the UBX Daughterboard in the HF Band]]
 
|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.
 
|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.
|style="width: 10%; text-align: center;"|Marcus Leech
+
|style="width: 10%; text-align: center;"| Marcus Leech
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-363
+
|style="width: 10%; text-align: center;"| AN-325
|style="width: 30%;"| [[Implementation of an ADS-B/Mode-S Receiver in GNU Radio]]
+
|style="width: 30%;"| [[N200/N210 Device Recovery]]
|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.
+
|style="width: 50%;"| This application note covers the details of recovering your N200/N210.
|style="width: 10%; text-align: center;"|Nate Temple
+
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-177
+
|style="width: 10%; text-align: center;"| AN-335
|style="width: 30%;"| [[About USRP Bandwidths and Sampling Rates]]
+
|style="width: 30%;"| [[Streaming processed data from the E31x with GNU Radio and ZMQ]]
|style="width: 50%;"| This AN provides insight into the topics of USRP architecture, system bandwidth, host interface throughput, and available sampling rates.
+
|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;"|Neel Pandeya <br> Nate Temple
+
|style="width: 10%; text-align: center;"| Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-881
+
|style="width: 10%; text-align: center;"| AN-355
|style="width: 30%;"| [[Selecting a USRP Device]]
+
|style="width: 30%;"| [[Modifying an X310 Chassis for External LO Sharing]]
|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.
+
|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;"|Neel Pandeya <br> Nate Temple
+
|style="width: 10%; text-align: center;"| Sam Reiter
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-492
+
|style="width: 10%; text-align: center;"| AN-363
|style="width: 30%;"| [[Selecting a RF Daughterboard]]
+
|style="width: 30%;"| [[Implementation of an ADS-B/Mode-S Receiver in GNU Radio]]
|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.
+
|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.
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
+
|style="width: 10%; text-align: center;"| Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-204
+
|style="width: 10%; text-align: center;"| AN-400
|style="width: 30%;"| [[Getting Started with UHD and C++]]
+
|style="width: 30%;"| [[Getting Started with RFNoC in UHD 4.0]]
|style="width: 50%;"| This AN explains how to write and build C++ programs that use the UHD API and introduces
+
|style="width: 50%;"| This AN describes how use RFNoC in UHD 4.0, including building FPGA images for RFNoC, changing which blocks are included in the build, and creating your own RFNoC blocks.
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
+
|style="width: 10%; text-align: center;"| Sugandha Gupta <br> Brent Stapleton <br> Wade Fife
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-117
+
|style="width: 10%; text-align: center;"| AN-401
|style="width: 30%;"| [[GPSDO Selection Guide]]
+
|style="width: 30%;"| [[RFNoC 4 Migration Guide]]
|style="width: 50%;"| This AN explains how to select and use a GPSDO with the USRP B-, N-, and X-series devices.
+
|style="width: 50%;"| Guide on how to migrate RFNoC blocks written for RFNoC 3 to RFNoC 4.
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
+
|style="width: 10%; text-align: center;"| Jonathon Pendlum
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-503
+
|style="width: 10%; text-align: center;"| AN-444
|style="width: 30%;"| [[Converting an X310 into an NI-USRP Rio]]
+
|style="width: 30%;"| [[Using B200/B210/B200mini/B205mini on OSX / macOS with UHD]]
|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: 50%;"| This AN provides a basic guide for what to expect when using a USB-based B-series USRP on OSX / macOS with UHD.
|style="width: 10%; text-align: center;"|Tim Fountain
+
|style="width: 10%; text-align: center;"| Michael Dickens
 
|-
 
|-
  
|style="width: 10%; text-align: center;"| AN-638
+
 
|style="width: 30%;"| [[Running UHD and GNU Radio on NI-USRP RIO]]
+
|style="width: 10%; text-align: center;"| AN-445
|style="width: 50%;"| This AN explains the process to updating your USRP-Rio to run UHD and GNU Radio.  
+
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux]]
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
+
|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: 10%; text-align: center;"| Neel Pandeya
 
|-
 
|-
  
|style="width: 10%; text-align: center;"| AN-882
+
 
|style="width: 30%;"| [[Synchronization and MIMO Capability with USRP Devices]]
+
|style="width: 10%; text-align: center;"| AN-452
|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: 30%;"| [[5G NR EVM Measurements with the USRP N320/N321]]
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
+
|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-309
+
 
|style="width: 30%;"| [[About the Motherboard and Daughtercard EEPROM on USRP Devices]]
+
|style="width: 10%; text-align: center;"| AN-492
|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: 30%;"| [[Selecting a RF Daughterboard]]
|style="width: 10%; text-align: center;"|Trip Humphries
+
|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.
 +
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-325
+
|style="width: 10%; text-align: center;"| AN-500
|style="width: 30%;"| [[N200/N210 Device Recovery]]
+
|style="width: 30%;"| [[Getting Started with DPDK and UHD]]
|style="width: 50%;"| This application note covers the details of recovering your N200/N210.
+
|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;"|Neel Pandeya <br> Nate Temple
+
|style="width: 10%; text-align: center;"| Nate Temple <br> Alex Williams
 
|-
 
|-
  
 +
|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
 +
|-
  
  
Line 140: Line 219:
 
|style="width: 30%;"| [[USRP N Series Quick Start (Daughterboard Installation)]]
 
|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: 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;"| 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: 10%; text-align: center;"| AN-524
|style="width: 50%;"| This application note is a detailed step-by-step guide to install a daughterboard into the USRP X300/X310.
+
|style="width: 30%;"| [[Building and Installing UHD and GNU Radio in an Offline Environment]]
|style="width: 10%; text-align: center;"|Neel Pandeya <br> Nate Temple
+
|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-311
+
|style="width: 10%; text-align: center;"| AN-525
|style="width: 30%;"| [[Software Development on the E310 and E312]]
+
|style="width: 30%;"| [[Building and Installing UHD and GNU Radio to a Custom Prefix]]
|style="width: 50%;"| This application note covers the software development process on the USRP E310 and E312.  
+
|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;"|Martin Braun<br>Nicolas Cuervo
+
|style="width: 10%; text-align: center;"| Nate Temple
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-296
+
|style="width: 10%; text-align: center;"| AN-561
|style="width: 30%;"| [[Using Dual 10 Gigabit Ethernet on the USRP X300/X310]]
+
|style="width: 30%;"| [[Implementation of a Simple FM Receiver in GNU Radio]]
|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: 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.
|style="width: 10%; text-align: center;"|Paul David
+
|style="width: 10%; text-align: center;"| Neel Pandeya
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-823
+
|style="width: 10%; text-align: center;"| AN-611
|style="width: 30%;"| [[Getting Started with RFNoC Development]]
+
|style="width: 30%;"| [[Building and Installing the USRP Open Source Toolchain (UHD and GNU Radio) on Windows]]
|style="width: 50%;"| This application note gives a brief introduction into the steps required to start developing RFNoC blocks on your computer.  
+
|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.
|style="width: 10%; text-align: center;"|Martin Braun<br>Nicolas Cuervo
+
|style="width: 10%; text-align: center;"| Derek Kozel
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-178
+
|style="width: 10%; text-align: center;"| AN-620
|style="width: 30%;"| [[Resolving Audio Codec Enumeration Issues On The E31x]]
+
|style="width: 30%;"| [[Troubleshooting X300/X310 Device Discovery Issues]]
|style="width: 50%;"| This application note covers Resolving Audio Codec Enumeration Issues On The E31x.  
+
|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;"|Logan Fagg
+
|style="width: 10%; text-align: center;"| Sam Reiter
 
|-
 
|-
  
  
 +
|style="width: 10%; text-align: center;"| AN-621
 +
|style="width: 30%;"| [[Troubleshooting N310/N320 Device Discovery Issues]]
 +
|style="width: 50%;"| Troubleshooting guide to intended to cover some of the most commonly recommended steps to enable USRP connectivity. Serves as a supplement to the N3xx getting started guide.
 +
|style="width: 10%; text-align: center;"| Sam Reiter
 +
|-
  
|style="width: 10%; text-align: center;"| AN-244
+
 
|style="width: 30%;"| [[Direction Finding with the USRP™ X-Series and TwinRX™]]
+
|style="width: 10%; text-align: center;"| AN-630
|style="width: 50%;"| This application note covers using the USRP™ TwinRX™ daughterboard in a direction find application using the MUSIC algorithm.  
+
|style="width: 30%;"| [[Writing the USRP File System Disk Image to a SD Card]]
|style="width: 10%; text-align: center;"|Srikanth Pagadarai<br>Travis Collins<br>Alexander M. Wyglinski
+
|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-638
 +
|style="width: 30%;"| [[Running UHD and GNU Radio on NI USRP-RIO]]
 +
|style="width: 50%;"| This AN explains the process to updating your NI USRP-RIO to run UHD and GNU Radio.
 +
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple <br> Michael Dickens
 +
|-
  
|style="width: 10%; text-align: center;"| AN-335
+
 
|style="width: 30%;"| [[Streaming processed data from the E31x with GNU Radio and ZMQ]]
+
|style="width: 10%; text-align: center;"| AN-642
|style="width: 50%;"| This application note will demonstrate using the USRP E310 to remotely stream processed data to a host machine.   
+
|style="width: 30%;"| [[Using the RFNoC Replay Block]]
|style="width: 10%; text-align: center;"| Nate Temple
+
|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-121
+
 
|style="width: 30%;"| [[Debugging FPGA images]]
+
|style="width: 10%; text-align: center;"| AN-666
|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: 30%;"| [[Mean Time Between Failure (MTBF) of USRPs and Daughterboards]]
|style="width: 10%; text-align: center;"|Nicolas Cuervo<br>Sugandha Gupta
+
|style="width: 50%;"| This AN provides information about the MTBF for USRPs and daughterboards
 +
|style="width: 10%; text-align: center;"| Michael Dickens
 +
|-
 +
 
 +
 
 +
|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
 
|-
 
|-
  
Line 206: Line 306:
 
|-
 
|-
  
|style="width: 10%; text-align: center;"| AN-305
+
 
|style="width: 30%;"| [[X300/X310 Device Recovery]]
+
|style="width: 10%; text-align: center;"| AN-788
|style="width: 50%;"| This application note covers the details of recovering the USRP X300/X310 via JTAG.  
+
|style="width: 30%;"| [[Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on OS X]]
|style="width: 10%; text-align: center;"| Nate Temple
+
|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.
 +
|style="width: 10%; text-align: center;"| Michael Dickens
 
|-
 
|-
  
  
|style="width: 10%; text-align: center;"| AN-832
+
|style="width: 10%; text-align: center;"| AN-800
|style="width: 30%;"| [[Mapping Between ER-USRP and NI-USRP Product Numbers]]
+
|style="width: 30%;"| [[Enabling Ethernet Connectivity on Octoclock and Octoclock-G]]
|style="width: 50%;"| This application note covers the details of the mapping between Ettus Research USRP and National Instruments USRP product numbers.  
+
|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;"| Nate Temple
+
|style="width: 10%; text-align: center;"| Sam Reiter
 
|-
 
|-
  
  
 
+
|style="width: 10%; text-align: center;"| AN-823
|style="width: 10%; text-align: center;"| AN-315
+
|style="width: 30%;"| [[Getting Started with RFNoC Development]]
|style="width: 30%;"| [[Software Development on the E3xx USRP - Building RFNoC UHD / GNU Radio / gr-ettus from Source]]
+
|style="width: 50%;"| This application note gives a brief introduction into the steps required to start developing RFNoC blocks on your computer with UHD 3.  
|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;"| Martin Braun <br> Nicolas Cuervo
|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: 10%; text-align: center;"| AN-142
+
|style="width: 50%;"| This application note covers the details of the mapping between Ettus Research USRP and National Instruments USRP product numbers.     
|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;"| Nate Temple
 
|-
 
|-
  
  
 +
|style="width: 10%; text-align: center;"| AN-881
 +
|style="width: 30%;"| [[Selecting a USRP Device]]
 +
|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.
 +
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
 +
|-
  
  
|style="width: 10%; text-align: center;"| AN-158
+
|style="width: 10%; text-align: center;"| AN-882
|style="width: 30%;"| [[Using Ethernet-Based Synchronization on the USRP™ N3xx Devices]]
+
|style="width: 30%;"| [[Synchronization and MIMO Capability with USRP Devices]]
|style="width: 50%;"| This application note provides instructions for synchronizing multiple USRP N3xx devices using White Rabbit Ethernet-based synchronization.  
+
|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;"| Dan Baker
+
|style="width: 10%; text-align: center;"| Neel Pandeya <br> Nate Temple
Wan Liu
+
 
|-
 
|-
  
  
 +
|style="width: 10%; text-align: center;"| AN-883
 +
|style="width: 30%;"| [[Synchronizing USRP Events Using Timed Commands in UHD]]
 +
|style="width: 50%;"| Guide to cover common USRP synchronization scenarios and deep-dive into the use of timed commands within USRPs.
 +
|style="width: 10%; text-align: center;"| Sam Reiter
 +
|-
  
|style="width: 10%; text-align: center;"| AN-642
+
 
|style="width: 30%;"| [[Using the RFNoC Replay Block]]
+
|style="width: 10%; text-align: center;"| AN-904
|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: 30%;"| [[USRP X Series Quick Start (Daughterboard Installation)]]
|style="width: 10%; text-align: center;"| Wade Fife
+
|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-936
 +
|style="width: 30%;"| [[Verifying the Operation of the USRP Using UHD and GNU Radio]]
 +
|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.
 +
|style="width: 10%; text-align: center;"| Neel Pandeya
 +
|-
  
  
 
|}
 
|}

Revision as of 13:49, 15 April 2021

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(s)
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-111 UHD Device Eraser and Certificates of Volatility This AN provides an overview of the UHD Device Eraser utility as well as links to the Certificates of Volatility for all Ettus products. Michael Dickens
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-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-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-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-178 Resolving Audio Codec Enumeration Issues On The E31x This application note covers Resolving Audio Codec Enumeration Issues On The E31x. Logan Fagg
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-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-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-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-305 X300/X310 Device Recovery This application note covers the details of recovering the USRP X300/X310 via JTAG. 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-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-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-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-325 N200/N210 Device Recovery This application note covers the details of recovering your N200/N210. Neel Pandeya
Nate Temple
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-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-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-400 Getting Started with RFNoC in UHD 4.0 This AN describes how use RFNoC in UHD 4.0, including building FPGA images for RFNoC, changing which blocks are included in the build, and creating your own RFNoC blocks. Sugandha Gupta
Brent Stapleton
Wade Fife
AN-401 RFNoC 4 Migration Guide Guide on how to migrate RFNoC blocks written for RFNoC 3 to RFNoC 4. Jonathon Pendlum
AN-444 Using B200/B210/B200mini/B205mini on OSX / macOS with UHD This AN provides a basic guide for what to expect when using a USB-based B-series USRP on OSX / macOS with UHD. Michael Dickens
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-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-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-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-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-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-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-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-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-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-621 Troubleshooting N310/N320 Device Discovery Issues Troubleshooting guide to intended to cover some of the most commonly recommended steps to enable USRP connectivity. Serves as a supplement to the N3xx getting started guide. Sam Reiter
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-638 Running UHD and GNU Radio on NI USRP-RIO This AN explains the process to updating your NI USRP-RIO to run UHD and GNU Radio. Neel Pandeya
Nate Temple
Michael Dickens
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-666 Mean Time Between Failure (MTBF) of USRPs and Daughterboards This AN provides information about the MTBF for USRPs and daughterboards Michael Dickens
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-732 USRP E312 Battery Replacement Instructions This application note covers replacing the battery cell inside the USRP E312. Robin Coxe
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-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
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 with UHD 3. Martin Braun
Nicolas Cuervo
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-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-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-883 Synchronizing USRP Events Using Timed Commands in UHD Guide to cover common USRP synchronization scenarios and deep-dive into the use of timed commands within USRPs. Sam Reiter
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-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