Main Content

basebandReceiver

Configure SDR as baseband receiver

Description

Use the basebandReceiver object to configure the specified software-defined radio (SDR) as a baseband receiver to capture raw IQ data from the air.

This diagram shows a conceptual overview of capturing radio signals in Wireless Testbench™ using a radio that you configure with this object. The onboard data buffering ensures contiguous data capture.

Arrows appoint the path of the captured data. The captured data path consists of radio antenna, onboard memory, and MATLAB.

Creation

Description

example

bbrx = basebandReceiver(radio) creates a baseband receiver configuration object for the specified radio radio.

Note

The object requires exclusive access to radio hardware resources. Before creating this object, clear any existing Wireless Testbench object associated with the specified radio from the workspace.

bbrx = basebandReceiver(radio,Name=Value) sets properties using one or more name-value arguments. For example, CaptureDataType="double" sets the data type of the returned captured data to double.

Input Arguments

expand all

Radio setup configuration, specified as a string scalar. To create a radio setup configuration, set up your radio and save your radio setup configuration using the Radio Setup wizard. Call the radioConfigurations function to list all saved radio setup configurations. For more information, see Connect and Set Up NI USRP Radios.

Example: "MyRadio" indicates that you saved a radio setup configuration under the name MyRadio in the Radio Setup wizard.

Properties

expand all

Radio center frequency in Hz, specified as one of these options.

  • Positive numeric scalar — The object applies this value by scalar expansion to each antenna in the Antennas property.

  • Numeric array — The object applies the ith array element value to the ith antenna in the Antennas property.

The valid center frequency range depends on the radio device.

Radio DeviceCenter Frequency

USRP™ N310

1 MHz to 6 GHz

USRP N320

1 MHz to 6 GHz

USRP N321

1 MHz to 6 GHz

Note

When setting this property for multiple antennas on the USRP N310 radio, consider these hardware characteristics.

  • The antenna ports on the RF0 and RF1 radio channels use the same center frequency. Therefore, set identical center frequency values for the antennas specified as "RF0:RX2" and "RF1:RX2".

  • The antenna ports on the RF2 and RF3 radio channels use the same center frequency. Therefore, set identical center frequency values for the antennas specified as "RF2:RX2" and "RF3:RX2".

Data Types: double

Capture radio antennas, specified as one of these options.

  • String scalar — Specify use of single antenna.

  • String array — Specify use of multiple antennas.

Use this table to identify a supported radio antenna port on the radio device and the corresponding string constant that you can specify for this property.

Radio DeviceSupported Antenna PortValid String Scalar

USRP N310

RF0 channel: RX2 port"RF0:RX2" (default)
RF1 channel: RX2 port"RF1:RX2"
RF2 channel: RX2 port"RF2:RX2"
RF3 channel: RX2 port"RF3:RX2"

USRP N320

RF0 channel: RX2 port"RF0:RX2" (default)
RF1 channel: RX2 port"RF1:RX2"

USRP N321

RF0 channel: RX2 port"RF0:RX2" (default)
RF1 channel: RX2 port"RF1:RX2"

Note

When you update this property, the execution time of the next object function call increases by a few seconds.

Example: Antennas=["RF0:RX2","RF1:RX2"] specifies two capture antennas.

Data Types: string

Capture radio gain in dB, specified as one of these options.

  • Positive numeric scalar — The object applies this value by scalar expansion to each antenna that you specify in the Antennas property.

  • Numeric array — The object applies the ith array element value to the ith antenna in the Antennas property.

The valid gain range depends on the radio device.

Radio DeviceCapture Radio Gain

USRP N310

0 dB to 75 dB

USRP N320

0 dB to 60 dB

USRP N321

0 dB to 60 dB

Data Types: double

Baseband sample rate in Hz, specified as a positive numeric scalar. The object automatically selects the master clock rate available for the radio based on the specified sample rate. Therefore, the valid range for the sample rate depends on the master clock rate available on the radio. The sample rate must be less than or equal to MCR/2 or equal to MCR, where MCR is the master clock rate that the object selects. For more information, see Baseband Sample Rate in NI USRP Radios.

Radio DeviceSample RateMaster Clock Rate

USRP N310

120,471 Hz to 153.6 MHz

153.6e6 (default)

122.88 MHz

125.00 MHz

153.60 MHz

USRP N320

196,078 Hz to 250 MHz

250e6 (default)

200.00 MHz

245.76 MHz

250.00 MHz

USRP N321

196,078 Hz to 250 MHz

250e6 (default)

200.00 MHz

245.76 MHz

250.00 MHz

Note

When you update this property, the execution time of the next object function call increases by a few seconds.

Data Types: double

Data type of the captured data, specified as "int16", "double", or "single". Use this property to set the data type of the captured data that the capture object function returns.

Note

When you update this property, the execution time of the next object function call increases by a few seconds.

Data Types: string

Behavior of the capture object function upon dropped samples, specified as one of these values.

  • "error" — The object function stops with an error message.

  • "warning" — The object function displays a warning message.

  • "none" — The object function ignores dropped samples.

Data Types: string

Object Functions

captureCapture IQ data using baseband receiver or transceiver

Examples

collapse all

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

bbrx = basebandReceiver("MyRadio")
bbrx = 
  basebandReceiver with properties:

               RadioGain: 10
         CenterFrequency: 2.4000e+09
              SampleRate: 250000000
                Antennas: "RF0:RX2"
    DroppedSamplesAction: "error"
         CaptureDataType: "int16"

Set the baseband sample rate and center frequency.

bbrx.SampleRate = 122.88e6;
bbrx.CenterFrequency = 2.2e9;

Capture 3 ms of IQ data with the radio associated with the baseband receiver object using the default antenna.

[data,~] = capture(bbrx,milliseconds(3));

Version History

Introduced in R2022a