NI RFmx SpecAn Harmonics Configuration Functions - ni/grpc-device GitHub Wiki

Harmonics Configuration Functions

RFmxSpecAn_HarmCfgFundamentalRBW

int32 __stdcall RFmxSpecAn_HarmCfgFundamentalRBW (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 RBW, int32 RBWFilterType, float64 RRCAlpha);

Purpose

Configures the resolution bandwidth (RBW) filter to be applied on the acquired signal. The bandwidth of the filter specified is applied on the fundamental signal.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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).
RBW float64 Specifies the bandwidth, in Hz, of the RBW filter used to acquire the fundamental signal.
RBWFilterType int32 Specifies the shape of the digital RBW filter.
RFMXSPECAN_VAL_HARM_RBW_FILTER_TYPE_NONE (5) The measurement does not use any RBW filtering.
RFMXSPECAN_VAL_HARM_RBW_FILTER_TYPE_GAUSSIAN (1) An RBW filter with a Gaussian response is applied.
RFMXSPECAN_VAL_HARM_RBW_FILTER_TYPE_FLAT (2) An RBW filter with a flat response is applied.
RFMXSPECAN_VAL_HARM_RBW_FILTER_TYPE_SYNCH_TUNED_4 (3) An RBW filter with a 4-pole synchronously-tuned response is applied.
RFMXSPECAN_VAL_HARM_RBW_FILTER_TYPE_SYNCH_TUNED_5 (4) An RBW filter with a 5-pole synchronously-tuned response is applied.
RFMXSPECAN_VAL_HARM_RBW_FILTER_TYPE_RRC (6) The measurement uses RRC FIR coefficients for filtering.
RRCAlpha float64 Specifies the roll-off factor for the root-raised-cosine (RRC) filter.

Return Value

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

RFmxSpecAn_HarmCfgFundamentalMeasurementInterval

int32 __stdcall RFmxSpecAn_HarmCfgFundamentalMeasurementInterval (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 measurementInterval);

Purpose

Configures the acquisition time, in seconds, for acquiring the fundamental signal.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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 measurement.

Return Value

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

RFmxSpecAn_HarmCfgNumberOfHarmonics

int32 __stdcall RFmxSpecAn_HarmCfgNumberOfHarmonics (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfHarmonics);

Purpose

Configures the number of harmonics, including fundamental, to measure.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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).
numberOfHarmonics int32 Specifies the number of harmonics, including fundamental, to measure.

Return Value

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

RFmxSpecAn_HarmCfgAutoHarmonics

int32 __stdcall RFmxSpecAn_HarmCfgAutoHarmonics (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 autoHarmonicsSetupEnabled);

Purpose

Configures auto configuration of successive harmonics.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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).
autoHarmonicsSetupEnabled int32 Specifies whether to enable auto configuration of successive harmonics.
RFMXSPECAN_VAL_HARM_AUTO_HARMONICS_SETUP_ENABLED_FALSE (0) The measurement uses manual configuration for the harmonic order, harmonic bandwidth, and harmonic measurement interval.
RFMXSPECAN_VAL_HARM_AUTO_HARMONICS_SETUP_ENABLED_TRUE (1) The measurement uses the RFMXSPECAN_ATTR_HARM_NUMBER_OF_HARMONICS) attribute and configuration of the fundamental to configure successive harmonics.

Bandwidth of Nth order harmonic = N * (Bandwidth of fundamental).

Measurement interval of Nth order harmonics = (Measurement interval of fundamental)/N

Return Value

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

RFmxSpecAn_HarmCfgHarmonic

int32 __stdcall RFmxSpecAn_HarmCfgHarmonic (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 harmonicOrder, float64 harmonicBandwidth, int32 harmonicEnabled, float64 harmonicMeasurementInterval);

Purpose

Configures the harmonic frequency, acquisition bandwidth, and acquisition time for the harmonic, when you set the RFMXSPECAN_ATTR_HARM_AUTO_SETUP_ENABLED) attribute to RFMXSPECAN_VAL_HARM_AUTO_HARMONICS_SETUP_ENABLED_FALSE.

Use "harmonic<n>" as the selector string to configure this function.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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 and harmonic number. If you do not specify the signal name, the default signal instance is used.

Example:

"harmonic0"

"signal::sig1/harmonic0"

You can use the RFmxSpecAn_BuildHarmonicString2) function to build the selector string).
harmonicOrder int32 Specifies the order of the harmonic.

Frequency of Nth order harmonic = N * (Frequency of fundamental)
harmonicBandwidth float64 Specifies the resolution bandwidth, in Hz, for the harmonic.
harmonicEnabled int32 Specifies whether to enable a particular harmonic for measurement. Only the enabled harmonics are used to measure the total harmonic distortion (THD).
RFMXSPECAN_VAL_HARM_HARMONIC_ENABLED_FALSE (0) Disables the harmonic for measurement.
RFMXSPECAN_VAL_HARM_HARMONIC_ENABLED_TRUE (1) Enables the harmonic for measurement.
harmonicMeasurementInterval float64 Specifies the acquisition time, in seconds, for the harmonic.

Return Value

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

RFmxSpecAn_HarmCfgAveraging

int32 __stdcall RFmxSpecAn_HarmCfgAveraging (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 averagingEnabled, int32 averagingCount, int32 averagingType);

Purpose

Configures averaging for the harmonics measurement.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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_HARM_AVERAGING_ENABLED_FALSE (0) The measurement is performed on a single acquisition.
RFMXSPECAN_VAL_HARM_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_HARM_AVERAGING_ENABLED_TRUE.
averagingType int32 Specifies the averaging type for averaging multiple spectrum acquisitions. The averaged spectrum is used for the measurement. Refer to the Averaging section of the Spectrum) topic for more information about averaging types.
RFMXSPECAN_VAL_HARM_AVERAGING_TYPE_RMS (0) The power spectrum is linearly averaged. RMS averaging reduces signal fluctuations but not the noise floor.
RFMXSPECAN_VAL_HARM_AVERAGING_TYPE_LOG (1) The power spectrum is averaged in a logarithm scale.
RFMXSPECAN_VAL_HARM_AVERAGING_TYPE_SCALAR (2) The square root of the power spectrum is averaged.
RFMXSPECAN_VAL_HARM_AVERAGING_TYPE_MAXIMUM (3) The peak power in the spectrum at each frequency bin is retained from one acquisition to the next.
RFMXSPECAN_VAL_HARM_AVERAGING_TYPE_MINIMUM (4) The least power in the spectrum at each frequency bin is retained from one acquisition to the next.

Return Value

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

RFmxSpecAn_HarmCfgHarmonicArray

int32 __stdcall RFmxSpecAn_HarmCfgHarmonicArray (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 harmonicOrder[], float64 harmonicBandwidth[], int32 harmonicEnabled[], float64 harmonicMeasurementInterval[], int32 numberOfElements);

Purpose

Configures the harmonic frequency, acquisition bandwidth, and acquisition time for the harmonic, when you set the RFMXSPECAN_ATTR_HARM_AUTO_SETUP_ENABLED) attribute to RFMXSPECAN_VAL_HARM_AUTO_HARMONICS_SETUP_ENABLED_FALSE.

Supported devices: PXIe-5665, PXIe-5668

Parameters

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).
harmonicOrder int32[] Specifies the order of the harmonic.

Frequency of Nth order harmonic = N * (Frequency of fundamental)
harmonicBandwidth float64[] Specifies the array of resolution bandwidths, in Hz, for the harmonic.
harmonicEnabled int32[] Specifies whether to enable a particular harmonic for measurement. Only the enabled harmonics are used to measure the total harmonic distortion (THD).
RFMXSPECAN_VAL_HARM_HARMONIC_ENABLED_FALSE (0) Disables the harmonic for measurement.
RFMXSPECAN_VAL_HARM_HARMONIC_ENABLED_TRUE (1) Enables the harmonic for measurement.
harmonicMeasurementInterval float64[] Specifies the array of acquisition times, in seconds, for the harmonic.
numberOfElements int32 Specifies the number of elements in each array.

Return Value

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
⚠️ **GitHub.com Fallback** ⚠️