-
Notifications
You must be signed in to change notification settings - Fork 51
NI RFmx SpecAn DFD Configuration Functions
- RFmxSpecAn_DPDCfgMeasurementInterval
- RFmxSpecAn_DPDCfgMeasurementSampleRate
- RFmxSpecAn_DPDCfgSynchronizationMethod
- RFmxSpecAn_DPDCfgDUTAverageInputPower
- RFmxSpecAn_DPDCfgReferenceWaveform
- RFmxSpecAn_DPDCfgDPDModel
- RFmxSpecAn_DPDCfgLookupTableStepSize
- RFmxSpecAn_DPDCfgLookupTableAMToAMCurveFit
- RFmxSpecAn_DPDCfgLookupTableAMToPMCurveFit
- RFmxSpecAn_DPDCfgLookupTableThreshold
- RFmxSpecAn_DPDCfgLookupTableType
- RFmxSpecAn_DPDCfgMemoryPolynomial
- RFmxSpecAn_DPDCfgGeneralizedMemoryPolynomialCrossTerms
- RFmxSpecAn_DPDCfgIterativeDPDEnabled
- RFmxSpecAn_DPDCfgPreviousDPDPolynomial
- RFmxSpecAn_DPDCfgAveraging
- RFmxSpecAn_DPDApplyPreDPDSignalConditioning
int32 __stdcall RFmxSpecAn_DPDCfgMeasurementInterval (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 measurementInterval);
Specifies the duration, in seconds, of the reference waveform considered for the DPD measurement. When the reference waveform contains an idle duration, the DPD measurement neglects the idle samples in the reference waveform leading up to the start of the first active portion of the reference waveform.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
measurementInterval | float64 | Specifies the acquisition time, in seconds, for the DPD measurement. This parameter also specifies the duration of the reference waveform considered for the DPD measurement. When the reference waveform contains an idle duration, the DPD measurement neglects the idle samples in the reference waveform leading up to the start of the first active portion of the reference waveform. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgMeasurementSampleRate (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 sampleRateMode, float64 sampleRate);
Configures the acquisition sample rate, in samples per second (S/s), for the DPD measurement.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
sampleRateMode | int32 | Specifies the acquisition sample rate configuration mode. |
RFMXSPECAN_VAL_DPD_MEASUREMENT_SAMPLE_RATE_MODE_USER (0) | The acquisition sample rate is defined by the value of the sampleRate parameter. |
---|---|
RFMXSPECAN_VAL_DPD_MEASUREMENT_SAMPLE_RATE_MODE_REFERENCE_WAVEFORM (1) | The acquisition sample rate is set to match the sample rate of the reference waveform. |
sampleRate | float64 | Specifies the acquisition sample rate,in S/s, when you set the sampleRateMode parameter to RFMXSPECAN_VAL_DPD_MEASUREMENT_SAMPLE_RATE_MODE_USER. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgSynchronizationMethod (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 synchronizationMethod);
Configures the synchronization method used to synchronize the reference waveform and acquired waveform.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
synchronizationMethod | int32 | Specifies the method used for synchronization of acquired waveform with reference waveform. |
RFMXSPECAN_VAL_DPD_SYNCHRONIZATION_METHOD_DIRECT (0) | Synchronizes the acquired and reference waveforms assuming that sample rate is sufficient to prevent aliasing in intermediate operations. This method is recommended when the measurement sampling rate is high. |
---|---|
RFMXSPECAN_VAL_DPD_SYNCHRONIZATION_METHOD_ALIAS_PROTECTED (1) | Synchronizes the acquired and reference waveforms while ascertaining that intermediate operations are not impacted by aliasing. This method is recommended for non-contiguous carriers separated by a large gap, and/or when the measurement sampling rate is low. Refer to DPD concept help for more information. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgDUTAverageInputPower (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 DUTAverageInputPower);
Configures the average power, in dBm, of the signal at the device under test (DUT) input port.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
DUTAverageInputPower | float64 | Specifies the average power, in dBm, of the signal at the DUT input port. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgReferenceWaveform (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 x0, float64 dx, NIComplexSingle referenceWaveform[], int32 arraySize, int32 idleDurationPresent, int32 signalType);
Configures the complex baseband equivalent of the RF signal applied at the input port of the device under test (DUT) when performing the DPD measurement.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
x0 | float64 | Specifies the start time, in seconds. |
dx | float64 | Specifies the sample duration, in seconds. |
referenceWaveform | NIComplexSingle[] | Specifies the complex baseband samples, as an array of voltage values. |
arraySize | int32 | Specifies the size of the referenceWaveform array. |
idleDurationPresent | int32 | Specifies whether the reference waveform contains an idle duration. |
RFMXSPECAN_VAL_DPD_REFERENCE_WAVEFORM_IDLE_DURATION_PRESENT_FALSE (0) | The reference waveform does not contain an idle duration. |
---|---|
RFMXSPECAN_VAL_DPD_REFERENCE_WAVEFORM_IDLE_DURATION_PRESENT_TRUE (1) | The reference waveform contains an idle duration. |
signalType | int32 | Specifies whether the reference waveform is a modulated signal or tones. |
RFMXSPECAN_VAL_DPD_SIGNAL_TYPE_MODULATED (0) | The reference waveform is a cellular or connectivity standard signal. |
---|---|
RFMXSPECAN_VAL_DPD_SIGNAL_TYPE_TONES (1) | The reference waveform is a continuous signal of one or more tones. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgDPDModel (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 DPDModel);
Configures the DPD model used by the DPD measurement.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
DPDModel | int32 | Specifies the DPD model used by the DPD measurement. |
RFMXSPECAN_VAL_DPD_APPLY_DPD_USER_DPD_MODEL_LOOKUP_TABLE (0) | This model computes the complex gain coefficients applied to linearize systems with negligible memory effects. |
---|---|
RFMXSPECAN_VAL_DPD_APPLY_DPD_USER_DPD_MODEL_MEMORY_POLYNOMIAL (1) | This model computes the memory polynomial predistortion coefficients used to linearize systems with moderate memory effects. |
RFMXSPECAN_VAL_DPD_APPLY_DPD_USER_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL (2) | This model computes the generalized memory polynomial predistortion coefficients used to linearize systems with significant memory effects. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgLookupTableStepSize (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 stepSize);
Configures the step size, in dB, of input power levels in the predistortion lookup table when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
stepSize | float64 | Specifies the step size, in dB, of the input power levels in the predistortion lookup table when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgLookupTableAMToAMCurveFit (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 AMToAMCurveFitOrder, int32 AMToAMCurveFitType);
Configures the degree of the polynomial and the approximation method used for polynomial approximation of the AM-to-AM response of the device under test (DUT) when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
AMToAMCurveFitOrder | int32 | Specifies the degree of the polynomial used to approximate the AM-to-AM characteristic of the DUT when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE. |
AMToAMCurveFitType | int32 | Specifies the cost-function for polynomial approximation of the AM-to-AM characteristic of the DUT when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE. |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_AM_TO_AM_CURVE_FIT_TYPE_LEAST_SQUARE (0) | Minimizes the energy of the polynomial approximation error. |
---|---|
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_AM_TO_AM_CURVE_FIT_TYPE_LEAST_ABSOLUTE_RESIDUAL (1) | Minimizes the magnitude of the polynomial approximation error. |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_AM_TO_AM_CURVE_FIT_TYPE_BISQUARE (2) | Excludes the effect of data outliers while minimizing the energy of the polynomial approximation error. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgLookupTableAMToPMCurveFit (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 AMToPMCurveFitOrder, int32 AMToPMCurveFitType);
Configures the degree of the polynomial and the approximation method used for polynomial approximation of the AM-to-PM response of the device under test (DUT) when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
AMToPMCurveFitOrder | int32 | Specifies the degree of the polynomial used to approximate the AM-to-PM characteristic of the device under test when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE. |
AMToPMCurveFitType | int32 | Specifies the cost-function for polynomial approximation of the AM-to-PM characteristic of the device under test when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE. |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_AM_TO_PM_CURVE_FIT_TYPE_LEAST_SQUARE (0) | Minimizes the energy of the polynomial approximation error. |
---|---|
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_AM_TO_PM_CURVE_FIT_TYPE_LEAST_ABSOLUTE_RESIDUAL (1) | Minimizes the magnitude of the polynomial approximation error. |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_AM_TO_PM_CURVE_FIT_TYPE_BISQUARE (2) | Excludes the effect of data outliers while minimizing the energy of the polynomial approximation error. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgLookupTableThreshold (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 thresholdEnabled, float64 thresholdLevel, int32 thresholdType);
Configures the threshold level for the samples considered for the DPD measurement when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_LOOKUP_TABLE. Set the thresholdEnabled parameter to RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_THRESHOLD_ENABLED_TRUE to reject low-power signals affected by noise and distortion.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
thresholdEnabled | int32 | Specifies whether to enable thresholding of the acquired samples. |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_THRESHOLD_ENABLED_FALSE (0) | All samples are considered for the measurement. |
---|---|
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_THRESHOLD_ENABLED_TRUE (1) | The samples above the threshold level specified in the thresholdLevel parameter are considered for the measurement. |
thresholdLevel | float64 | Specifies either the relative or absolute threshold power level based on the value of the thresholdType parameter. |
thresholdType | int32 | Specifies the reference for the power level used for thresholding. |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_THRESHOLD_TYPE_RELATIVE (0) | The threshold of the acquired samples is relative to the peak power, in dB. |
---|---|
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_THRESHOLD_TYPE_ABSOLUTE (1) | The threshold is the absolute power, in dBm. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgLookupTableType (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 lookupTableType);
Configures the type of DPD Lookup Table.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
lookupTableType | int32 | Specifies the type of the DPD lookup table (LUT). |
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_TYPE_LOG (0) | Input powers in the LUT are specified in dBm. |
---|---|
RFMXSPECAN_VAL_DPD_LOOKUP_TABLE_TYPE_LINEAR (1) | Input powers in the LUT are specified in watts. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgMemoryPolynomial (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 memoryPolynomialOrder, int32 memoryPolynomialMemoryDepth);
Configures the order and memory depth of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_MEMORY_POLYNOMIAL or RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
memoryPolynomialOrder | int32 | Specifies the order of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_MEMORY_POLYNOMIAL or RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Ka in the equation) for the generalized memory polynomial. |
memoryPolynomialMemoryDepth | int32 | Specifies the memory depth of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_MEMORY_POLYNOMIAL or RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Qa in the equation for the generalized memory polynomial. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgGeneralizedMemoryPolynomialCrossTerms (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 memoryPolynomialLeadOrder, int32 memoryPolynomialLagOrder, int32 memoryPolynomialLeadMemoryDepth, int32 memoryPolynomialLagMemoryDepth, int32 memoryPolynomialMaximumLead, int32 memoryPolynomialMaximumLag);
Configures the cross terms of the generalized memory polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. Use the RFmxSpecAn_DPDCfgMemoryPolynomial) function to configure the normal terms in the DPD polynomial and the cross terms when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
memoryPolynomialLeadOrder | int32 | Specifies the lead order cross term of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Kc in the equation) for the generalized memory polynomial. |
memoryPolynomialLagOrder | int32 | Specifies the lag order cross term of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Kb in the equation for the generalized memory polynomial. |
memoryPolynomialLeadMemoryDepth | int32 | Specifies the lead memory depth cross term of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Qc in the equation for the generalized memory polynomial. The value of this parameter must be greater than or equal to the value of the memoryPolynomialMaximumLead parameter. |
memoryPolynomialLagMemoryDepth | int32 | Specifies the lag memory depth cross term of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Qb in the equation for the generalized memory polynomial. |
memoryPolynomialMaximumLead | int32 | Specifies the maximum lead stagger cross term of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Mc in the equation for the generalized memory polynomial. |
memoryPolynomialMaximumLag | int32 | Specifies the maximum lag stagger cross term of the DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL attribute to RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. This value corresponds to Mb in the equation for the generalized memory polynomial. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgIterativeDPDEnabled (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 iterativeDPDEnabled);
Configures the iterative computation of the DPD polynomial in accordance with the indirect-learning architecture) when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_MEMORY_POLYNOMIAL or RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
iterativeDPDEnabled | int32 | Specifies whether to enable iterative computation of the DPD results DPD polynomial using the indirect-learning architecture. |
RFMXSPECAN_VAL_DPD_ITERATIVE_DPD_ENABLED_FALSE (0) | The DPD results DPD polynomial is computed without considering the value of the DPD previous DPD polynomial. |
---|---|
RFMXSPECAN_VAL_DPD_ITERATIVE_DPD_ENABLED_TRUE (1) | The DPD Results DPD polynomial is computed based on the value of the DPD previous DPD polynomial. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgPreviousDPDPolynomial (niRFmxInstrHandle instrumentHandle, char selectorString[], NIComplexSingle previousDPDPolynomial[], int32 arraySize);
Configures the previous DPD polynomial when you set the RFMXSPECAN_ATTR_DPD_MODEL) attribute to RFMXSPECAN_VAL_DPD_MODEL_MEMORY_POLYNOMIAL or RFMXSPECAN_VAL_DPD_MODEL_GENERALIZED_MEMORY_POLYNOMIAL. Set the RFMXSPECAN_ATTR_DPD_ITERATIVE_DPD_ENABLED) attribute to RFMXSPECAN_VAL_DPD_ITERATIVE_DPD_ENABLED_TRUE to apply the previous DPD polynomial on the reference waveform. This reference waveform is used to compute the value of the DPD polynomial for the current iteration.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
previousDPDPolynomial | NIComplexSingle[] | Specifies an array of values for the previous DPD polynomial. |
arraySize | int32 | Specifies the size of the previousDPDPolynomial array. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDCfgAveraging (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 averagingEnabled, int32 averagingCount);
Configures averaging for the DPD measurement.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
averagingEnabled | int32 | Specifies whether to enable averaging for the measurement. |
RFMXSPECAN_VAL_DPD_AVERAGING_ENABLED_FALSE (0) | The measurement is performed on a single acquisition. |
---|---|
RFMXSPECAN_VAL_DPD_AVERAGING_ENABLED_TRUE (1) | The measurement uses the averagingCount parameter to calculate the number of acquisitions over which the measurement is averaged. |
averagingCount | int32 | Specifies the number of acquisitions used for averaging when you set the averagingEnabled parameter to RFMXSPECAN_VAL_DPD_AVERAGING_ENABLED_TRUE. |
Name | Type | Description |
---|---|---|
status | int32 | Returns the status code of this operation. The status code either indicates success or describes an error or warning condition. Examine the status code from each call to an RFmx function to determine if an error has occurred. To obtain a text description of the status code and additional information about the error condition, call the RFmxSpecAn_GetError) function. The general meaning of the status code is as follows: |
Value | Meaning |
---|---|
0 | Success |
Positive Values | Warnings |
Negative Values | Errors |
int32 __stdcall RFmxSpecAn_DPDApplyPreDPDSignalConditioning (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 x0In, float64 dxIn, NIComplexSingle waveformIn[], int32 arraySizeIn, int32 idleDurationPresent, float64* x0Out, float64* dxOut, NIComplexSingle waveformOut[], int32 arraySizeOut, int32* actualArraySize, float64* PAPR);
Applies crest factor reduction on the input waveform.
Input | ||
---|---|---|
Name | Type | Description |
instrumentHandle | niRFmxInstrHandle | Identifies the RFmx session. You can obtain this parameter from the RFmxSpecAn_Initialize) function. |
selectorString | char[] | Comprises the signal name. If you do not specify the signal name, the default signal instance is used. Example: "" "signal::sig1" You can use the RFmxSpecAn_BuildSignalString) function to build the selector string). |
x0In | float64 | Specifies the start time, in seconds. |
dxIn | float64 | Specifies the sample duration, in seconds. |
waveformIn | NIComplexSingle[] | Specifies the complex baseband samples, in volts. |
arraySizeIn | int32 | Specifies the size of the array. Set the arraySize parameter to 0 to get the size of all the arrays in the actualArraySize parameter. |
idleDurationPresent | int32 | Specifies whether the waveform contains an idle duration. |
RFMXSPECAN_VAL_DPD_APPLY_DPD_IDLE_DURATION_PRESENT_FALSE (0) | The waveform does not contain an idle duration. |
---|---|
RFMXSPECAN_VAL_DPD_APPLY_DPD_IDLE_DURATION_PRESENT_TRUE (1) | The waveform contains an idle duration. |
waveformOut | NIComplexSingle[] | Returns the complex baseband samples, in volts. |
arraySizeOut | int32 | Specifies the size of the array. Set the arraySize parameter to 0 to get the size of all the arrays in the actualArraySize parameter. |
Output | ||
Name | Type | Description |
x0Out | float64* | Returns the start time, in seconds. |
dxOut | float64* | Returns the sample duration, in seconds. |
actualArraySize | int32* | Returns the actual size of the array, if you pass NULL to all output array parameters, and set the arraySize parameter to 0. |
PAPR | float64* | Returns the peak-to-average power ratio of the waveform obtained after applying pre-DPD signal conditioning on the input waveform. This value is expressed in dB. |
Name | Type | Description |
---|
Creating and Setting Up a gRPC Server
Session Utilities API Reference
gRPC API Differences From C API
Sharing Driver Sessions Between Clients
C API Docs
NI-DAQmx
- gRPC API Differences From C API
- Task Configuration And Control
- Channel Configuration And Creation
- Timing
- Triggering
- Read Functions
- Write Functions
- Export Hardware Signals
- Scale Configuration
- Internal Buffer Configuration
- Advanced Functions
- System Configuration
- Error Handling
- Buffer Attributes
- Calibration Info Attributes
- Channel Attributes
- Device Attributes
- Export Signal Attributes
- Persisted Channel Attributes
- Persisted Scale Attributes
- Persisted Task Attributes
- Physical Channel Attributes
- Read Attributes
- Scale Attributes
- System Attributes
- Task Attributes
- Timing Attributes
- Trigger Attributes
- Watchdog Attributes
- Write Attributes
NI-DCPOWER
- Setup Functions
- Configure Functions
- Measurement Functions
- Control Functions
- Trigger And Event
- Attribute Functions
- Query Functions
- Calibration Functions
- Utility Functions
- Supported Device
- Source Attributes
- Transient Attributes
- Voltage Attributes
- Current Attributes
- Pulse Voltage Attributes
- Pulse Current Attributes
- Cutoff Attributes
- Measurement Attributes
- Trigger Attributes Functions
- Event Attributes
- Advanced Attributes
- Inherent Ivi Attributes
- Supported Device Attributes
NI-DIGITAL PATTERN DRIVER
- Init And Close Functions
- Session Locking Functions
- Utility Functions
- Error Handling Functions
- Calibration Functions
- Attributes Functions
- Pin Map Functions
- Low Level Functions
- Low Level Action Functions
- Pin Control Functions
- Static IO Functions
- Clock Generator Functions
- Levels And Timing Functions
- TDR Functions
- PPMU Configuration Functions
- DC Voltage Functions
- DC Current Functions
- PPMU Action Functions
- Pattern Configuration Functions
- Pattern Action Functions
- History Ram Functions
- Source Memory Functions
- Capture Memory Functions
- Triggers And Events Functions
- Conditional Jump Trigger Functions
- Sequencer Flag Functions
- Sequencer Register Functions
- Match Fail Combination Functions
- Pattern Results Functions
- Sort Results Functions
- Frequency Measurement Functions
- IVI Inherent Attributes
- Specific Driver Information Attributes, Read Only
- Driver Setup Information Attributes
- Device Attributes
- Pin Control Attributes
- Level Configuration Attributes
- Trigger Configuration Attributes
- PPMU Attributes
- Patterns Attributes
- Pattern Opcode Event Attributes
- Timing Offset Attributes
- Keep Alive Attributes
- Frequency Measurement Attributes
- Clock Generator Attributes
- History RAM
- Synchronization Attributes
- TDR Endpoint Termination Attributes
NI-FGEN
- Setup Functions
- Configuration Functions
- Standard Output Functions
- Arbitrary Waveform Output Functions
- Arbitrary Sequence Output Functions
- Incremental Waveform Write Functions
- Configure Clock Functions
- Trigger And Syncronizations Functions
- 5404 Routing Functions
- Script Output Functions
- Configure Onboard Signal Processing Functions
- Configure Peer To Peer Functions
- Attribute Functions
- Waveform Control Functions
- Error Functions
- Output Attributes
- Arbitrary Waveform Attributes
- Data Transfer Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Attributes
- Standard Function Attributes
- Clock Attributes
- Event Attributes
- Triggering Attributes
- Instrument Specific Attributes
- Inherent IVI Attributes
- 5401 5411 5431
NI-RFmx Bluetooth
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Packet Attributes
- Auto Detect Signal Attributes
- Modacc Attributes
- ACP Attributes
- Twenty dB Attributes
- Frequency Range Attributes
- TXP Attributes
- Advanced Attributes
NI-RFmx NR
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attributes Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Signal Detection Attributes
- Component Carrier Attributes
- List Attributes
- Modacc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- TXP Attributes
- Pvt Attributes
- Advanced Attributes
NI-RFmx LTE
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Ch Configuration Functions
- NB IoT Configuration Functions
- ModAcc Configuration Functions
- ACP Configuration Functions
- CHP Configuration Functions
- OBW Configuration Functions
- SEM Configuration Functions
- PVT Configuration Functions
- SlotPhase Configuration Functions
- SlotPower Configuration Functions
- Set And Get Attribute Functions
- ModAcc Fetch Functions
- ACP Fetch Functions
- CHP Fetch Functions
- OBW Fetch Functions
- SEM Fetch Functions
- PVT Fetch Functions
- SlotPhase Fetch Functions
- SlotPower Fetch Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Component Carrier Attributes
- ModAcc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- PVT Attributes
- SlotPhase Attributes
- SlotPower Attributes
- Advanced Attributes
NI-RFmx SpecAn
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Read Functions
- Fetch Functions
- Utility Functions
- Marker Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- ACP Attributes
- Cdf Attributes
- CHP Attributes
- Fcnt Attributes
- Harm Attributes
- OBW Attributes
- SEM Attributes
- Spectrum Attributes
- Spur Attributes
- TXP Attributes
- AMPM Attributes
- Dpd Attributes
- IQ Attributes
- IM Attributes
- NF Attributes
- Phasenoise Attributes
- PAVT Attributes
- Advanced Attributes
NI-RFmx WLAN
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch DSSS ModAcc Functions
- Fetch OFDM ModAcc Functions
- Fetch SEM Functions
- Fetch TXP Functions
- Fetch PowerRamp Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- OFDM Attributes
- Auto Detect Signal Attributes
- DSSS ModAcc Attributes
- OFDM ModAcc Attributes
- SEM Attributes
- TXP Attributes
- PowerRamp Attributes
- Advanced Attributes
NI-RFSA
- General Functions
- Configuration Functions
- Acquisition Functions
- Utility Functions
- Calibration Functions
- General Attributes
- Vertical Attributes
- Signal Path Attributes
- Acquisition Attributes
- Acquisition Attributes
- Triggers Attributes
- Events Attributes
- Device Characteristics Attributes
- Peer To Peer Streaming Attributes
- Configuration List Attributes
- Inherent IVI Properties Attributes
- De-embedding Attributes
- Self Calibration Attributes
- Factory Calibration Attributes
- External Alignment Attributes
- Device Specific Attributes
NI-RFSG
- General Functions
- Generation Configuration
- Utility Functions
- Calibration Functions
- Arb Attributes
- Clock Attributes
- Configuration List Attributes
- De-embedding Attributes
- Device Characteristics Attributes
- Device Specific Attributes
- Events Attributes
- External Calibration Attributes
- Inherent IVI Attributes Attributes
- IQ Impairment Attributes
- Load Configurations Attributes
- Modulation Attributes
- Obsolete Attributes
- Peer To Peer Attributes
- RF Attributes
- Self Calibration Attributes
- Triggers Attributes
NI-SCOPE
- Setup Functions
- Configure Functions
- Attribute Functions
- Acquisition Functions
- Measurement Functions
- Calibrate Functions
- Utility Funcitons
- Error Handling Functions
- IVI Compliance Or Obsolete Functions
- Vertical Attributes
- Horizontal Attributes
- Trigger Attributes
- Clocking Attributes
- Synchronization Attributes
- Acquisition Attributes
- Waveform Measurements Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Streaming Attributes
- Device Attributes
- IVI Or Obsolete Attributes
- Instrument Capabilities Attributes
- If Digitizer Attributes
NI-XNET
- gRPC API differences from C APIs
- General Functions
- Cluster Properties
- Database Properties
- Device Properties
- ECU Properties
- Frame Properties
- Interface Properties
- LIN Schedule Entry Properties
- LIN Schedule Properties
- PDU Properties
- Session Ethernet Properties
- Session Frame Properties
- Session Interface Properties
- Session Properties
- Session SAE J1939 Properties
- Signal Properties
- Subframe Properties
- System Properties
- IP-Stack Functions
- Socket Options
- Socket Functions