# adi.ADRV9009.Rx
The adi.ADRV9009.Rx System object is a signal source that can receive
complex data from the ADRV9009.
rx = adi.ADRV9009.Rx;
rx = adi.ADRV9009.Rx('uri','ip:192.168.2.1');
ADRV9009 Datasheet
Creation
The class can be instantiated in the following way with and without property name value pairs.
```matlab
dev = adi.ADRV9009.Rx
dev = adi.ADRV9009.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.
:::{dropdown} GainControlMode
specified as one of the following: 'slow_attack' — For signals with slowly changing power levels 'manual' — For setting the gain manually with the Gain property
:::
:::{dropdown} GainChannel0
Channel 0 gain, specified as a scalar from 1 dB to 30 dB. The acceptable minimum and maximum gain setting depends on the center frequency.
:::
:::{dropdown} GainChannel1
Channel 1 gain, specified as a scalar from 1 dB to 30 dB. The acceptable minimum and maximum gain setting depends on the center frequency.
:::
:::{dropdown} EnableQuadratureTrackingChannel0
Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the input signal.
:::
:::{dropdown} EnableQuadratureTrackingChannel1
Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the input signal.
:::
:::{dropdown} EnableHarmonicDistortionTrackingChannel0
Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the input signal.
:::
:::{dropdown} EnableHarmonicDistortionTrackingChannel1
Option to enable quadrature tracking, specified as true or false. When this property is true, IQ imbalance compensation is applied to the input signal.
:::
:::{dropdown} EnableQuadratureCalibration
Option to enable quadrature calibration on initialization, specified as true or false. When this property is true, IQ imbalance compensation is applied to the input signal.
:::
:::{dropdown} EnablePhaseCorrection
Option to enable phase tracking, specified as true or false. When this property is true, Phase differences between transceivers will be deterministic across power cycles and LO changes
:::
:::{dropdown} PowerdownChannel0
Logical which will power down RX channel 0 when set
:::
:::{dropdown} PowerdownChannel1
Logical which will power down RX channel 1 when set
:::
:::{dropdown} 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.
:::
:::{dropdown} EnableCustomProfile
Enable use of custom Profile file to set SamplingRate, RFBandwidth, and FIR in datapaths
:::
:::{dropdown} EnableFrequencyHoppingModeCalibration
Option to enable frequency hopping mode VCO calibration, specified as true or false. When this property is true, at initialization VCO calibration lookup table is populated
:::
:::{dropdown} CustomProfileFileName
Path to custom Profile file created from profile wizard
:::
:::{dropdown} CenterFrequency
RF center frequency, specified in Hz as a scalar. The default is 2.4e9. This property is tunable.
:::
:::{dropdown} EnabledChannels
Indexs of channels to be enabled. Input should be a [1xN] vector with the indexes of channels to be enabled. Order is irrelevant
:::
:::{dropdown} uri
Hostname or IP address of remote libIIO device
:::
:::{dropdown} enIO
If true, connects to libIIO device during simulation
:::
Example Usage
```matlab
%% Rx set up
rx = adi.ADRV9009.Rx('uri','ip:analog.local');
rx.CenterFrequency = 1e9;
rx.EnabledChannels = 1;
%% Run
for k=1:10
valid = false;
while ~valid
[out, valid] = rx();
end
end
```