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

ACP Configuration Functions

RFmxSpecAn_ACPCfgCarrierAndOffsets

int32 __stdcall RFmxSpecAn_ACPCfgCarrierAndOffsets (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 integrationBandwidth, int32 numberOfOffsets, float64 channelSpacing);

Purpose

Configures a carrier channel with offset channels on both sides of the carrier as specified by the number of offsets. The offset channels are separated by +/- n*channel spacing from the center of the carrier. Power is measured over the integration bandwidth for each channel.

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).
integrationBandwidth float64 Specifies the frequency range, in Hz, over which the measurement integrates the carrier power.
numberOfOffsets int32 Specifies the number of offset channels.
channelSpacing float64 Specifies the spacing between offset channels.

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_ACPCfgNumberOfCarriers

int32 __stdcall RFmxSpecAn_ACPCfgNumberOfCarriers (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfCarriers);

Purpose

Configures the number of carriers for the adjacent channel power (ACP) measurement.

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).
numberOfCarriers int32 Specifies the number of carriers.

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_ACPCfgCarrierMode

int32 __stdcall RFmxSpecAn_ACPCfgCarrierMode (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 carrierMode);

Purpose

Configures whether to consider the carrier power as part of total carrier power measurement.

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

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

Example:

"carrier0"

"signal::sig1/carrier0"

You can use the RFmxSpecAn_BuildCarrierString2) function to build the selector string).
carrierMode int32 Specifies whether to consider the carrier power as part of total carrier power measurement.
RFMXSPECAN_VAL_ACP_CARRIER_MODE_PASSIVE (0) The carrier power is not considered as part of total carrier power.
RFMXSPECAN_VAL_ACP_CARRIER_MODE_ACTIVE (1) The carrier power is considered as part of total carrier power.

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_ACPCfgCarrierFrequency

int32 __stdcall RFmxSpecAn_ACPCfgCarrierFrequency (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 carrierFrequency);

Purpose

Configures the center frequency of the carrier, relative to the RF center frequency.

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

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

Example:

"carrier0"

"signal::sig1/carrier0"

You can use the RFmxSpecAn_BuildCarrierString2) function to build the selector string).
carrierFrequency float64 Specifies the center frequency, in Hz, of the carrier, relative to the RF center frequency).

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_ACPCfgCarrierIntegrationBandwidth

int32 __stdcall RFmxSpecAn_ACPCfgCarrierIntegrationBandwidth (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 integrationBandwidth);

Purpose

Configures the frequency range, in Hz, over which the measurement integrates the carrier power.

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

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

Example:

"carrier0"

"signal::sig1/carrier0"

You can use the RFmxSpecAn_BuildCarrierString2) function to build the selector string).
integrationBandwidth float64 Specifies the frequency range, in Hz, over which the measurement integrates the carrier power.

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_ACPCfgCarrierRRCFilter

int32 __stdcall RFmxSpecAn_ACPCfgCarrierRRCFilter (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 RRCFilterEnabled, float64 RRCAlpha);

Purpose

Configures the root-raised-cosine (RRC) filter to apply on the carrier channel before measuring the carrier channel power.

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

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

Example:

"carrier0"

"signal::sig1/carrier0"

You can use the RFmxSpecAn_BuildCarrierString2) function to build the selector string).
RRCFilterEnabled int32 Specifies whether to apply the root-raised-cosine (RRC) filter on the acquired carrier channel before measuring the carrier channel power.
RFMXSPECAN_VAL_ACP_RRC_FILTER_ENABLED_FALSE (0) The channel power of the acquired carrier channel is measured directly.
RFMXSPECAN_VAL_ACP_RRC_FILTER_ENABLED_TRUE (1) The RRC filter is applied on the acquired carrier channel before measuring the carrier channel power.
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_ACPCfgNumberOfOffsets

int32 __stdcall RFmxSpecAn_ACPCfgNumberOfOffsets (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfOffsets);

Purpose

Configures the number of offsets for the adjacent channel power (ACP) measurement.

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).
numberOfOffsets int32 Specifies the number of offset channels.

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_ACPCfgOffset

int32 __stdcall RFmxSpecAn_ACPCfgOffset (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 offsetFrequency, int32 offsetSideband, int32 offsetEnabled);

Purpose

Configures an offset channel on one or both sides of the carrier with center-to-center spacing as specified by the offset frequency and offset frequency definition. In case of multiple carriers, offset frequency is relative to the closest carrier.

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

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

Example:

"offset0"

"signal::sig1/offset0"

You can use the RFmxSpecAn_BuildOffsetString2) function to build the selector string).
offsetFrequency float64 Specifies the center or edge frequency, in Hz, of the offset channel, relative to the center frequency of the closest carrier as determined by the RFMXSPECAN_ATTR_ACP_OFFSET_FREQUENCY_DEFINITION) attribute. The sign of offset frequency is ignored and the offsetSideband parameter determines whether the upper, lower, or both offsets are measured.
offsetSideband int32 Specifies whether the offset segment is present on one side, or on both sides of the carriers.
RFMXSPECAN_VAL_ACP_OFFSET_SIDEBAND_NEGATIVE (0) Configures a lower offset segment, which is an offset segment with negative offset frequency, relative to the lowest center frequency of the carrier.
RFMXSPECAN_VAL_ACP_OFFSET_SIDEBAND_POSITIVE (1) Configures an upper offset segment, which is an offset segment with positive offset frequency, relative to the highest center frequency of the carrier.
RFMXSPECAN_VAL_ACP_OFFSET_SIDEBAND_BOTH (2) Specifies that both negative and positive offset segments are configured.
offsetEnabled int32 Specifies whether to enable the offset channel for ACP measurement.
RFMXSPECAN_VAL_ACP_OFFSET_ENABLED_FALSE (0) Disables the offset channel for ACP measurement.
RFMXSPECAN_VAL_ACP_OFFSET_ENABLED_TRUE (1) Enables the offset channel for ACP 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_ACPCfgOffsetIntegrationBandwidth

int32 __stdcall RFmxSpecAn_ACPCfgOffsetIntegrationBandwidth (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 integrationBandwidth);

Purpose

Configures the frequency range, in Hz, over which the measurement integrates the offset channel power.

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

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

Example:

"offset0"

"signal::sig1/offset0"

You can use the RFmxSpecAn_BuildOffsetString2) function to build the selector string).
integrationBandwidth float64 Specifies the frequency range, in Hz, over which the measurement integrates the carrier power.

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_ACPCfgOffsetPowerReference

int32 __stdcall RFmxSpecAn_ACPCfgOffsetPowerReference (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 offsetReferenceCarrier, int32 offsetReferenceSpecific);

Purpose

Configures the power reference to use for measuring the relative power of the offset channel.

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

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

Example:

"offset0"

"signal::sig1/offset0"

You can use the RFmxSpecAn_BuildOffsetString2) function to build the selector string).
offsetReferenceCarrier int32 Specifies the carrier to be used as power reference to measure offset channel relative power. The offset channel power is measured only if you set the RFMXSPECAN_ATTR_ACP_CARRIER_MODE) attribute of the reference carrier to RFMXSPECAN_VAL_ACP_CARRIER_MODE_ACTIVE.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_CLOSEST (0) The measurement uses the power measured in the carrier closest to the offset channel center frequency, as the power reference.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_HIGHEST (1) The measurement uses the highest power measured among all the active carriers as the power reference.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_COMPOSITE (2) The measurement uses the sum of powers measured in all the active carriers as the power reference.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_SPECIFIC (3) The measurement uses the power measured in the carrier that has an index specified by the RFMXSPECAN_ATTR_ACP_OFFSET_POWER_REFERENCE_SPECIFIC) attribute, as the power reference.
offsetReferenceSpecific int32 Specifies the index of the carrier to be used as the reference carrier. The power measured in this carrier is used as the power reference for measuring the offset channel relative power, when you set the offsetReferenceCarrier parameter to RFMXSPECAN_VAL_ACP_OFFSET_REFERENCE_CARRIER_SPECIFIC.

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_ACPCfgOffsetRelativeAttenuation

int32 __stdcall RFmxSpecAn_ACPCfgOffsetRelativeAttenuation (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 relativeAttenuation);

Purpose

Configures the attenuation, in dB, relative to the external attenuation.

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

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

Example:

"offset0"

"signal::sig1/offset0"

You can use the RFmxSpecAn_BuildOffsetString2) function to build the selector string).
relativeAttenuation float64 Specifies the attenuation, in dB, relative to the external attenuation. Use this parameter to compensate for variations in external attenuation when the offset channels are spread wide in frequency.

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_ACPCfgOffsetRRCFilter

int32 __stdcall RFmxSpecAn_ACPCfgOffsetRRCFilter (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 RRCFilterEnabled, float64 RRCAlpha);

Purpose

Configures the root raised cosine (RRC) channel filter to be applied on the offset channel before measuring channel power.

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

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

Example:

"offset0"

"signal::sig1/offset0"

You can use the RFmxSpecAn_BuildOffsetString2) function to build the selector string).
RRCFilterEnabled int32 Specifies whether to apply the root-raised-cosine (RRC) filter on the acquired carrier channel before measuring the carrier channel power.
RFMXSPECAN_VAL_ACP_RRC_FILTER_ENABLED_FALSE (0) The channel power of the acquired carrier channel is measured directly.
RFMXSPECAN_VAL_ACP_RRC_FILTER_ENABLED_TRUE (1) The RRC filter is applied on the acquired carrier channel before measuring the carrier channel power.
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_ACPCfgPowerUnits

int32 __stdcall RFmxSpecAn_ACPCfgPowerUnits (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 powerUnits);

Purpose

Configures the units for the absolute power.

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).
powerUnits int32 Specifies the units for the absolute power.
RFMXSPECAN_VAL_ACP_POWER_UNITS_DBM (0) The absolute powers are reported in dBm.
RFMXSPECAN_VAL_ACP_POWER_UNITS_DBM_PER_HZ (1) The absolute powers are reported in dBm/Hz.

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_ACPCfgMeasurementMethod

int32 __stdcall RFmxSpecAn_ACPCfgMeasurementMethod (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 measurementMethod);

Purpose

Configures the method for performing the adjacent channel power (ACP) measurement.

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).
measurementMethod int32 Specifies the method for performing the ACP measurement.
RFMXSPECAN_VAL_ACP_MEASUREMENT_METHOD_NORMAL (0) The ACP measurement acquires the spectrum using the same signal analyzer setting across frequency bands. Use this method when measurement speed is desirable over higher dynamic range.
RFMXSPECAN_VAL_ACP_MEASUREMENT_METHOD_DYNAMIC_RANGE (1) The ACP measurement acquires the spectrum using the hardware-specific optimizations for different frequency bands. Use this method to get the best dynamic range.
supportedDevices: PXIe-5665, PXIe-5668.
RFMXSPECAN_VAL_ACP_MEASUREMENT_METHOD_SEQUENTIAL_FFT (2)

The ACP measurement acquires I/Q samples for a duration specified by the RFMXSPECAN_ATTR_ACP_SWEEP_TIME_INTERVAL attribute. These samples are divided into smaller chunks. The size of each chunk is defined by the RFMXSPECAN_ATTR_ACP_SEQUENTIAL_FFT_SIZE attribute. The overlap between the chunks is defined by the RFMXSPECAN_ATTR_ACP_FFT_OVERLAP_MODE attribute. FFT is computed on each of these chunks. The resultant FFTs are averaged to get the spectrum and is used to compute ACP. If the total acquired samples is not an integer multiple of the FFT size, the remaining samples at the end of acquisition are not used for the measurement. Sequential FFT method should be used for the following scenarios.

1. While performing fast ACP measurements by utilizing smaller FFT sizes. However, accuracy of the results may be reduced.

2. When measuring signals with time-varying spectral characteristics, sequential FFT with overlap mode set to Automatic should be used.

The following attributes have limited support when you set the RFMXSPECAN_ATTR_ACP_MEASUREMENT_METHOD attribute to RFMXSPECAN_VAL_ACP_MEASUREMENT_METHOD_SEQUENTIAL_FFT.

 The RFMXSPECAN_ATTR_ACP_RBW_FILTER_AUTO_BANDWIDTH attribute will only support RFMXSPECAN_VAL_ACP_RBW_AUTO_TRUE value.

   The RFMXSPECAN_ATTR_ACP_RBW_FILTER_TYPE attribute will only support RFMXSPECAN_VAL_ACP_RBW_FILTER_TYPE_FFT_BASED value.

   The RFMXSPECAN_ATTR_ACP_SWEEP_TIME_AUTO attribute will only support RFMXSPECAN_VAL_ACP_SWEEP_TIME_AUTO_FALSE value.

   The RFMXSPECAN_ATTR_ACP_FFT_WINDOW attribute will only support RFMXSPECAN_VAL_ACP_FFT_WINDOW_NONE value.

   The RFMXSPECAN_ATTR_ACP_AVERAGING_COUNT attribute will only support a value of 1.

   The RFMXSPECAN_ATTR_ACP_NOISE_COMPENSATION_ENABLED attribute will only support RFMXSPECAN_VAL_ACP_NOISE_COMPENSATION_ENABLED_FALSE value.

   The RFMXSPECAN_ATTR_ACP_NUMBER_OF_ANALYSIS_THREADS attribute will only support a value of 1.

   The RFMXSPECAN_ATTR_ACP_AMPLITUDE_CORRECTION_TYPE attribute will only support a value of RFMXSPECAN_VAL_ACP_AMPLITUDE_CORRECTION_TYPE_RF_CENTER_FREQUENCY.

   The RFMXSPECAN_ATTR_ACP_OFFSET_RELATIVE_ATTENUATION attribute will only support a value of 0.

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_ACPCfgNoiseCompensationEnabled

int32 __stdcall RFmxSpecAn_ACPCfgNoiseCompensationEnabled (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 noiseCompensationEnabled);

Purpose

Configures compensation of the channel powers for the inherent noise floor of the signal analyzer.

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).
noiseCompensationEnabled int32 Specifies whether to enable compensation of the channel powers for the inherent noise floor of the signal analyzer.
RFMXSPECAN_VAL_ACP_NOISE_COMPENSATION_ENABLED_FALSE (0) Disables compensation of the channel powers for the noise floor of the signal analyzer.
RFMXSPECAN_VAL_ACP_NOISE_COMPENSATION_ENABLED_TRUE (1)

Enables compensation of the channel powers for the noise floor of the signal analyzer. The noise floor of the signal analyzer is measured for the RF path used by the ACP measurement and cached for future use. If signal analyzer or measurement parameters change, noise floors are measured again.

Supported Devices: PXIe-5663/5665/5668, PXIe-5830/5831/5832

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_ACPValidateNoiseCalibrationData

int32 __stdcall RFmxSpecAn_ACPValidateNoiseCalibrationData (niRFmxInstrHandle instrumentHandle, char selectorString[], int32* noiseCalibrationDataValid);

Purpose

Indicates whether calibration data is valid for the configuration specified by the signal name in the selectorString parameter.

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).
Output
Name Type Description
noiseCalibrationDataValid int32* Returns whether the calibration data is valid.

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_ACPCfgRBWFilter

int32 __stdcall RFmxSpecAn_ACPCfgRBWFilter (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 RBWAuto, float64 RBW, int32 RBWFilterType);

Purpose

Configures the resolution bandwidth (RBW) filter.

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).
RBWAuto int32 Specifies whether the measurement computes the RBW. Refer to the RBW and Sweep Time section in the ACP) topic for more information about RBW and sweep time.
RFMXSPECAN_VAL_ACP_RBW_AUTO_FALSE (0) The measurement uses the RBW that you specify in the RBW parameter.
RFMXSPECAN_VAL_ACP_RBW_AUTO_TRUE (1) The measurement computes the RBW.
RBW float64 Specifies the bandwidth, in Hz, of the RBW filter used to sweep the acquired carrier signal, when you set the RBWAuto parameter to RFMXSPECAN_VAL_ACP_RBW_AUTO_FALSE.
RBWFilterType int32 Specifies the shape of the digital RBW filter.
RFMXSPECAN_VAL_ACP_RBW_FILTER_TYPE_FFT_BASED (0) No RBW filtering is performed.
RFMXSPECAN_VAL_ACP_RBW_FILTER_TYPE_GAUSSIAN (1) An RBW filter with a Gaussian response is applied.
RFMXSPECAN_VAL_ACP_RBW_FILTER_TYPE_FLAT (2) An RBW filter with a flat response is applied.
RFMXSPECAN_VAL_ACP_RBW_FILTER_TYPE_SYNCH_TUNED_4 (3) An RBW filter with a 4-pole synchronously-tuned response is applied.
RFMXSPECAN_VAL_ACP_RBW_FILTER_TYPE_SYNCH_TUNED_5 (4) An RBW filter with a 5-pole synchronously-tuned response is applied.

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_ACPCfgSweepTime

int32 __stdcall RFmxSpecAn_ACPCfgSweepTime (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 sweepTimeAuto, float64 sweepTimeInterval);

Purpose

Configures the sweep time.

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).
sweepTimeAuto int32 Specifies whether the measurement computes the sweep time.
RFMXSPECAN_VAL_ACP_SWEEP_TIME_AUTO_FALSE (0) The measurement uses the sweep time that you specify in the sweepTimeInterval parameter.
RFMXSPECAN_VAL_ACP_SWEEP_TIME_AUTO_TRUE (1) The measurement calculates the sweep time based on the value of the RFMXSPECAN_ATTR_ACP_RBW_FILTER_BANDWIDTH) attribute. Refer to the ACP) topic for more information about RBW.
sweepTimeInterval float64 Specifies the sweep time, in seconds, when you set the sweepTimeAuto parameter to RFMXSPECAN_VAL_ACP_SWEEP_TIME_AUTO_FALSE.

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_ACPCfgAveraging

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

Purpose

Configures averaging for the adjacent channel power (ACP) measurement.

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_ACP_AVERAGING_ENABLED_FALSE (0) The measurement is performed on a single acquisition.
RFMXSPECAN_VAL_ACP_AVERAGING_ENABLED_TRUE (1) The measurement uses the averagingCount parameter to calculate the number of acquisitions over which the spectrum is averaged.
averagingCount int32 Specifies the number of acquisitions used for averaging when you set the averagingEnabled parameter to RFMXSPECAN_VAL_ACP_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_ACP_AVERAGING_TYPE_RMS (0) The power spectrum is linearly averaged. RMS averaging reduces signal fluctuations but not the noise floor.
RFMXSPECAN_VAL_ACP_AVERAGING_TYPE_LOG (1) The power spectrum is averaged in a logarithm scale.
RFMXSPECAN_VAL_ACP_AVERAGING_TYPE_SCALAR (2) The square root of the power spectrum is averaged.
RFMXSPECAN_VAL_ACP_AVERAGING_TYPE_MAXIMUM (3) The peak power in the spectrum at each frequency bin is retained from one acquisition to the next.
RFMXSPECAN_VAL_ACP_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_ACPCfgFFT

int32 __stdcall RFmxSpecAn_ACPCfgFFT (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 FFTWindow, float64 FFTPadding);

Purpose

Configures window and FFT to obtain a spectrum for the adjacent channel power (ACP) measurement.

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).
FFTWindow int32 Specifies the FFT window type to use to reduce spectral leakage. Refer to the Window and FFT section of the Spectrum) topic for more information about FFT window types.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_NONE (0) Analyzes transients for which duration is shorter than the window length. You can also use this window type to separate two tones with frequencies close to each other but with almost equal amplitudes.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_FLAT_TOP (1) Measures single-tone amplitudes accurately.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_HANNING (2) Analyzes transients for which duration is longer than the window length. You can also use this window type to provide better frequency resolution for noise measurements.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_HAMMING (3) Analyzes closely-spaced sine waves.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_GAUSSIAN (4) Provides a good balance of spectral leakage, frequency resolution, and amplitude attenuation. Hence, this windowing is useful for time-frequency analysis.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_BLACKMAN (5) Analyzes single tone because it has a low maximum side lobe level and a high side lobe roll-off rate.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_BLACKMAN_HARRIS (6) Useful as a good general purpose window, having side lobe rejection >90dB and having a moderately wide main lobe.
RFMXSPECAN_VAL_ACP_FFT_WINDOW_KAISER_BESSEL (7) Separates two tones with frequencies close to each other but with widely-differing amplitudes.
FFTPadding float64 Specifies the factor by which the time-domain waveform is zero-padded before FFT. The FFT size is given by the following formula: waveform size * padding. This parameter is used only when the acquisition span is less than the device instantaneous bandwidth of the device.

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_ACPCfgOffsetFrequencyDefinition

int32 __stdcall ACPCfgOffsetFrequencyDefinition (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 offsetFrequencyDefinition);

Purpose

Configures the offset frequency definition for the ACP measurement.

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

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

Example:

"offset0"

"signal::sig1/offset0"

You can use the RFmxSpecAn_BuildOffsetString2) function to build the selector string).
offsetFrequencyDefinition int32 Specifies the offset frequency definition. The default value is RFMXSPECAN_VAL_ACP_CARRIER_CENTER_TO_OFFSET_CENTER.
RFMXSPECAN_VAL_ACP_CARRIER_CENTER_TO_OFFSET_CENTER (0) The offset frequency is defined from the center of the closest carrier to the center of the offset channel.
RFMXSPECAN_VAL_ACP_CARRIER_CENTER_TO_OFFSET_EDGE (1) The offset frequency is defined from the center of the closest carrier to the nearest edge of the offset channel.

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

ACP Array Apis

RFmxSpecAn_ACPCfgOffsetArray

int32 __stdcall RFmxSpecAn_ACPCfgOffsetArray (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 offsetFrequency[], int32 offsetSideband[], int32 offsetEnabled[], int32 numberOfElements);

Purpose

Configures an offset channel on one or both sides of carrier with center-to-center spacing as specified by the offset frequency and offset frequency definition. In case of multiple carriers, offset frequency is relative to the closest carrier.

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).
offsetFrequency float64[] Specifies an array of center or edge frequencies, in Hz, of the offset channel, relative to the center frequency of the closest carrier as determined by the RFMXSPECAN_ATTR_ACP_OFFSET_FREQUENCY_DEFINITION) attribute. The sign of offset frequency is ignored and the RFMXSPECAN_ATTR_ACP_OFFSET_SIDEBAND) attribute determines whether the upper, lower, or both offsets are measured.
offsetSideband int32[] Specifies whether the offset segment is present on one side, or on both sides of the carriers. Specify NULL if you do not want to set a value for this array.
RFMXSPECAN_VAL_ACP_OFFSET_FREQUENCY_SIDEBAND_NEG (0) Configures a lower offset segment, which is an offset segment with negative offset frequency, relative to the lowest center frequency of the carrier.
RFMXSPECAN_VAL_ACP_OFFSET_FREQUENCY_SIDEBAND_POS (1) Configures an upper offset segment, which is an offset segment with positive offset frequency, relative to the highest center frequency of the carrier.
RFMXSPECAN_VAL_ACP_OFFSET_FREQUENCY_SIDEBAND_BOTH (2) Specifies that both negative and positive offset segments are configured.
offsetEnabled int32[] Specifies whether to enable the offset channel for ACP measurement. Specify NULL if you do not want to set a value for this array.
RFMXSPECAN_VAL_ACP_OFFSET_ENABLED_FALSE (0) Disables the offset channel for ACP measurement.
RFMXSPECAN_VAL_ACP_OFFSET_ENABLED_TRUE (1) Enables the offset channel for ACP measurement.
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

RFmxSpecAn_ACPCfgOffsetPowerReferenceArray

int32 __stdcall RFmxSpecAn_ACPCfgOffsetPowerReferenceArray (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 offsetPowerReferenceCarrier[], int32 offsetPowerReferenceSpecific[], int32 numberOfElements);

Purpose

Configures the power reference to use for measuring the relative power of the offset channel.

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).
offsetPowerReferenceCarrier int32[] Specifies the array of carriers to be used as power reference to measure offset channel relative power. The offset channel power is measured only if you set the RFMXSPECAN_ATTR_ACP_CARRIER_MODE) attribute of the reference carrier to RFMXSPECAN_VAL_ACP_CARRIER_MODE_ACTIVE. Specify NULL if you do not want to set a value for this array.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_CLOSEST (0) The measurement uses the power measured in the carrier closest to the offset channel center frequency, as the power reference.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_HIGHEST (1) The measurement uses the highest power measured among all the active carriers as the power reference.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_COMPOSITE (2) The measurement uses the sum of powers measured in all the active carriers as the power reference.
RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_SPECIFIC (3) The measurement uses the power measured in the carrier that has an index specified by the RFMXSPECAN_ATTR_ACP_OFFSET_POWER_REFERENCE_SPECIFIC) attribute, as the power reference.
offsetPowerReferenceSpecific int32[] Specifies the array of carrier indexes to use as the reference carrier for each offset channel. The power measured in this carrier is used as the power reference for measuring the offset channel relative power, when you set the offsetPowerReferenceCarrier parameter to RFMXSPECAN_VAL_ACP_OFFSET_POWER_REFERENCE_CARRIER_SPECIFIC. Specify NULL if you do not want to set a value for this array.
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

RFmxSpecAn_ACPCfgOffsetRelativeAttenuationArray

int32 __stdcall RFmxSpecAn_ACPCfgOffsetRelativeAttenuationArray (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 relativeAttenuation[], int32 numberOfElements);

Purpose

Configures the attenuation, in dB, relative to the external attenuation.

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).
relativeAttenuation float64[] Specifies an array of attenuation values, in dB, relative to the external attenuation. Use this parameter to compensate for the variations in external attenuation when offset channels are spread wide in frequency. Specify NULL if you do not want to set a value for this array.
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

RFmxSpecAn_ACPCfgOffsetRRCFilterArray

int32 __stdcall RFmxSpecAn_ACPCfgOffsetRRCFilterArray (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 RRCFilterEnabled[], float64 RRCAlpha[], int32 numberOfElements);

Purpose

Configures the RRC channel filter to be applied on the offset channel before measuring channel power.

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).
RRCFilterEnabled int32[] Specifies whether to apply the RRC filter on the acquired offset channel before measuring the offset channel power. Specify NULL if you do not want to set a value for this array.
RFMXSPECAN_VAL_ACP_RRC_FILTER_ENABLED_FALSE (0) The channel power of the acquired offset channel is measured directly.
RFMXSPECAN_VAL_ACP_RRC_FILTER_ENABLED_TRUE (1) The measurement applies the RRC filter on the acquired offset channel before measuring the offset channel power.
RRCAlpha float64[] Specifies an array of roll-off factors of the RRC filter to apply on the acquired offset channel before measuring the offset channel power. Specify NULL if you do not want to set a value for this array.
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** ⚠️