SDRu Receiver

Receive data from USRP® device

  • Library:
  • Communications Toolbox Support / Communications Toolbox Support Package for USRP(R) Radio

Description

The SDRu Receiver block supports communication between Simulink® and a Universal Software Radio Peripheral (USRP®[1] ) device, enabling simulation and development for various software-defined radio applications. The SDRu Receiver block and the USRP® board must be on the same Ethernet subnetwork.

The SDRu Receiver block receives signal and control data from a USRP® board using the Universal Hardware Driver (UHD) from Ettus ResearchTM. The SDRu Receiver block is a Simulink source that receives data from a USRP® board and outputs a column vector or matrix signal with a fixed number of rows. The first call to this block can contain transient values, in this case the resulting packets contain undefined data.

This block diagram illustrates how Simulink, the SDRu Transmitter and Receiver blocks, and the USRP® hardware interface.

When this block is called, it is possible that the host has not yet received any data from the USRP® hardware. The data length port, length, indicates when valid data is present. When the data length port contains a zero value, there is no data. To qualify the execution of part of the model, use the data length with an enabled subsystem.

If your computer is not connected to any USRP® hardware, you can still use this block to develop a model that propagates sample time and data type information. To propagate this information, select Simulation >> Update diagram.

For information about the USRP® hardware products that interface with this block, see the Ettus ResearchTM website.

This icon shows all ports, including optional ones:

Ports

Input

expand all

Center frequency setting in Hz, specified as a positive scalar.

Example: 88.9e6 tunes the receiver to a center frequency of 88.9 MHz.

Dependencies

To enable this port, set Source of center frequency to Input Port.

Data Types: double

Local oscillator (LO) offset in Hz, specified as a scalar.

Example: 10 sets the LO offset to 10 Hz.

Dependencies

To enable this port, set Source of LO offset to Input Port.

Data Types: double

Receiver gain setting in dB, specified as a scalar or vector. The valid gain range is from –4 dB to 71 dB and depends on the center frequency. An incompatible gain and center frequency combination returns an error from the radio hardware.

Example: 10 sets the receiver gain level to 10 dB.

Dependencies

To enable this port, set Source of gain to Input Port.

Data Types: double

Decimation factor, specified as an integer from 1 to 1024 with restrictions, based on the radio you are using.

ValueB-seriesN-seriesX-series

1

Not valid.

2

Acceptable when using int8 transport data type only.

3

Not valid.

Any number from 4 to 128

Any even number from 128 to 256

Any multiple of 4 from 256 to 512

Any multiple of 8 from 520 to 1024

Not valid.

Not valid.

The radio uses the decimation factor when downconverting the intermediate frequency (IF) signal to a complex baseband signal.

Dependencies

To enable this port, set Source of decimation factor to Input Port.

Data Types: double

Output

expand all

Output data received from the radio hardware, returned as a vector of complex values. The complex output data values range from -1 to 1.

Dependencies

To specify the base data type, use the Output data type parameter.

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

Length of the data received from the radio hardware, returned as a nonnegative integer. When this port contains a zero value, the received data is not valid. When this port contains a positive value, use the length port and an enabled subsystem driven by the length signal to qualify the execution of the model. For more information, see Apply Conditional Execution.

Data discontinuity flag, returned:

  • 0 — indicates that no data samples were lost.

  • 1 — indicates that data samples were lost.

Use this port as a diagnostic tool to determine real-time operation of the SDRu Receiver block. If your model is not running in real time, you can adjust parameters that reduce the number of transported samples. To approach or achieve real-time performance, you can decrease the baseband sampling rate or increase the decimation factor. For more information, see Detect Underruns and Overruns.

Dependencies

To enable this port, select Enable overrun output port.

Parameters

expand all

When you set block parameter values, the SDRu Receiver block first checks that the values have the correct data types. Even if the values pass those checks, the values can still be out of range for the radio hardware. In that case, the radio hardware sets the actual value as close to the specified value as possible. When you next synchronize the block with the radio hardware by clicking Info, a dialog box open to display the actual values along with other radio information.

If a parameter is listed as tunable, then you can change its value during simulation.

Radio Connection

Radio to configure, specified as one of USRP® platforms listed.

IP address of the radio hardware, specified as a dotted quad expression.

This parameter must match the physical IP address of the radio hardware assigned during hardware setup. See Guided USRP Radio Support Package Hardware Setup. If you configure the radio hardware with an IP address other than the default, update IP address accordingly.

The IP address list displays IP addresses for USRP® devices attached to the host computer. To specify another known dotted quad IP address, enter it directly into this field.

Dependencies

To enable this parameter, set Platform to N200/N210/USRP2, X300, or X310.

Serial number of radio hardware, specified as a character vector.

This parameter must match the serial number of the radio hardware assigned during hardware setup. See Guided USRP Radio Support Package Hardware Setup. If you configure the radio hardware with a serial number other than the default, update Serial number accordingly.

The Serial number list displays serial numbers for USRP® devices attached to the host computer.

Dependencies

To enable this parameter, set Platform to B200 or B210.

Refresh the list of all connected devices to update the IP address or Serial number list. The updated list retains the value in focus before Refresh Device List is selected, even if the device with that setting was disconnected.

Provides information about the Platform associated with IP address or Serial number. IP address applies for N-series and X-series devices and Serial number applies for B-series devices. When you select the Info button, a new dialog box opens with information about the specified device.

Radio Properties

Channel output mapping for radio or bundled radios, specified as a positive integer scalar or vector. This table shows valid values for various radio platforms.

Platform ValuePossible Channel mapping Value

N200/N210/USRP2

When IP address includes N IP addresses: 1-by-N row vector

B200

1

B210

1, 2, or [1 2]

X300

  • When IP address includes one IP address: 1, 2, or [1 2]

  • When IP address includes N IP addresses: 1-by-2N row vector

X310

When a scalar, 1 or 2 is specified, the device operates in SISO mode. When a vector is specified, the device operates in MIMO mode. When IP address includes multiple IP addresses, the channels defined by Channel mapping are sorted, first by the order in which the IP addresses appear in the list and then by the channel order within the same radio.

Example: If Platform is X300 and IP address contains 192.168.20.2, 192.168.10.3, then Channel mapping must be [1 2 3 4]. Channel mapping values 1 and 2 of the bundled radio refer to channels 1 and 2 of the radio with IP address 192.168.20.2. Channel mapping values 3 and 4 of the bundled radio refer to channels 1 and 2 of the radio with IP address 192.168.10.3.

Data Types: char

Select source of center frequency, specified as:

  • Dialog — Set the center frequency using the Center frequency (Hz) parameter.

  • Input port — Set the center frequency using the fc input port.

RF center frequency in Hz, specified as a nonnegative finite scalar or vector of nonnegative finite scalars. The valid range of this parameter depends on the RF daughterboard of the USRP® device.

  • For a single channel (SISO), specify the value for the center frequency as a scalar.

  • For multiple channels (MIMO) that use the same center frequency, specify the center frequency value as a scalar. The center frequency is set by scalar expansion.

  • For multiple channels (MIMO) that use different center frequencies, specify the values in a vector. The ith element of the vector is applied to the ith channel specified by Channel mapping.

    Note

    Center frequency for B210 with MIMO must be a scalar. You cannot specify the frequencies as a vector.

Tunable: Yes

Dependencies

To enable this parameter, set the Source of center frequency to Dialog.

Data Types: double

Select source of LO offset, specified as:

  • Dialog — Set the LO offset using the LO offset (Hz) parameter.

  • Input port — Set the LO offset using the LO offset input port.

Offset frequency for the local oscillator, specified as a scalar or vector. The valid range of this parameter depends on the RF daughterboard of the USRP® device.

As shown in this illustration, the local oscillator offset affects the intermediate center frequency in the USRP® hardware. It does not affect the received center frequency.

  • fRF represents the received RF frequency.

  • fcenter represents the center frequency specified by the block.

  • fLO offset is the local oscillator offset frequency.

  • Ideally, fRFfcenter = 0.

To move the center frequency away from interference or harmonics generated by the USRP® hardware, use the LO offset.

  • For a single channel (SISO), specify the value for the LO offset as a scalar.

  • For multiple channels (MIMO), the LO offset must be zero. This restriction is due to a UHD limitation. You can specify the LO offset as a scalar or as a vector.

Dependencies

To enable this parameter, set Source of LO offset to Dialog.

Select source of gain, specified as:

  • Dialog — Specify the gain using the Gain (dB) parameter.

  • Input port — Specify the gain using the gain input port.

Receiver gain in dB, specified as a scalar or vector. The valid gain range is from –4 dB to 71 dB and depends on the center frequency. An incompatible gain and center frequency combination returns an error from the radio hardware.

Set the value of gain based on the Channel Mapping configuration:

  • For a single channel (SISO), specify the gain as a scalar.

  • For multiple channels (MIMO) that use the same gain value, specify the gain as a scalar. The gain is set by scalar expansion.

  • For multiple channels (MIMO) that use different gains, specify the values in a row vector. The ith element of the vector is applied to the ith channel specified by Channel Mapping.

Tunable: Yes

Dependencies

To enable this parameter, set Source of gain to Dialog.

Data Types: double

Pulse per second (PPS) signal source, specified as:

  • Internal — Uses the internal PPS signal of the USRP® radio.

  • External — Uses the PPS signal from an external signal generator.

To synchronize the time for all channels of the bundled radios, provide a common external PPS signal to all the bundled radios and set PPS source to External.

Clock source, specified as:

  • Internal — Uses the internal clock signal of the USRP® radio.

  • External — Uses the 10 MHz clock signal from an external clock generator.

For B-series radios, the external clock port is labeled "10 MHz". For N2xx, USRP2®, and X-series radios, the external clock port is labeled "REF IN".

To synchronize the frequency for all channels of the bundled radios, provide a common external 10 MHz clock signal to all the bundled radios and set Clock source to External.

Master clock rate, specified as a scalar in Hz. The master clock rate is the A/D and D/A clock rate. The valid range of values for this property depends on the radio platform that is connected.

Platform ValuePossible Master clock rate (Hz) Value

N200/N210/USRP2

100e6 Hz. Read-only.

B200 or B210

From 5e6 to 56e6 Hz. When using B210 with multiple channels, the clock rate must be no higher than 30.72e6 Hz. This restriction is a hardware limitation for the B210 radios only when using two-channel operations.

Default value 32e6.

X300 or X310

120e6, 184.32e6, or 200e6 Hz.

Default value 200e6.

Dependencies

To enable this parameter, set Platform to B200, B210, X300, or X310.

Data Types: double

Select the source of the decimation factor, specified as:

  • Dialog — Sets the decimation factor using the Decimation factor parameter.

  • Input port — Sets the decimation factor using the decim input port.

Decimation factor, specified as an integer from 1 to 1024 with restrictions, based on the radio you are using.

ValueB-seriesN-seriesX-series

1

Not valid.

2

Acceptable when using int8 transport data type only.

3

Not valid.

Any number from 4 to 128

Any even number from 128 to 256

Any multiple of 4 from 256 to 512

Any multiple of 8 from 520 to 1024

Not valid.

Not valid.

The radio uses the decimation factor when downconverting the intermediate frequency (IF) signal to a complex baseband signal.

Dependencies

To enable this port, set Source of decimation factor to Dialog.

Data

Transport data type, specified as:

  • int16 — Uses 16-bit transport. Achieves higher precision than 8-bit transport.

  • int8 — Uses 8-bit transport. Uses a quantization step 256 times larger and achieves approximately two times faster transport data rate than 16-bit transport.

Specifying transport data rate data type as int16, assigns 16 bits for the in-phase component and 16 bits for the quadrature component, resulting in 32 bits for each complex sample of transport data.

Sample timing of the output signal, specified as a scalar.

For the Simulink sample time to correspond to real time, use the following formula Sample time = M / ADC clock rate, where M represents the value of the Decimation parameter.

  • For N200, N210, and USRP2 radios, the ADC clock rate is 1e8

  • For B200, B210, X300, and X310 radios, specify the ADC clock rate using the Master clock rate (Hz) parameter.

If the decimation factor changes during simulation, then the hardware data rate also changes but the Simulink sample time does not change.

Data type of the output signal, specified as Same as transport data type, double, or single. The complex output data values range from –1 to 1.

Number of samples per frame of the output signal that the object generates, specified as a positive integer scalar. This value optimally utilizes the underlying Ethernet packets, which have a size of 1500 8-bit bytes.

Option to enable burst mode. To produce a set of contiguous frames without an overrun or underrun to the radio, select Enable burst mode. Enabling burst mode helps you simulate models that cannot run in real time.

When burst mode is enabled, specify the desired amount of contiguous data using the Number of frames in burst parameter. For more information, see Detect Underruns and Overruns.

Number of frames in a contiguous burst, specified as an integer.

Dependencies

To enable this parameter, select Enable burst mode.

More About

expand all

Introduced in R2011b


[1] USRP, USRP2, UHD, and Ettus Research are trademarks of National Instruments Corp.