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

Phasenoise Configuration Functions

RFmxSpecAn_PhaseNoiseCfgRangeDefinition

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgRangeDefinition (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 rangeDefinition);

Purpose

Specifies how the measurement computes offset subranges.

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).
rangeDefinition int32 Specifies how the measurement computes offset subranges.
RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_MANUAL (0) Specify the offset sub-ranges used for the measurement. Use the RFMXSPECAN_ATTR_PHASENOISE_RANGE_START_FREQUENCY attribute and the RFMXSPECAN_ATTR_PHASENOISE_RANGE_STOP_FREQUENCY attribute to configure single or multiple range start and range stop frequencies.
RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_AUTO (1) Measurement computes offset sub-ranges by dividing the user configured offset range into multiple decade sub-ranges. The range is specified by the RFMXSPECAN_ATTR_PHASENOISE_START_FREQUENCY and the RFMXSPECAN_ATTR_PHASENOISE_STOP_FREQUENCY attributes.

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_PhaseNoiseCfgAutoRange

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgAutoRange (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 startFrequency, float64 stopFrequency, float64 RBWPercentage);

Purpose

Configures the offset range and the RBW percentage when you set the RFMXSpecAn_ATTR_PHASENOISE_RANGE_DEFINITION) attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_AUTO.

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).
startFrequency float64 Specifies the start frequency of the offset frequency when you set the RFMXSPECAN_ATTR_PHASENOISE_RANGE_DEFINITION attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_AUTO. This value is expressed in Hz.
stopFrequency float64 Specifies the stop frequency of the offset frequency range when you set the RFMXSPECAN_ATTR_PHASENOISE_RANGE_DEFINITION attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_AUTO. This value is expressed in Hz.
RBWPercentage float64 Specifies the RBW as a percentage of the start frequencyof each sub-range when you set the RFMXSPECAN_ATTR_PHASENOISE_RANGE_DEFINITION attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_AUTO. This value is expressed as a percentage.

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_PhaseNoiseCfgNumberOfRanges

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgNumberOfRanges (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfRanges);

Purpose

Configures the number of offset ranges when you set the RFMXSpecAn_ATTR_PHASENOISE_RANGE_DEFINITION) attribute to Manual.

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).
numberOfRanges int32 Specifies the number of manual ranges.

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_PhaseNoiseCfgRangeArray

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgRangeArray (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 rangeStartFrequency[], float64 rangeStopFrequency[], float64 rangeRBWPercentage[], int32 rangeAveragingCount[], int32 numberOfElements);

Purpose

Configures an array of the offset range, RBW percentage and averaging count when you set the RFMXSpecAn_ATTR_PHASENOISE_RANGE_DEFINITION) attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_MANUAL.

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).
rangeStartFrequency float64[] Specifies the start frequency for the specified subrange when you set the RFMXSPECAN_ATTR_PHASENOISE_RANGE_DEFINITION attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_MANUAL.
rangeStopFrequency float64[] Specifies the stop frequency for the specified subrange when you set the RFMXSPECAN_ATTR_PHASENOISE_RANGE_DEFINITION attribute to RFMXSPECAN_VAL_PHASENOISE_RANGE_DEFINITION_MANUAL. This value is expressed in Hz.
rangeRBWPercentage float64[] Specifies the RBW of the start offset of each sub-range. This value is expressed as a percentage.
rangeAveragingCount int32[] Specifies the averaging count for the specified range.
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_PhaseNoiseCfgAveragingMultiplier

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgAveragingMultiplier (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 averagingMultiplier);

Purpose

Configures the averaging multiplier.

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).
averagingMultiplier int32 Specifies the factor by which the averaging count for each sub-range to increase.

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_PhaseNoiseCfgSmoothing

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgSmoothing (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 smoothingType, float64 smoothingPercentage);

Purpose

Configures the smoothing type and smoothing percentage used to smoothen the measured log plot trace.

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).
smoothingType int32 Specifies the smoothing type used to smoothen a log plot trace.
RFMXSPECAN_VAL_PHASENOISE_SMOOTHING_TYPE_NONE (0) Smoothing is disabled.
RFMXSPECAN_VAL_PHASENOISE_SMOOTHING_TYPE_LINEAR (1) Performs linear moving average filtering on the measured phase noise log plot trace.
RFMXSPECAN_VAL_PHASENOISE_SMOOTHING_TYPE_LOGARITHMIC (2) Performs logarithmic moving average filtering on the measured phase noise log plot trace.
RFMXSPECAN_VAL_PHASENOISE_SMOOTHING_TYPE_MEDIAN (3) Performs moving median filtering on the measured phase noise log plot trace.
smoothingPercentage float64 Specifies the number of points to use in the moving average filter as a percentage of total number of points in the log plot trace. This value is expressed as a percentage.

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_PhaseNoiseCfgSpotNoiseFrequencyList

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgSpotNoiseFrequencyList (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 frequencyList[], int32 arraySize);

Purpose

Configures a list of frequencies at which the phase noise values are to be read using the smoothed log plot trace.

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).
frequencyList float64[] Specifies an array of offset frequencies at which the corresponding phase noise is measured using the smoothed log plot trace. This value is expressed in Hz.
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

RFmxSpecAn_PhaseNoiseCfgIntegratedNoise

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgIntegratedNoise (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 integratedNoiseRangeDefinition, float64 integratedNoiseStartFrequency[], float64 integratedNoiseStopFrequency[], int32 arraySize);

Purpose

Configures the integrated noise ranges. The smoothed log plot trace is used when computing integrated measurements.

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).
integratedNoiseRangeDefinition int32 Specifies whether to use the complete measurement range for computing integrated measurements, or to use the range that you specify.
integratedNoiseStartFrequency float64[] Specifies an array of the start frequencies for integrated measurement. This value is expressed in Hz.
integratedNoiseStopFrequency float64[] Specifies an array of the stop offset frequencies for integrated measurement. This value is expressed in Hz.
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

RFmxSpecAn_PhaseNoiseCfgSpurRemoval

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgSpurRemoval (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 spurRemovalEnabled, float64 peakExcursion);

Purpose

Configures enabling or disabling of the spur removal and the peak excursion to use when spur removal is enabled.

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).
spurRemovalEnabled int32 Specifies whether the spur removal is enabled or disabled.
RFMXSPECAN_VAL_PHASENOISE_SPUR_REMOVAL_ENABLED_FALSE (0) Disables spur removal on the log plot trace.
RFMXSPECAN_VAL_PHASENOISE_SPUR_REMOVAL_ENABLED_TRUE (1) Enables spur removal on the log plot trace.
peakExcursion float64 Specifies the minimum amplitude variation required in a signal to be considered as a peak. The signal must rise and fall above the threshold level by at least the peak excursion value to be considered as an eligible peak. The threshold is a curve fit performed on the measured phase noise.

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_PhaseNoiseCfgCancellation

int32 __stdcall RFmxSpecAn_PhaseNoiseCfgCancellation (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 cancellationEnabled, float64 cancellationThreshold, float32 frequency[], float32 referencePhaseNoise[], int32 arraySize);

Purpose

Configures the enabling or disabling of the phase noise cancellation, threshold cancellation, and the reference phase noise used for cancellation.

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).
cancellationEnabled int32 Specifies whether to enable or disable the phase noise cancellation.
RFMXSPECAN_VAL_PHASENOISE_CANCELLATION_ENABLED_FALSE (0) Disables phase noise cancellation.
RFMXSPECAN_VAL_PHASENOISE_CANCELLATION_ENABLED_TRUE (1) Enables phase noise cancellation. Specify the value to be used for phase noise cancellation in the RFMXSPECAN_ATTR_PHASENOISE_CANCELLATION_REFERENCE_PHASE_NOISE attribute.
cancellationThreshold float64 Specifies the minimum delta between the reference and pre-cancellation traces that must exist before any cancellation is performed. The delta is evaluated on a bin per bin basis. This value is expressed in dB.
frequency float32[] Specifies an array of frequency offsets where the reference phase noise has been measured. This value is expressed in Hz.
referencePhaseNoise float32[] Specifies an array of the reference phase noise at the frequency offsets. This value is expressed in dBc/Hz.
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
⚠️ **GitHub.com Fallback** ⚠️