matlab-transmit-capture-usrp

Transmit and capture RF waveforms with NI USRP radios using MATLAB Wireless Testbench.

995|122|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-transmit-capture-usrp
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: matlab-transmit-capture-usrp
Source: https://github.com/matlab/matlab-agentic-toolkit/tree/main/skills-catalog/wireless-communications/matlab-transmit-capture-usrp
Command: npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-transmit-capture-usrp

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Configuring NI USRP radios for over-the-air transmission and IQ data capture in MATLAB involves many object types, property naming conventions, buffer limits, and gain settings that are easy to get wrong, leading to dropped samples, clipped signals, and wasted debugging time.

Core Features & Use Cases

  • Waveform Transmission: Generate test tones, OFDM-like signals, or load pre-generated waveforms and transmit them once or continuously using basebandTransceiver, basebandTransmitter, or basebandReceiver objects.
  • IQ Data Capture: Perform foreground or background captures with duration-based lengths, direct-to-host streaming for long acquisitions, and file-based saving for data exceeding RAM.
  • Loopback and Multi-Antenna Testing: Run full TX/RX loopback verification on a single radio and configure MIMO setups with per-antenna gain, frequency, and antenna port naming for X410, X310, N310, N320, and E320 devices.
  • Use Case: An engineer validating a 5G NR signal chain can generate a waveform, transmit it continuously at 3.5 GHz, capture 10 ms of IQ data on the same radio, and verify no samples were dropped, all with correct gain staging and data type handling.

Quick Start

Ask your AI agent to transmit a test tone and capture IQ data on your USRP radio using MATLAB Wireless Testbench, specifying your saved radio configuration name, center frequency, and sample rate.

Frequently Asked Questions about matlab-transmit-capture-usrp

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I transmit and capture a waveform with a USRP radio in MATLAB?

Create a basebandTransceiver object from a saved radio configuration, set the sample rate, center frequencies, and gains, then call transmit with your normalized waveform and capture with a duration such as milliseconds(10). The capture function returns IQ data, a timestamp, and a dropped-samples flag.

What is the difference between basebandTransceiver, basebandTransmitter, and basebandReceiver?

basebandTransceiver handles transmit, capture, or both and is the default choice for most workflows. basebandTransmitter and basebandReceiver are standalone single-direction objects used when separate scripts need independent TX or RX control, and they use unprefixed property names like RadioGain and CenterFrequency.

Which USRP radios does MATLAB Wireless Testbench support?

Wireless Testbench supports NI USRP X410, X310, N310, N320, N321, N300, X300, and E320 radios. Each device has different antenna port names and onboard buffer capacities, which affect multi-antenna configuration and maximum capture duration.

Why does fft fail on captured USRP IQ data in MATLAB?

The CaptureDataType property defaults to int16, and most MATLAB signal-processing functions like fft, filter, and pwelch do not accept complex int16 data. Set CaptureDataType to "double" before capturing, or cast the data with double(data) afterward.

How do I capture more data than fits in the USRP onboard buffer?

Set UseRadioBuffer=false to stream samples directly to the host over the network, enabling arbitrarily long captures. Onboard buffer limits range from about 8.7 seconds on X300/X310 to 34.8 seconds on X410 at 30.72 MHz, and direct-to-host requires sustained network throughput.

Why am I getting dropped samples during USRP capture?

Dropped samples occur when the host or network cannot sustain the required throughput. Run radioSetupWizard to optimize host network settings, reduce the sample rate or antenna count, or use the default radio buffer mode instead of direct-to-host streaming.