
Preliminary Technical
Data
Rev. PrA | Page 48 of 82
This function can be used to program the complex coefficients of the final CFR correction pulse. This function is intended to be
used when the CFR engine is operating in ADI_ADRV9025_CFR_MODE1 mode.
This function expects the user to provide only the first half the correction pulse since it is assumed that the correction pulse is
conjugate symmetric. This API supports the programming of the correction pulses in the following use cases:
1.
Final correction pulse of maximum length 1025 (maximum half pulse length of 512) in Mode1 for a single carrier
configuration. Please note that run time carrier hot swapping is not supported if a pulse length of 1025(half pulse length
of 512) is used. In this case, the full pulse needs to be switched during Tx OFF.
2.
Two final correction pulses of maximum length 513 (maximum half pulse length of 256) corresponding to two carrier
configurations for on-the-fly carrier configuration switching for Mode1 operation. Run time carrier switching can be
executed via adi_adrv9025_CfrActiveCorrectionPulseSet() API which will activate the correction pulse corresponding to
the requested carrier config.
Precondition
This function may be called after device initialization and the ARM processor boot up is complete.
Table 18. adi_adrv9025_ CfrCorrectionPulseWrite_v2(…) Parameters
Parameter
Description
*device
Pointer to the device settings structure
txChannelMask
Transmitter channel selection mask to write cfrCorrectionPulses. Multiple channel selection is allowed.
cfrCorrectionPulses
An array consisting of the final correction pulse(s) in Mode1 operation. Please note that in case of
programming two correction pulses for carrier hot swapping, cfrCorrectionPulses[0] corresponds to
ADI_ADRV9025_CFR_CARRIER_HOT_SWAP_CORR_PULSE_1 and cfrCorrectionPulses[1] corresponds to
ADI_ADRV9025_CFR_CARRIER_HOT_SWAP_CORR_PULSE_2.
numCorrectionPulses Number of correction pulse coefficients to be programmed in the CFR engine. Please note that a maximum
of two correction pulses can be programmed if the half pulse length of the 2 correction pulses are less than
or equal to 256 and a maximum of 1 correction pulse can be programmed if the half pulse length of the
correction pulse is greater than 256.
Table 19. adi_adrv9025_CfrCorrectionPulse_t Data Structure
Data Type
Structure Member
Valid
Values
Description
int16_t
coeffRealHalfPulse
An array consisting of the first half of the Real part of the
complex CFR correction pulse coefficients
int16_t
coeffImaginaryHalfPulse
An array consisting of the first half of the Imaginary part
of the complex CFR correction pulse coefficients
uint16_t
numCoeffs
max.
512
No. of coefficients contained in coeffReal and
coeffImaginary arrays
adi_adrv9025_CfrCorrectionPulseRead_v2(…)
int32_t adi_adrv9025_CfrCorrectionPulseRead_v2(adi_adrv9025_Device_t * device,
adi_adrv9025_TxChannels_e txChannel, uint8_t maxCorrectionPulsesToRead,
adi_adrv9025_CfrCorrectionPulse_t cfrCorrectionPulses[], uint8_t *
numCorrectionPulsesRead);
Description
This function can be used to read back the current complex coefficients of the final CFR correction pulse programmed in the
device.
This function reads the final correction pulse to be used by the CFR engine to perform CFR correction when the CFR engine is
configured to operate in (ADI_ADRV9025_CFR_MODE1). A maximum of 2 correction pulses of half pulse length 256 or a
maximum of 1 correction pulse of half pulse length 512 can be read back from the device.
Please note that this function can be called only when the transmitter channel is off and the CFR engines are not active.
Precondition