UG-1828 Preliminary Technical Data
Rev. PrC | Page 180 of 338
adi_adrv9001_RxGainTableType_e gainTableType; /* 0: Gain Correction table 1: Gain
Compensation table
adi_adrv9001_RxInterfaceGain_e gain; /* a value between 0 and 9 (0x0 =
18dB, 0x1 = 12dB, 0x2 = 6dB, 0x3 = 0dB, 0x4 = -6dB, 0x5 = -12dB, 0x6 = -18dB, 0x7 = -24dB, 0x8 =
-30dB, 0x9 = -36dB). */
} adrv9001_RxInterfaceGainCtrl_t
It is clear from the above that there are 2 interface gain control modes, which are internal (automatic) control and external control. In
addition, there are 2 options to apply the interface gain. The first option is to apply it at the start of the next frame and the second option
is to apply it immediately. The interface gain could be selected from −36 dB to +18 dB in 6 dB step size, a total of 10 options, which is
defined by “adi_adrv9001_RxInterfaceGain_e” as the following:
typedef enum adi_adrv9001_RxInterfaceGain
{
ADI_ADRV9001_RX_INTERFACE_GAIN_18_DB = 0, /* 18 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_12_DB, /* 12 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_6_DB, /* 6 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_0_DB, /* 0 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_NEGATIVE_6_DB, /* -6 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_NEGATIVE_12_DB, /* -12 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_NEGATIVE_18_DB, /* -18 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_NEGATIVE_24_DB, /* -24 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_NEGATIVE_30_DB, /* -30 dB */
ADI_ADRV9001_RX_INTERFACE_GAIN_NEGATIVE_36_DB, /* -36 dB */
} adi_adrv9001_RxInterfaceGain_e
Note as discussed before, depending on the gain table type and the bandwidth of the application, the interface gain could be limited to a
subset of the 10 options. This API must be called in the “CALIBRATED” state.
To change the interface gain on the fly while the channels are operational, the API function adi_adrv9001_Rx_InterfaceGain_Set() could
be used. The gain should be selected from one of the 10 options.
The following table summarizes the list of API functions currently available for digital gain control and interface gain. For more up-to-
date information and detailed descriptions, refer to the API doxygen document.
Table 76. A List of Rx Interface Gain Control APIs
Rx Gain API Function Name Description
adi_adrv9001_Rx_Rssi_Read Reads back the RSS status for the given channel
adi_adrv9001_Rx_InterfaceGain_Configure Sets the Rx interface gain control configuration parameters for the given Rx channel
adi_adrv9001_Rx_InterfaceGain_Set Sets the Rx interface gain for the given Rx channel
adi_adrv9001_Rx_InterfaceGain_Inspect
Gets the Rx interface gain control configuration parameters for the given Rx channel
adi_adrv9001_Rx_InterfaceGain_Get Gets the Rx interface gain for the given Rx channel
USAGE RECOMMENDATIONS
In this section, a list of recommendations is summarized for achieving optimal gain control performance:
It is recommended to start with AGC and default configurations.
• When changing the default configurations is needed, it is better to change parameters one by one.
• The high thresholds are used as limits on the incoming signal level and should be set based on the maximum input of the ADC. The
high thresholds should be set at least 3 dB to 6 dB lower than the full input scale of the ADC.
• The apdHighThresh and hbHighThresh are set to an equivalent dBFS value. Likewise, the apdLowThresh and the
hbUnderRangeHighThresh are set to equivalent values.
• The apdUpperThreshPeakExceededCount and hbUpperThreshPeakExceededCount should be set properly to achieve a desired level
of AGC sensitivity to input signal peaks.
• The gain change period should typically be aligned to the frame or subframe boundary periods.