Skip to content

NI RFmx SpecAn AMPM Configuration Functions

Alex Starche edited this page Feb 28, 2022 · 4 revisions

AMPM Configuration Functions

RFmxSpecAn_AMPMCfgMeasurementInterval

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

Purpose

Configures the acquisition time, in seconds, for the AMPM 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).
measurementInterval float64 Specifies the duration, in seconds, of the reference waveform considered for the AMPM measurement. When the reference waveform contains an idle duration, the AMPM measurement neglects the idle samples in the reference waveform leading up to the start of the first active portion of the reference waveform.

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_AMPMCfgMeasurementSampleRate

int32 __stdcall RFmxSpecAn_AMPMCfgMeasurementSampleRate (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 sampleRateMode, float64 sampleRate);

Purpose

Configures the acquisition sample rate, in samples per second (S/s), for the AMPM 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).
sampleRateMode int32 Specifies whether the acquisition sample rate is based on the reference waveform.
RFMXSPECAN_VAL_AMPM_MEASUREMENT_SAMPLE_RATE_MODE_USER (0) The acquisition sample rate is defined by the value of the sampleRate parameter.
RFMXSPECAN_VAL_AMPM_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_AMPM_MEASUREMENT_SAMPLE_RATE_MODE_USER.

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_AMPMCfgSynchronizationMethod

int32 __stdcall RFmxSpecAn_AMPMCfgSynchronizationMethod (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 synchronizationMethod);

Purpose

Configures the synchronization method used to synchronize the reference waveform and acquired waveform.

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).
synchronizationMethod int32 Specifies the method used for synchronization of acquired waveform with reference waveform.
RFMXSPECAN_VAL_AMPM_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_AMPM_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 AMPM concept help for more information.

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_AMPMCfgDUTAverageInputPower

int32 __stdcall RFmxSpecAn_AMPMCfgDUTAverageInputPower (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 DUTAverageInputPower);

Purpose

Configures the average power, in dBm, of the signal at the device under test (DUT) input port.

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).
DUTAverageInputPower float64 Specifies the average power, in dBm, of the signal at the DUT input port.

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_AMPMCfgReferenceWaveform

int32 __stdcall RFmxSpecAn_AMPMCfgReferenceWaveform (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 x0, float64 dx, NIComplexSingle referenceWaveform[], int32 arraySize, int32 idleDurationPresent, int32 signalType);

Purpose

Configures the reference waveform and its properties for the AMPM 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).
x0 float64 Specifies the start time, in seconds.
dx float64 Specifies the sample duration, in seconds.
referenceWaveform NIComplexSingle[] Specifies the complex baseband samples, in volts.
arraySize int32 Specifies the size of the referenceWaveform array.
idleDurationPresent int32 Specifies whether the reference waveform contains an idle duration.
RFMXSPECAN_VAL_AMPM_REFERENCE_WAVEFORM_IDLE_DURATION_PRESENT_FALSE (0) The reference waveform does not contain an idle duration.
RFMXSPECAN_VAL_AMPM_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_AMPM_SIGNAL_TYPE_MODULATED (0) The reference waveform is a cellular or connectivity standard signal.
RFMXSPECAN_VAL_AMPM_SIGNAL_TYPE_TONES (1) The reference waveform is a continuous signal of one or more tones.

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_AMPMCfgReferencePowerType

int32 __stdcall RFmxSpecAn_AMPMCfgReferencePowerType" (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 referencePowerType);

Purpose

Configures reference power used for AM to AM and AM to PM traces.

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 the reference power used for AM to AM and AM to PM traces. The default value is Input.
RFMXSPECAN_VAL_AMPM_REFERENCE_POWER_TYPE_INPUT (0) The instantaneous powers at the input port of device under test (DUT) forms the x-axis of AM to AM and AM to PM traces.
RFMXSPECAN_VAL_AMPM_REFERENCE_POWER_TYPE_OUTPUT (1) The instantaneous powers at the output port of DUT forms the x-axis of AM to AM and AM to PM traces.

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_AMPMCfgAMToAMCurveFit

int32 __stdcall RFmxSpecAn_AMPMCfgAMToAMCurveFit (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 AMToAMCurveFitOrder, int32 AMToAMCurveFitType);

Purpose

Configures the degree of the polynomial and the cost-function for approximating the measured AM-to-AM response of the device under test (DUT).

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).
AMToAMCurveFitOrder int32 Specifies the degree of the polynomial used to approximate the AM-to-AM characteristic of the device under test.
AMToAMCurveFitType int32 Specifies the polynomial approximation cost-function of the device under test AM-to-AM characteristic.
RFMXSPECAN_VAL_AMPM_AM_TO_AM_CURVE_FIT_TYPE_LEAST_SQUARE (0) Minimizes the energy of the polynomial approximation error.
RFMXSPECAN_VAL_AMPM_AM_TO_AM_CURVE_FIT_TYPE_LEAST_ABSOLUTE_RESIDUAL (1) Minimizes the magnitude of the polynomial approximation error.
RFMXSPECAN_VAL_AMPM_AM_TO_AM_CURVE_FIT_TYPE_BISQUARE (2) Excludes the effect of data outliers while minimizing the energy of the polynomial approximation error.

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_AMPMCfgAMToPMCurveFit

int32 __stdcall RFmxSpecAn_AMPMCfgAMToPMCurveFit (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 AMToPMCurveFitOrder, int32 AMToPMCurveFitType);

Purpose

Configures the degree of the polynomial and the cost-function, for approximating the measured AM-to-PM response of the device under test (DUT).

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).
AMToPMCurveFitOrder int32 Specifies the degree of the polynomial used to approximate the AM-to-PM characteristic of the device under test.
AMToPMCurveFitType int32 Specifies the polynomial approximation cost-function of the device under test AM-to-PM characteristic.
RFMXSPECAN_VAL_AMPM_AM_TO_PM_CURVE_FIT_TYPE_LEAST_SQUARE (0) Minimizes the energy of the polynomial approximation error.
RFMXSPECAN_VAL_AMPM_AM_TO_PM_CURVE_FIT_TYPE_LEAST_ABSOLUTE_RESIDUAL (1) Minimizes the magnitude of the polynomial approximation error.
RFMXSPECAN_VAL_AMPM_AM_TO_PM_CURVE_FIT_TYPE_BISQUARE (2) Excludes the effect of data outliers while minimizing the energy of the polynomial approximation error.

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_AMPMCfgThreshold

int32 __stdcall RFmxSpecAn_AMPMCfgThreshold (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 thresholdEnabled, float64 thresholdLevel, int32 thresholdType);

Purpose

Configures the threshold level for the samples that need to be considered for the AMPM 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).
thresholdEnabled int32 Specifies whether to enable thresholding of the acquired samples to use for the measurement.
RFMXSPECAN_VAL_AMPM_THRESHOLD_ENABLED_FALSE (0) All samples are considered for the measurement.
RFMXSPECAN_VAL_AMPM_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_AMPM_THRESHOLD_TYPE_RELATIVE (0) The threshold of the acquired samples is relative to the peak power, in dB.
RFMXSPECAN_VAL_AMPM_THRESHOLD_TYPE_ABSOLUTE (1) The threshold is the absolute power, in dBm.

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_AMPMCfgAveraging

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

Purpose

Configures averaging for the AMPM 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_AMPM_AVERAGING_ENABLED_FALSE (0) The measurement is performed on a single acquisition.
RFMXSPECAN_VAL_AMPM_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_AMPM_AVERAGING_ENABLED_TRUE.

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_AMPMCfgCompressionPoints

int32 __stdcall RFmxSpecAn_AMPMCfgCompressionPoints( niRFmxInstrHandle instrumentHandle, char selectorString[], int32 compressionPointEnabled, float64 compressionLevel[], int32 arraySize );

Purpose

Configures the threshold level for the samples that need to be considered for the AMPM 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).
compressionPointEnabled int32 Enables computation of compression points corresponding to the compression levels specified by the Compression Level parameter.
compressionLevel float64[] Specifies the compression levels for which the compression points are computed when the Compression Point Enabled parameter is set to True. This value is expressed in dB.
arraySize int32 Specifies the size of the 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

Table of Contents

Internal Development

Creating and Setting Up a gRPC Server

Server Security Support

Creating a gRPC Client

gRPC Client Examples

Session Utilities API Reference

Driver Documentation

gRPC API Differences From C API

Sharing Driver Sessions Between Clients

C API Docs
NI-DAQmx
NI-DCPOWER
NI-DIGITAL PATTERN DRIVER
NI-DMM
NI-FGEN
NI-FPGA
NI-RFmx Bluetooth
NI-RFmx NR
NI-RFmx WCDMA
NI-RFmx GSM
NI-RFmx CDMA2k
NI-RFmx Instr
NI-RFmx LTE
NI-RFmx SpecAn
NI-RFmx TD-SCDMA
NI-RFmx WLAN
NI-RFSA
NI-RFSG
NI-SCOPE
NI-SWITCH
NI-TCLK
NI-XNET
Clone this wiki locally