AI-Based Spectrum Sensing with Nvidia Jetson and USRP

From Ettus Knowledge Base
Revision as of 02:52, 5 November 2025 by DrBharatAgarwal (Talk | contribs)

Jump to: navigation, search

Application Note Number and Authors

AN-811

Authors

Bharat Agarwal and Neel Pandeya

Executive Summary

This application note presents a complete framework for real-time spectrum sensing using NI Universal Serial Radio Peripheral (USRP) Software-Defined Radios (SDRs) and NVIDIA Jetson or standard x86 compute platforms. The framework is not limited to a single USRP model—the X410, X310, and B2xx series (e.g., B206) can all be used as transmitters or receivers depending on the deployment scenario. The solution leverages the NI-RF Data Recording API to enable scalable RF data acquisition, SigMF-compliant metadata tagging, and seamless integration with machine learning workflows.

The document outlines three core usage scenarios:

  1. x86-Based Development Workflow: Using a workstation or server-class x86 machine, paired with high-end USRPs such as the X410 or X310, the system supports wideband spectrum sensing (up to 400 MHz instantaneous bandwidth per channel). This configuration is ideal for laboratory development, algorithm training, and high-throughput dataset generation.
  2. Jetson-Based Embedded Sensing (Primary Use Case): Using an NVIDIA Jetson platform as the host (e.g., AGX Orin) with a compact B206 SDR as receiver and an X410 as transmitter, the system delivers efficient edge inference with GPU acceleration. Although the B206 limits the instantaneous bandwidth to 56 MHz, this configuration emphasizes portability, low power, and real-time embedded operation.
  3. User-Defined Dataset Integration: In addition to live spectrum sensing, the framework supports integration and generation of user-defined datasets. This functionality extends the applicability of the system beyond real-time capture, enabling flexible experimentation, reproducibility, and seamless AI/ML dataset preparation. Two complementary capabilities are supported:
    1. SigMF Dataset Recording
      • All captured RF data is stored in the Signal Metadata Format (SigMF).
      • SigMF pairs raw IQ samples (.sigmf-data) with a corresponding metadata file (.sigmf-meta) in JSON format.
      • Metadata describes acquisition parameters such as frequency, bandwidth, gain, device type, timestamps, and scenario context.
      • Being human-readable and portable, SigMF datasets can be used across a wide range of software environments, making them ideal for wireless research, spectrum monitoring, AI/ML training for 6G, and regulatory validation.
      • Example: A spectrum sensing session at 3.5 GHz, 20 MHz bandwidth, and 10-second duration will result in a SigMF-compliant dataset ready for further processing or ML-based classification.
    2. Continuous Waveform Playback with User-Defined Files
      • The platform supports continuous transmission and replay of user-defined waveforms in TDMS or MATLAB (.mat) formats.
      • This allows testing with standard-compliant signals such as 5G NR, LTE, Radar, or Wi-Fi, or custom-designed waveforms.
      • By replaying predefined waveforms, researchers can benchmark algorithms, validate coexistence scenarios, and reproduce experiments consistently across testbeds.
      • Example: A MATLAB-generated LTE downlink frame can be continuously transmitted via an X410 while a B206 or X310 records the received signal in SigMF format for classification.

Together, these capabilities ensure that the NI-RF Data Recording API can handle both dataset creation (SigMF-based recording) and waveform-driven experimentation (TDMS/MAT playback), thereby covering the entire pipeline from signal generation to ML-ready dataset production.

By combining NI's reliable SDR hardware with NVIDIA's efficient edge compute platforms and a unified data interface, this solution supports a wide range of spectrum intelligence applications—from interference detection and dynamic spectrum access to embedded RF analytics. The methodology enables scalable deployment from lab to field, supporting real-time insights and long-term data collection in a streamlined, modular pipeline.


USRP B206 Overview

NI USRP B206 Software Defined Radio

The USRP B206 is a compact, low-cost SDR developed by NI / Ettus Research. It supports full-duplex operation with one transmit and one receive channel, making it ideal for a variety of wireless communication and sensing applications. The B206 covers a wide RF frequency range from 70 MHz to 6 GHz and supports up to 56 MHz of instantaneous bandwidth. This makes it suitable for applications such as spectrum sensing, dynamic spectrum access, and cognitive radio.

The device connects to a host system via a high-speed USB 3.0 interface, which enables data rates sufficient for wideband real-time signal acquisition and transmission. It also supports USB 2.0 with reduced performance. The B206 includes a Xilinx Spartan-6 FPGA for onboard signal processing and is powered either through USB or an external DC supply, the latter being preferred for optimal RF performance.

The USRP B206 is compatible with both x86 and ARM-based hosts, including embedded platforms like the NVIDIA Jetson series. This enables portable and energy-efficient deployment of spectrum sensing pipelines at the network edge. It is fully supported by the open-source UHD and integrates with popular SDR development tools such as GNU Radio, MATLAB, and LabVIEW.

Typical use cases for the B206 include real-time spectrum monitoring, wireless signal classification using machine learning, prototyping of 4G/5G systems, and SDR education and training. Its compact size and flexible software support make it an excellent choice for both laboratory research and embedded field deployments.

Key Features of the USRP B206:

  • RF Capabilities: 1 TX, 1 RX, independently tunable, RF transceiver, 70 MHz to 6 GHz, up to 56 MHz bandwidth
  • Programmable Logic: FPGA: Xilinx Spartan-6 XC6SLX150
  • Software: UHD 4.9 or later, GNU Radio, C/C++ and Python
  • Synchronization: REF (external 10 MHz or PPS reference)
  • Digital Interfaces: USB 3.0, GPIO (8 I/O lines with 3.3 V I/O voltage), and JTAG
  • Power, form factor: 5 V DC, 0.9 A maximum; Board-only: 84.3 mm × 51.0 mm × 8.7 mm; Enclosed: 84.9 mm × 55.7 mm × 19.8 mm

NI-RF Data Recording API Overview

The NI-RF Data Recording API is an open-source, Python-based framework developed by National Instruments (NI) in collaboration with the Genesys Lab at Northeastern University. It is designed to streamline RF data collection using NI USRP SDRs, with support for structured metadata via the Signal Metadata Format (SigMF).

Purpose and Scope

This API enables efficient recording, labeling, and replay of real-world RF signals. It is particularly suited for generating datasets used in AI/ML workflows, wireless research, and spectrum monitoring. The framework abstracts low-level UHD interactions, allowing users to define RF parameters through JSON or YAML configuration files.

Key Features

  • Support for both signal transmission and reception using NI USRP hardware.
  • Native recording in SigMF format, capturing both IQ samples and rich metadata.
  • Python-based, modular architecture supporting custom extensions and automation.
  • Multi-SDR support via coordinated configuration files.
  • Sample waveform libraries included (e.g., LTE, NR, radar, Wi-Fi) in TDMS/MAT formats.
  • Utility scripts for standalone use: transmit, receive, replay, or continuous capture.

System Requirements

The API has been validated on Ubuntu 22.04 systems with the following dependencies:

  • At least one compatible NI USRP device (e.g., B206, X310, X410).
  • Installed UHD drivers with Python bindings.
  • Python 3.x and required libraries (e.g., NumPy, PyYAML).
  • Optional Docker environment for containerized deployment.

Relevance to Our Use Cases

In this application note, we explore three deployment scenarios of the NI-RF Data Recording API:

  1. x86-based Spectrum Sensing: Using the API on a desktop or server-class system, the USRP B206 is configured to perform spectrum capture, and the data is saved in SigMF format. This setup is optimal for high-throughput and lab-based development environments.
  2. Embedded Jetson Platform: The API is deployed on an NVIDIA Jetson device interfaced with the USRP B206 over USB 3.0. This enables compact, power-efficient, and real-time spectrum sensing at the edge. Onboard GPU resources are leveraged for FFT computation and ML inference.
  3. User-Defined Dataset Integration: The API provides flexible support for user-defined datasets through two complementary capabilities:
    1. Importing Pre-Generated Data: Users can seamlessly import and tag custom IQ recordings (e.g., SigMF-compliant files or previously captured spectrum data) into the repository. This enables integration of external datasets for benchmarking, anomaly detection, or reproducible research.
    2. Data Lake Storage for AI/ML Pipelines: All captured and imported datasets can be stored in a structured data lake, significantly simplifying automated dataset selection, management, and preprocessing. This facilitates streamlined workflows for AI/ML model design, training, and validation in spectrum sensing and 6G wireless research.

The NI-RF Data Recording API provides a flexible, hardware-agnostic foundation for both live RF capture and offline dataset handling, making it central to spectrum intelligence and edge-aware signal processing workflows.


Reference Architecture for Spectrum Sensing

To support flexible and scalable RF data collection workflows, we propose a dual-mode reference architecture that demonstrates spectrum sensing using NI USRP hardware with two compute platforms: a high-performance x86 host and an embedded NVIDIA Jetson device. Both configurations utilize the NI-RF Data Recording API to capture, store, and manage RF data in SigMF format. The hardware setup supports real-time signal acquisition, tagging, and streaming for downstream machine learning or signal intelligence tasks.

x86-Based High-Performance Architecture

x86-based spectrum sensing architecture using NI USRP B206 and X410

In this high-performance lab-based deployment, a desktop-class x86 host system is used. The USRP X410 (or alternatively the X310) serves as the receiver, connected to the workstation via a 10 GbE Ethernet interface to support high-throughput data streaming. The transmitter is also an NI USRP X410, connected through a 10 GbE link via a network switch. A 30 dB attenuator is inserted between the TX and RX paths to protect the RF front-end from saturation during close-proximity transmission.

This configuration demonstrates the full high-performance capability of the platform, enabling wideband spectrum sensing and scalable data capture.

Host System Specifications:

  • Operating System: Ubuntu 22.04
  • UHD Compatibility: The NI-RF Data Recording API supports UHD ≥ 4.2. Most devices such as the X410 or X310 work with older versions, but the B206 requires UHD ≥ 4.9.
  • Processor: Intel Xeon w7-2495X (24 cores, 2.5 GHz)

This setup is suited for high-throughput spectrum recording, algorithm development, and dataset generation in a lab environment. It offers large storage capacity, stable power, and CPU-intensive post-processing capabilities.

Jetson-Based Embedded Architecture

Jetson-based spectrum sensing architecture using NI USRP B2x0 and X410

In this configuration, an NVIDIA Jetson module serves as the edge processing unit. The Jetson connects to a USRP B2x0 (e.g., B206) over a USB 3.0 interface, acting as the spectrum sensor (receiver). A USRP X410 acts as the transmitter, linked via a LAN switch. A 30 dB attenuator is used between the TX and RX paths to prevent RF front-end saturation during close-proximity transmission.

The Jetson executes the RF data acquisition pipeline and leverages onboard GPU resources to perform high-speed FFTs, signal classification, and real-time metadata tagging. A display, keyboard, and mouse connect directly for standalone operation.

'Jetson System Specifications:

  • Operating System: Ubuntu 22.04 with JetPack 6.2.1
  • UHD Version: 4.9
  • Processor: NVIDIA Jetson AGX Orin 64 GB

This configuration is ideal for low-power, field-deployable sensing nodes where edge inference, minimal latency, and portability are required. The NI-RF Data Recording API runs natively on ARM-based Jetson, ensuring consistent data acquisition across architectures.

Common Features Across Architectures

Both architectures support:

  • Real-time IQ sample recording and metadata tagging using NI-RF Data Recording API
  • Integration with SigMF-compliant datasets
  • Wideband RF capture across 70 MHz–6 GHz (with B206)
  • Configurable gain, center frequency, bandwidth, and LO offsets via JSON/YAML files

The dual-platform design allows researchers to prototype, validate, and deploy spectrum sensing pipelines in a variety of scenarios—from power-constrained edge sensing to scalable, cloud-connected research environments.


Bill of Materials

This section lists the hardware and software components required to replicate the spectrum sensing setup described in the reference architectures.

Jetson-Based Embedded Spectrum Sensing Setup

  • NI USRP B206 SDR (Receiver)
    • Frequency Range: 70 MHz – 6 GHz
    • Bandwidth: up to 56 MHz
    • Interface: USB 3.0
  • NI USRP X410 SDR (Transmitter)
    • Frequency Range: up to 7.2 GHz
    • Bandwidth: up to 1 GHz per channel
    • Interface: 10 GbE (SFP+)
  • NVIDIA Jetson AGX Orin 64 GB Developer Kit (Edge Host)
    • GPU: 2048-core Ampere GPU
    • Interfaces: USB 3.0, 10 Gb Ethernet
    • OS: Ubuntu 22.04 (ARM64) with JetPack 6.2.1
  • Display and Input Devices
    • Monitor (DisplayPort or HDMI)
    • USB Keyboard and Mouse
  • 30 dB RF Attenuator
    • Protects RX frontend during loopback or close-range transmission
  • Network Switch (Gigabit)
    • Routes LAN traffic between Jetson and X410
  • RF Cables and Antennas or Dummy Load
  • Power Supply for USRP X410 and Jetson
  • USB 3.0 Cable (for Jetson–B206 interface)


x86-Based Spectrum Sensing Setup

  • NI USRP B206 SDR (Receiver)
  • NI USRP X410 SDR (Transmitter)
  • x86 Workstation or Server (Host PC)
    • CPU: Intel Xeon w7-2495X, 24 cores, 2.5 GHz
    • OS: Ubuntu 22.04 LTS
    • UHD: Version 4.8 or newer
    • RAM: Minimum 32 GB recommended
    • Storage: SSD for high-speed IQ data logging
  • Display and Input Devices
    • Monitor (DisplayPort or HDMI)
    • USB Keyboard and Mouse
  • 30 dB RF Attenuator
  • USB 3.0 Cable (PC–B206 interface)
  • Ethernet Cables (PC and X410 to switch)
  • Network Switch (Gigabit or 10 GbE)
  • Coaxial Cable (RF connection between TX and RX)


Software Requirements (Common)

  • UHD (USRP Hardware Driver)
    • Version 4.9 recommended
    • Installed natively
  • Python 3.x Environment
    • Required packages: numpy, pyyaml, sigmf, uhd, etc.


Hardware Requirements

To implement the proposed spectrum sensing architecture, the following hardware components are required. The selected devices are chosen for their compatibility with the NI-RF Data Recording API, support for UHD drivers, and ability to perform high-speed RF acquisition and processing.

NI USRP B206 (Receiver SDR)

The USRP B206 is a low-cost, full-duplex software-defined radio with wide RF coverage and USB 3.0 connectivity, making it ideal for spectrum sensing tasks.


NI USRP X410 (Transmitter SDR)

The USRP X410 is a high-performance, 4-channel SDR capable of wideband signal transmission and reception. It supports 10 GbE connectivity and real-time FPGA processing.


NVIDIA Jetson AGX Orin 64 GB Developer Kit (Edge Host)

The Jetson AGX Orin series provides a powerful embedded GPU platform for edge AI and RF signal processing.

  • GPU: NVIDIA Ampere architecture
  • RAM: 32 GB / 64 GB LPDDR4/5
  • Connectivity: USB 3.0, Ethernet, GPIO
  • OS Support: Ubuntu 20.04 / 22.04 (ARM64)
  • Purchase Link: https://store.nvidia.com/jetson/store/


Network Switch (Gigabit or 10 GbE)

A managed or unmanaged Ethernet switch is required to route LAN traffic between the Jetson or x86 host and the USRP X410.


High-Performance x86 Host (Optional for Lab Use)

An x86 workstation is recommended for development, high-throughput data collection, or as an alternative to Jetson in a lab environment.

  • Processor: Minimum specification of an 8-core CPU at 3 GHz or higher (e.g., Intel Xeon or equivalent). Higher core counts (e.g., 24-core Xeon W7-2495X) can improve throughput and parallel data processing but are not mandatory.
  • RAM: 64 GB or more
  • Storage: NVMe SSD for high-speed data logging
  • Operating System: Ubuntu 22.04 LTS
  • Form Factor: Tower workstation or server


RF Accessories

  • RF Coaxial Cables (SMA)
  • 30 dB Attenuator – Protects RX during close TX–RX loopback tests
  • Antennas (Wideband or band-specific)
  • Dummy Load (for isolated lab TX tests)
  • USB 3.0 Cable (for USRP B206)
  • Ethernet Cables (Cat 6 or SFP+ DAC for X410)
  • Power Supplies:
    • Jetson: 19 V / 4.74 A adapter (usually included)
    • X410: External DC or rack supply per specifications


Software Requirements

This section outlines the required software components for enabling spectrum sensing using the NI-RF Data Recording API with USRP B206/X410 and NVIDIA Jetson or x86 hosts. These tools are compatible across both embedded and desktop-class platforms and support real-time signal acquisition and metadata tagging in SigMF format.

Ubuntu Operating System


NI-RF Data Recording API

  • Description: Open-source Python API developed by NI and the Genesys Lab (Northeastern University) for recording and labeling RF data in SigMF format using USRP devices.
  • Features: Configurable YAML/JSON setups, multi-SDR coordination, SigMF conversion, supports transmission/reception workflows.
  • Repository: https://github.com/ni/ni-rf-data-recording-api


UHD – USRP Hardware Driver

  • Description: The official driver and API library for controlling and interfacing with all NI/Ettus USRP SDR hardware. Required for low-level communication between Python and the hardware.
  • Version: The NI-RF Data Recording API requires a UHD version that supports the selected USRP device:
    • For X410 (and other X-Series): UHD ≥ 4.2 (first stable release UHD 4.4 recommended)
    • For B206: UHD ≥ 4.9 required
  • Repository: https://github.com/EttusResearch/uhd
  • Install Guide: UHD and GNU Radio Install Guide


Python Environment

  • Version: Python 3.10.12 or newer
  • Required Packages:
    • numpy, pyyaml, sigmf, uhd, scipy, matplotlib, etc.
  • Package Manager: pip or conda
  • Recommended Setup: Create a Python virtual environment for isolation and reproducibility.
  • Download Link: https://www.python.org/


SigMF Library (Python)

  • Description: Used for generating and parsing metadata in the Signal Metadata Format (SigMF), enabling dataset interoperability and ML dataset labeling.
  • Supported Version: Validated with SigMF 1.0.0 (later versions such as 1.1.x or 1.2.x introduce major changes and have not been validated).
  • Repository: https://github.com/gnuradio/sigmf-numpy
  • Installation Command: pip install sigmf==1.0.0
  • Reference: For more details, see the NI RF Data Recording API Getting Started Guide.