adi.ADRV9002.Rx#

The adi.ADRV9002.Rx System object is a signal source that can receive
complex data from the ADRV9002.

rx = adi.ADRV9002.Rx;
rx = adi.ADRV9002.Rx('uri','ip:192.168.2.1');

ADRV9002 Datasheet
Creation

The class can be instantiated in the following way with and without property name value pairs.

dev = adi.ADRV9002.Rx
dev = adi.ADRV9002.Rx(Name, Value)
Properties
Unless otherwise indicated, properties are non-tunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the release function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

ENSMModeChannel0

specified as one of the following: ‘calibrated’ ‘primed’ ‘rf_enabled’

ENSMModeChannel1

specified as one of the following: ‘calibrated’ ‘primed’ ‘rf_enabled’

InterfaceGainChannel0

This is the final gain in the digital path with possible values: -36:6:18 This gain should be selected based on primary signal bandwidth. For narrowband applications higher levels of interface gain should be used (0:18) to allow signal level and analog noise to dominate. For wideband applications this gain should be reduced or disabled since quantization noise is minimal.

InterfaceGainChannel1

This is the final gain in the digital path with possible values: -36:6:18 This gain should be selected based on primary signal bandwidth. For narrowband applications higher levels of interface gain should be used (0:18) to allow signal level and analog noise to dominate. For wideband applications this gain should be reduced or disabled since quantization noise is minimal.

DigitalGainControlModeChannel0

The digital gain control has two major purposes, one for gain correction which is to correct the small step size inaccuracy in analog front-end attenuation and the other for gain compensation which is to compensate for the entire analog front-end attenuation. The digital gain block is controlled by the Rx gain table. Different digital gain will be applied when configured in gain correction or gain compensation mode. The Rx gain table has a unique front-end attenuator setting, with a corresponding amount of digital gain, programmed at each index of the table. In the end of the Rx data path, the interface gain could be further applied by using a “Slicer” block for 2 major purposes. One is to avoid digital saturation in gain compensation mode. The other one is to ensure the overall SNR is limited only by analog noise and unaffected by quantization noise. Gain correction should be used when external components (LNA or DSA) does not need to be controlled. Compensation should be used for external LNA or DSA control. Gain control is specified as one of the following: ‘AutomaticGainCorrection’ - Automatically adjust interface gain ‘ManualGainCorrection’ - Manually adjust interface gain ‘AutomaticGainCompensation’ - Automatically adjust interface gain and external gain element ‘ManualGainCompensation’ - Manually adjust interface gain and external gain element

DigitalGainControlModeChannel1

The digital gain control has two major purposes, one for gain correction which is to correct the small step size inaccuracy in analog front-end attenuation and the other for gain compensation which is to compensate for the entire analog front-end attenuation. The digital gain block is controlled by the Rx gain table. Different digital gain will be applied when configured in gain correction or gain compensation mode. The Rx gain table has a unique front-end attenuator setting, with a corresponding amount of digital gain, programmed at each index of the table. In the end of the Rx data path, the interface gain could be further applied by using a “Slicer” block for 2 major purposes. One is to avoid digital saturation in gain compensation mode. The other one is to ensure the overall SNR is limited only by analog noise and unaffected by quantization noise. Gain correction should be used when external components (LNA or DSA) does not need to be controlled. Compensation should be used for external LNA or DSA control. Gain control is specified as one of the following: ‘AutomaticGainCorrection’ - Automatically adjust interface gain ‘ManualGainCorrection’ - Manually adjust interface gain ‘AutomaticGainCompensation’ - Automatically adjust interface gain and external gain element ‘ManualGainCompensation’ - Manually adjust interface gain and external gain element

AttenuationChannel0

Must be greater than 0

AttenuationChannel1

Must be greater than 0

ENSMPortModeChannel0

specified as one of the following: ‘spi’ ‘pin’

ENSMPortModeChannel1

specified as one of the following: ‘spi’ ‘pin’

GainControllerSourceChannel0

specified as one of the following: ‘spi’ ‘pin’ ‘automatic’

GainControllerSourceChannel1

specified as one of the following: ‘spi’ ‘pin’ ‘automatic’

PowerdownChannel0
PowerdownChannel1
AGCTrackingChannel0

AGC on the fly tracking calibration for Channel 0

AGCTrackingChannel1

AGC on the fly tracking calibration for Channel 1

BBDCRejectionTrackingChannel0

Baseband DC rejection on the fly tracking calibration for Channel 0

BBDCRejectionTrackingChannel1

Baseband DC rejection on the fly tracking calibration for Channel 1

HDTrackingChannel0

Harmonic Distortion on the fly tracking calibration for Channel 0

HDTrackingChannel1

Harmonic Distortion on the fly tracking calibration for Channel 1

QuadratureFICTrackingChannel0

Quadrature Error Correction Narrowband FIC on the fly tracking calibration for channel 0

QuadratureFICTrackingChannel1

Quadrature Error Correction Narrowband FIC on the fly tracking calibration for channel 1

QuadratureWidebandPolyTrackingChannel0

Quadrature Error Correction Wideband Poly on the fly tracking calibration for channel 0

QuadratureWidebandPolyTrackingChannel1

Quadrature Error Correction Wideband Poly on the fly tracking calibration for channel 1

RFDCTrackingChannel0

RF DC on the fly tracking calibration for channel 0

RFDCTrackingChannel1

RF DC on the fly tracking calibration for channel 1

RSSITrackingChannel0

RSSI on the fly tracking calibration for channel 0

RSSITrackingChannel1

RSSI on the fly tracking calibration for channel 1

RSSIChannel0

Received signal strength indicator. This valid is only valid once the object has been stepped and MATLAB connects to hardware

RSSIChannel1

Received signal strength indicator. This valid is only valid once the object has been stepped and MATLAB connects to hardware

SamplesPerFrame

Number of samples per frame, specified as an even positive integer from 2 to 16,777,216. Using values less than 3660 can yield poor performance.

EnableCustomProfile

Enable use of custom Profile file to set SamplingRate, RFBandwidth, and other features of transceiver

CustomProfileFileName

Path to custom Profile file created from profile wizard

CustomStreamFileName

Path to custom stream file created from profile wizard

SamplingRate

Baseband sampling rate in Hz, specified as a scalar in samples per second. This is a read-only property

CenterFrequencyChannel0

RF center frequency, specified in Hz as a scalar. The default is 2.4e9. This property is tunable.

CenterFrequencyChannel1

RF center frequency, specified in Hz as a scalar. The default is 2.4e9. This property is tunable.

NCOCorrectionFrequencyChannel0

NCO correction frequency, specified in Hz as a scalar. The default is 0. This property is tunable.

NCOCorrectionFrequencyChannel1

NCO correction frequency, specified in Hz as a scalar. The default is 0. This property is tunable.

EnabledChannels

Indexs of channels to be enabled. Input should be a [1xN] vector with the indexes of channels to be enabled. Order is irrelevant

uri

Hostname or IP address of remote libIIO deviceHelp for adi.ADRV9002.Rx/uri is inherited from superclass MATLABSHARED.LIBIIO.BASE

enIO

If true, connects to libIIO device during simulationHelp for adi.ADRV9002.Rx/enIO is inherited from superclass MATLABSHARED.LIBIIO.BASE


Example Usage
%% Rx set up
rx = adi.ADRV9002.Rx('uri','ip:analog.local');
 
rx.CenterFrequencyChannel0 = 1e9;

rx.EnabledChannels = 1;
%% Run
for k=1:10
    valid = false;
    while ~valid
        [out, valid] = rx();
    end
end