Main Content

transmit

Transmit waveform over the air with an NI USRP radio device

Since R2024a

Add-On Required: This feature requires the Wireless Testbench™ Support Package for NI™ USRP™ Radios add-on.

Description

transmit(device,waveform,mode) transmits the IQ waveform waveform to the air using the specified NI™ USRP™ radio device. The transmission mode mode specifies continuous or single-shot transmission. To stop a continuous transmission, call stopTransmission(device).

example

Examples

collapse all

Create a usrp System object, specifying a radio setup configuration previously saved in the Radio Setup wizard.

device = usrp("MyRadio");

Program the FPGA with your bitstream and configure the hardware interfaces.

programFPGA(device,"myBitstream.bit","myDeviceTree.dts");
Loading bitstream to FPGA...
Loading bitstream to FPGA is now complete.
describeFPGA(device,"ModelName_wthandoffinfo.mat"); 

Specify a transmit antenna on the radio and transmitLength samples of memory allocation in the PL DDR Buffer..

transmitLength = 1000;
device.TransmitAntennas = "DB0:RF0:TX/RX0";
device.TransmitDDRAllocation = transmitLength;

Connect to the radio and apply radio front end properties.

setup(device);

Generate a random transmit waveform.

txWaveform = complex(randn(transmitLength,1),randn(transmitLength,1));

Transmit the generated waveform continuously.

transmit(device,txWaveform,"continuous");

Stop the continuous transmission after 5 seconds.

pause(5);
stopTransmission(device);

Input Arguments

collapse all

NI USRP radio device, specified as a usrp System object™.

IQ waveform to transmit, specified as one of these options:

  • Complex-valued column vector with even number of rows — Use this option to send an IQ waveform on a single transmit antenna.

  • Complex-valued matrix with even number of rows — Use this option to send IQ waveforms on multiple transmit antennas. The number of antennas specified by the TransmitAntennas property of the usrp object specified in the device input argument must match the number of matrix columns.

If you specify a waveform with a single or double data type, you must scale the transmit data sample values to the range [intmin('int16'),intmax('int16')].

The waveform length is limited by the TransmitDDRAllocation property of the usrp object specified in the device input argument.

Data Types: int16 | single | double
Complex Number Support: Yes

Transmission mode, specified as one of these options:

  • "continuous" — The function transmits the waveform waveform continuously to the air by repeating the data samples until you call stopTransmission(device).

  • "once" — The function transmits the waveform waveform once in a single-shot transmission.

Data Types: string

Version History

Introduced in R2024a