Examines the input signal to calculate the peak power level and sets it as the value of the RFMXPULSE_ATTR_REFERENCE_LEVEL attribute. Use this function to help calculate an approximate setting for the reference level.

Syntax

int32 __stdcall RFmxPulse_AutoLevel(niRFmxInstrHandle instrumentHandle, char selectorString[], float64 bandwidth, float64 measurementInterval, float64 *referenceLevel)

Remarks

The RFmxPulse Auto Level function does the following:
  1. Resets the mixer level, mixer level offset and IF output power offset.

  2. Sets the starting reference level to the maximum reference level supported by the device based on the current RF attenuation, mechanical attenuation and preamp enabled settings.  

  3. Iterates to adjust the reference level based on the input signal peak power.  

  4. Uses immediate triggering and restores the trigger settings back to user setting after completing execution.

You can also specify the starting reference level using the RFMXPULSE_ATTR_AUTO_LEVEL_INITIAL_REFERENCE_LEVEL attribute.

When using PXIe-5663, 5665, or 5668R devices, NI recommends that you set an appropriate value for mechanical attenuation before calling the RFmx Pulse Auto Level function. Setting an appropriate value for mechanical attenuation reduces the number of times the attenuator settings are changed by this function, thus reducing wear and tear, and maximizing the life time of the attenuator.

Parameters

NameDirectionTypeDescription
instrumentHandle[in]niRFmxInstrHandle

This parameter specifies the RFmx session refnum. Instrument Handle In is obtained from the RFmxInstr_Initialize function.

selectorString[in]char[]

This parameter specifies a Selector String comprising of the signal name. If you do not specify the signal name, the default signal instance is used. The default value is "" (empty string).

Example:

""

"signal::sig1"

bandwidth[in]float64

This parameter specifies the bandwidth, in Hz, of the signal to be analyzed. The default value is 80 MHz.

measurementInterval[in]float64

This parameter specifies the acquisition length. Use this value to compute the number of samples to acquire from the signal analyzer. This value is expressed in seconds. The default value is 10 ms.

Auto Level function does not use any trigger for acquisition. It ignores the user-configured trigger attributes. NI recommends that you set a sufficiently high measurement interval to ensure that the acquired waveform is at least as long as one period of the signal.

referenceLevel[out]float64 *

This parameter returns the estimated peak power level of the input signal. This value is expressed in dBm for RF devices and as Vpk-pk for baseband devices.

Returns

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 RFmxPulse_GetError function.

The general meaning of the status code is as follows:

Value

Meaning

0

Success

Positive Values

Warnings

Negative Values

Errors