UG-1828 Preliminary Technical Data
Rev. PrB | Page 160 of 277
+18 dB and for WB applications, the interface gain is from −36 dB to 0 dB in 6 dB step size. This mode could be used especially when
baseband processor input signal clipping is observed by the user.
DIGITAL GAIN CONTROL AND INTERFACE GAIN API PROGRAMMING
The API function adi_adrv9001_Rx_InterfaceGain_Configure() is provided to configure the interface gain. The configuration structure
adrv9001_RxInterfaceGainCtrl_t is defined as the following:
typedef struct adrv9001_RxInterfaceGainCtrl
{
adi_adrv9001_RxInterfaceGainUpdateTiming_e updateInstance; /* Time at which Rx interface
gain control must be updated. 0: To be updated at start of next frame 1: To be updated
immediately */
adi_adrv9001_RxInterfaceGainCtrlMode_e controlMode; /* 0: Uses internal Rx interface gain
value 1: Uses external Rx interface gain value. Gain value must be provided in this case. */
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 72. 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