matlab-transmit-capture-usrp
Transmit and capture RF waveforms using Wireless Testbench with NI USRP radios (X410, X310, N310, N320, N321, N300, X300, E320). Use when generating test signals, transmitting over the air, capturing IQ data, performing loopback tests, configuring multi-antenna setups, or troubleshooting dropped samples and gain settings. Covers basebandTransceiver, basebandTransmitter, basebandReceiver, continuous and once transmit modes, foreground and background capture, and UseRadioBuffer options. Also use when the user mentions transmit waveform, capture signal, IQ data, loopback, RF gain, sample rate, or
npx skills add matlab/matlab-agentic-toolkit --skill matlab-transmit-capture-usrp --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Instructs an agent to help users generate, transmit, and capture RF waveforms with NI USRP radios using Wireless Testbench. It covers default object choice (basebandTransceiver), configuring sample rate, center frequencies, and gains, preparing complex waveforms, performing both single-shot and continuous transmissions, and capturing IQ data with foreground or background modes. It also details using radio buffers vs direct-to-host captures, handling data types, and loopback testing.
How it works
- Create a radio object and a baseband object (default to basebandTransceiver). Optionally preload FPGA code.
- Configure direction-specific or standalone properties (SampleRate, TransmitCenterFrequency, CaptureCenterFrequency, TransmitRadioGain, CaptureRadioGain) as needed.
- Prepare a complex waveform vector or matrix; ensure values are within [-1, 1], with even-numbered rows, and correct data type. If using Preload, pass TransmitDataType to constructor.
- Transmit: use transmit(bbtrx, txWaveform, "once") for single-shot or transmit(bbtrx, txWaveform, "continuous") for ongoing transmission; stop with stopTransmission(bbtrx).
- Capture: use foreground capture with data, timestamp, droppedSamples = capture(bbtrx, duration). Choose between foreground and background capture, SaveLocation, and UseRadioBuffer to manage where data is stored. Cast data as needed (CaptureDataType defaults to int16, with guidance to cast to double if needed).
- Background capture: start with capture(..., Background=true), poll isCapturing(bbtrx) or use CompletionFcn, then retrieve via captureOutputs(bbtrx) or file path when SaveLocation is used.
- Use UseRadioBuffer true by default for reliability; set false for long captures exceeding onboard memory, and follow capacity guidance per device (E320/N-series ~2^29 samples, X300/X310 ~2^28, X410 ~2^30).
- Loopback: set TransmitCenterFrequency and CaptureCenterFrequency to the same value to enable internal coupling, and perform transmit then capture as described.
When to use it
- When transmitting a waveform over the air or capturing IQ data
- For loopback tests, multi-antenna configurations, continuous transmission, or long-duration captures
- When troubleshooting dropped samples, gain settings, or RF configurations
- When a user mentions transmit waveform, capture signal, IQ data, loopback, RF gain, sample rate, or antenna configuration
What it can touch
- MATLAB/MathWorks Wireless Testbench APIs and properties:
- Object creation: basebandTransceiver(radio) and optional Preload=true, TransmitDataType
- Properties: SampleRate, TransmitCenterFrequency, CaptureCenterFrequency, TransmitRadioGain, CaptureRadioGain, DropedSamplesAction, CaptureDataType, UseRadioBuffer, SaveLocation, Background, CompletionFcn
- Functions: transmit, stopTransmission, capture, stopCapture, captureOutputs, radioConfigurations, isCapturing
Caveats
- Requires a saved radio configuration before use; if none, guide user to matlab-set-up-usrp-radio (implied by prerequisites).
- CaptureDataType defaults to int16; casting to double may be necessary for many signal-processing operations.
- Direct-to-host captures depend on sustained network throughput and may require reducing sample rate, antennas, or using radioSetupWizard to optimize host network settings.
- Some workflows (FPGA targeting, intelligent capture with preamble/energy detection) are noted as NOT for this skill; refer to related skills.
# Transmit and Capture Waveforms with Wireless Testbench Generate, transmit, and capture RF waveforms using NI USRP radios in MATLAB. ## When to Use - Transmitting a waveform (test tone, standard-compliant signal, custom IQ) over the air - Capturing IQ data from a frequency band - Loopback testing (transmit and capture on the same radio) - Multi-antenna transmit or capture - Continuous transmission for prolonged testing - Background capture for long-duration acquisition ## When NOT to Use - Setting up or connecting a USRP radio for the first time — use the **matlab-set-up-usrp-radio** skill - FPGA targeting workflows — see [Target NI USRP Radios](https://www.mathworks.com/help/wireless-testbench/target-ni-usrp-devices.html) - Intelligent capture with preamble/energy detection — see [Spectrum Monitoring](https://www.mathworks.com/help/wireless-testbench/spectrum-monitoring.html) - Multi-device synchronization — see [Radio Management](https://www.mathworks.com/help/wireless-testbench/radio-management.html) ## Prerequisites A saved radio configuration must exist before using any transmit/capture object. List available configurations and let the user choose which one to use: ```matlab
- When to Use
- When NOT to Use
- Prerequisites
- Choosing the Right Object
- Workflow
- Step 1: Create the Radio Object
- Step 2: Configure Properties
- Step 3: Prepare the Transmit Waveform
- Step 4: Transmit
- Step 5: Capture
- Step 6: Loopback Test (Transmit + Capture on Same Radio)
- Step 7: Multi-Antenna Configuration
- Troubleshooting
- Key Functions Reference
What does the matlab-transmit-capture-usrp skill do?
Transmit and capture RF waveforms using Wireless Testbench with NI USRP radios (X410, X310, N310, N320, N321, N300, X300, E320). Use when generating test signals, transmitting over the air, capturing IQ data, performing loopback tests, configuring multi-antenna setups, or troubleshooting dropped samples and gain settings. Covers basebandTransceiver, basebandTransmitter, basebandReceiver, continuous and once transmit modes, foreground and background capture, and UseRadioBuffer options. Also use when the user mentions transmit waveform, capture signal, IQ data, loopback, RF gain, sample rate, or
How do I install it?
Run `npx skills add matlab/matlab-agentic-toolkit --skill matlab-transmit-capture-usrp --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From matlab/matlab-agentic-toolkit, a repository with 868 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
