# adi.ADRV9371.Rx
<!-- <div class="sysobj_h1">adi.ADRV9371.Rx</div> -->

<!-- <div class="sysobj_top_desc">
Receive data from Analog Devices AD9361 transceiver
</div> -->

<!-- <div class="sysobj_desc_title">Description</div> -->

<div class="sysobj_desc_txt">
<span>
    The adi.ADRV9371.Rx System object is a signal source that can receive<br>    complex data from the ADRV9371.<br> <br>    rx = adi.AD9371.Rx;<br>    rx = adi.AD9371.Rx('uri','ip:192.168.2.1');<br> <br>    <a href="https://www.analog.com/en/design-center/evaluation-hardware-and-software/evaluation-boards-kits/EVAL-ADRV9371.html">Product Page</a>    <br> <br>
</span>

</div>

<div class="sysobj_desc_title">Creation</div>

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

```matlab
dev = adi.ADRV9371.Rx
dev = adi.ADRV9371.Rx(Name, Value)
```

<div class="sysobj_desc_title">Properties</div>

<div class="sysobj_desc_txt">
<span>
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.
<br><br>
If a property is tunable, you can change its value at any time.
<br><br>
For more information on changing property values, see <a href="https://www.mathworks.com/help/matlab/matlab_prog/system-design-in-matlab-using-system-objects.html">System Design in MATLAB Using System Objects.</a>
</span>
</div>
<br>



:::{dropdown} GainControlMode
specified as one of the following: 'slow_attack' — For signals with slowly changing power levels 'fast_attack' — For signals with rapidly changing power levels 'manual' — For setting the gain manually with the Gain property 'hybrid' — For configuring hybrid AGC mode
:::

:::{dropdown} GainChannel0
Channel 0 gain, specified as a scalar from -4 dB to 71 dB. The acceptable minimum and maximum gain setting depends on the center frequency.
:::

:::{dropdown} GainChannel1
Channel 1 gain, specified as a scalar from -4 dB to 71 dB. The acceptable minimum and maximum gain setting depends on the center frequency.
:::

:::{dropdown} LoopbackMode
Option to set digital loopback mode, specified as 0 or 1. Allows digital loopback of TX data into the RX path. Value  | Mode ---------------------------  0 |  Disable  1 |  Enable
:::

:::{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} 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} 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
:::


<br>
<div class="sysobj_desc_title">Example Usage</div>

```matlab

%% Rx set up
rx = adi.ADRV9371.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

```