Preliminary Technical
Data
Rev. PrA | Page 13 of 82
Figure 15. Case 2 Dual Band Use Case Configuration
The API sequence for programming DPD models in a dual frequency band use case are shown below. The factory calibrated
coefficients can be programmed into the transceiver through the API adi_adrv9025_DpdModelConfigSet() for the two pairs of
transmit channels as described in the previous section. The DPD reset with the LUT restore option must be exercised for two
channels at a time.
adi_adrv9025_DpdModelConfigSet() /* Load model for Tx12 */
adi_adrv9025_DpdReset(ADI_ADRV9025_TX1, ADI_ADRV9025_DPD_LUT_RESTORE)
adi_adrv9025_DpdReset(ADI_ADRV9025_TX2, ADI_ADRV9025_DPD_LUT_RESTORE)
adi_adrv9025_DpdModelConfigSet()/* Load model for Tx34 */
adi_adrv9025_DpdReset(ADI_ADRV9025_TX3, ADI_ADRV9025_DPD_LUT_RESTORE)
adi_adrv9025_DpdReset(ADI_ADRV9025_TX4, ADI_ADRV9025_DPD_LUT_RESTORE)
Unique GMP Model Per Transmit Channel
In addition to the use cases described above, a user can initialize each transmit channel with a unique GMP model. This approach
is typically used when each PA exhibits a slightly different nonlinearity which in turn requires a different set of coefficients, as
shown in Figure 16.
Figure 16. Use Case where each transmit path requires a different set of DPD coefficients
The API sequence for programming a unique DPD model per transmit channel is shown below. The factory calibrated coefficients
can be programmed into the transceiver through the API adi_adrv9025_DpdModelConfigSet() for the two pairs of transmit
channels as described in the previous section. The DPD reset with the LUT restore option must be exercised for each channel.
adi_adrv9025_DpdModelConfigSet() /* Load model for Tx1 */
adi_adrv9025_DpdReset(ADI_ADRV9025_TX1, ADI_ADRV9025_DPD_LUT_RESTORE)
adi_adrv9025_DpdModelConfigSet() /* Load model for Tx2 */
adi_adrv9025_DpdReset(ADI_ADRV9025_TX2, ADI_ADRV9025_DPD_LUT_RESTORE)
adi_adrv9025_DpdModelConfigSet() /* Load model for Tx3 */
adi_adrv9025_DpdReset(ADI_ADRV9025_TX3, ADI_ADRV9025_DPD_LUT_RESTORE)
adi_adrv9025_DpdModelConfigSet() /* Load model for Tx4 */
adi_adrv9025_DpdReset(ADI_ADRV9025_TX4, ADI_ADRV9025_DPD_LUT_RESTORE)
DPD SAMPLE CAPTURE
The DPD algorithm relies on observing the samples distorted by the PA through an observation channel in order to estimate the
DPD coefficients. The DPD algorithm captures the observation samples after they have been processed by the observation
receiver channel, and before and after the DPD actuator in batches of 4096 samples. The total number of samples that the DPD
algorithm needs to capture is configured using the API adi_adrv9025_DpdTrackingConfigSet() through the parameter
adi_adrv9025_DpdTrackingConfig_t.dpdSamples. The number of samples must be a multiple of 4096. Increasing the number of
samples increases the processing time and computation load. Conversely, a decreased number of samples could impact the