Skip to content

NI RFmx LTE ACP Configuration Functions

Dane Stull edited this page Feb 28, 2022 · 2 revisions

ACP Configuration Functions

RFmxLTE_ACPCfgAveraging

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

Purpose

Configures averaging for the ACP measurement.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
averagingEnabled int32 Specifies whether to enable averaging for the measurement.
RFMXLTE_VAL_ACP_AVERAGING_ENABLED_FALSE (0) The measurement is performed on a single acquisition.
RFMXLTE_VAL_ACP_AVERAGING_ENABLED_TRUE (1) The measurement is averaged over multiple acquisitions. The number of acquisitions is obtained by the averagingCount parameter.
averagingCount int32 Specifies the number of acquisitions used for averaging when you set the averagingEnabled parameter to RFMXLTE_VAL_ACP_AVERAGING_ENABLED_TRUE.
averagingType int32 Specifies the averaging type for averaging multiple spectrum acquisitions. The averaged spectrum is used for the measurement.
RFMXLTE_VAL_ACP_AVERAGING_TYPE_RMS (0) The power spectrum is linearly averaged. RMS averaging reduces signal fluctuations but not the noise floor.
RFMXLTE_VAL_ACP_AVERAGING_TYPE_LOG (1) The power spectrum is averaged in a logarithmic scale.
RFMXLTE_VAL_ACP_AVERAGING_TYPE_SCALAR (2) The square root of the power spectrum is averaged.
RFMXLTE_VAL_ACP_AVERAGING_TYPE_MAXIMUM (3) The peak power in the spectrum at each frequency bin is retained from one acquisition to the next.
RFMXLTE_VAL_ACP_AVERAGING_TYPE_MINIMUM (4) The lowest 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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgSweepTime

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

Purpose

Configures the sweep time.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
sweepTimeAuto int32 Specifies whether the measurement computes the sweep time.
RFMXLTE_VAL_ACP_SWEEP_TIME_AUTO_FALSE (0) The measurement uses the sweep time that you specify in the sweepTimeInterval parameter.
RFMXLTE_VAL_ACP_SWEEP_TIME_AUTO_TRUE (1) The measurement uses a sweep time of 1 ms.
sweepTimeInterval float64 Specifies the sweep time when you set the sweepTimeAuto parameter to RFMXLTE_VAL_ACP_SWEEP_TIME_AUTO_FALSE. This value is expressed in seconds.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgNoiseCompensationEnabled

int32 __stdcall RFmxLTE_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 Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_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.
RFMXLTE_VAL_ACP_NOISE_COMPENSATION_ENABLED_FALSE (0) Disables compensation of the channel powers for the noise floor of the signal analyzer.
RFMXLTE_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 remeasured.
supportedDevices: 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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgMeasurementMethod

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

Purpose

Configures the method for performing the ACP measurement.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
measurementMethod int32 Specifies the method for performing the ACP measurement.
RFMXLTE_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.
RFMXLTE_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. Supported Devices: PXIe-5665/5668R
RFMXLTE_VAL_ACP_MEASUREMENT_METHOD_SEQUENTIAL_FFT (2) The ACP measurement acquires I/Q samples specified by the RFMXLTE_ATTR_ACP_SWEEP_TIME_INTERVAL) attribute. These samples are divided into smaller chunks defined by the RFMXLTE_ATTR_ACP_SEQUENTIAL_FFT_SIZE) attribute, and 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 the acquisition are not used. If the total acquired samples is not an integer multiple of the FFT size, the remaining samples at the end of the acquisition are not used. Use this method to optimize for speed. The accuracy of results may be reduced when using this measurement method.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgConfigurableNumberOfOffsetsEnabled

int32 __stdcall RFmxLTE_ACPCfgConfigurableNumberOfOffsetsEnabled (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 configurableNumberOfOffsetsEnabled);

Purpose

Configures whether the number of offsets will be computed by the measurement or configured by the user.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
configurableNumberOfOffsetsEnabled int32 Specifies whether the number of offsets is computed by measurement or configured by you. When the carrier bandwidth is 200 kHz or the RFMXLTE_ATTR_LINK_DIRECTION) is RFMXLTE_VAL_LINK_DIRECTION_DOWNLINK, the default value is false.
Incase of downlink, this attribute is applicable only for number of EUTRA offsets. For the number of UTRA offsets, only 3GPP specification defined values are supported.
RFMXLTE_VAL_ACP_CONFIGURABLE_NUMBER_OF_OFFSETS_ENABLED_FALSE (0) Measurement will set the number of offsets.
RFMXLTE_VAL_ACP_CONFIGURABLE_NUMBER_OF_OFFSETS_ENABLED_TRUE (1) Measurement will use the user configured value for number of offsets.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgUTRAAndEUTRAOffsets

int32 __stdcall RFmxLTE_ACPCfgUTRAAndEUTRAOffsets (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfUTRAOffsets, int32 numberOfEUTRAOffsets);

Purpose

Configures the number of universal terrestrial radio access (UTRA) and evolved universal terrestrial radio access (E-UTRA) adjacent channels of the subblock. This function is valid only for uplink single carrier, and contiguous carrier aggregation. In case of uplink non-contiguous multi-carrier and downlink, the number of UTRA/EUTRA offsets are determined from the 3GPP specification. Use "subblock<n>" as the selector string to configure this function.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name and the subblock number. If you do not specify the signal name, the default signal instance is used.
Example:
"subblock0"
"signal::sig1/subblock0"
You can use the RFmxLTE_BuildSubblockString) function to build the selector string.
numberOfUTRAOffsets int32 Specifies the number of UTRA adjacent channel offsets to be configured at offset positions as defined in the 3GPP specification.
numberOfEUTRAOffsets int32 Specifies the number of E-UTRA adjacent channel offsets to be configured at offset positions as defined in the 3GPP specification.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgNumberOfUTRAOffsets

int32 __stdcall RFmxLTE_ACPCfgNumberOfUTRAOffsets (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfUTRAOffsets);

Purpose

Configures the number of universal terrestrial radio access (UTRA) adjacent channels of the subblock, when you set the ACP Configurable Number of Offset Enabled attribute to true. Use "subblock<n>" as the selector string to configure this function.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name and the subblock number. If you do not specify the signal name, the default signal instance is used.
Example:
"subblock0"
"signal::sig1/subblock0"
You can use the RFmxLTE_BuildSubblockString) function to build the selector string.
numberOfUTRAOffsets int32 Specifies the number of UTRA adjacent channel offsets to be configured at offset positions, when you set the ACP Configurable Number of Offset Enabled attribute to true.
In case of downlink, only 3GPP specification defined values are supported. In case of non-contiguous carrier aggregation, the configured value will be used only for the outer offsets and the offset channels in the gap region are defined as per the 3GPP specification. Offset power reference for the outer UTRA offsets are set according to the value of RFMXLTE_ATTR_ACP_EUTRA_OFFSET_DEFINITION) attribute.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgNumberOfEUTRAOffsets

int32 __stdcall RFmxLTE_ACPCfgNumberOfEUTRAOffsets (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfEUTRAOffsets);

Purpose

Configures the number of evolved universal terrestrial radio access adjacent channels of the subblock, when you set the ACP Configurable Number of Offset Enabled attribute to true. Use "subblock<n>" as the selector string to configure this function.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name and the subblock number. If you do not specify the signal name, the default signal instance is used.
Example:
"subblock0"
"signal::sig1/subblock0"
You can use the RFmxLTE_BuildSubblockString) function to build the selector string.
numberOfEUTRAOffsets int32 Specifies the number of E-UTRA adjacent channel offsets to be configured at offset positions, when you set the ACP Configurable Number of Offset Enabled attribute to true.
In case of non-contiguous carrier aggregation, the configured value will be used only for the outer offsets and the offset channels in the gap region are defined as per the 3GPP specification. Offset integration bandwidth and offset power reference for the outer E-UTRA offsets are set according to the value of RFMXLTE_ATTR_ACP_EUTRA_OFFSET_DEFINITION) attribute.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgNumberOfGSMOffsets

int32 __stdcall RFmxLTE_ACPCfgNumberOfGSMOffsets (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 numberOfGSMOffsets);

Purpose

Configures the number of GSM adjacent channels of the subblock, when you set the ACP Configurable Number of Offset Enabled attribute to true. Use "subblock<n>" as the selector string to configure this function.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name and the subblock number. If you do not specify the signal name, the default signal instance is used.
Example:
"subblock0"
"signal::sig1/subblock0"
You can use the RFmxLTE_BuildSubblockString) function to build the selector string.
numberOfGSMOffsets int32 Specifies the number of GSM adjacent channel offsets to be configured when the channel bandwidth is 200 kHz (NB-IOT), when you set the ACP Configurable Number of Offset Enabled attribute to true.
The frequency offset from the center of NB-IOT carrier to the center of the first offset is 300 kHz as defined in the 3GPP specification. The center of every other offset is placed at 200 kHz from the previous offset's center.

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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgRBWFilter

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

Purpose

Configures the RBW filter.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
RBWAuto int32 Specifies whether the measurement computes the RBW.
RFMXLTE_VAL_ACP_RBW_FILTER_AUTO_BANDWIDTH_FALSE (0) The measurement uses the RBW that you specify in the RBW parameter.
RFMXLTE_VAL_ACP_RBW_FILTER_AUTO_BANDWIDTH_TRUE (1) The measurement computes the RBW.
RBW float64 Specifies the bandwidth of the RBW filter used to sweep the acquired signal, when you set the RBWAuto parameter to RFMXLTE_VAL_ACP_RBW_FILTER_AUTO_BANDWIDTH_FALSE. This value is expressed in Hz.
RBWFilterType int32 Specifies the shape of the digital RBW filter.
RFMXLTE_VAL_ACP_RBW_FILTER_TYPE_FFT_BASED (0) No RBW filtering is performed.
RFMXLTE_VAL_ACP_RBW_FILTER_TYPE_GAUSSIAN (1) An RBW filter with a Gaussian response is applied.
RFMXLTE_VAL_ACP_RBW_FILTER_TYPE_FLAT (2) An RBW filter with a flat 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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPCfgPowerUnits

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

Purpose

Configures the units for absolute power.

Parameters

Input
Name Type Description
instrumentHandle niRFmxInstrHandle Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
"signal::sig1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
averagingEnabled int32 Specifies the units for absolute power.
RFMXLTE_VAL_ACP_POWER_UNITS_DBM (0) The absolute powers are reported in dBm.
RFMXLTE_VAL_ACP_POWER_UNITS_DBM_BY_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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_ACPValidateNoiseCalibrationData

int32 __stdcall RFmxLTE_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 Specifies the instrument session. The RFmx obtains this parameter from the RFmxLTE_Initialize) function.
selectorString char[] Specifies a selector string) comprising of the signal name. If you do not specify the signal name, the default signal instance is used.
Example:
""
"signal::sig1"
You can use the RFmxLTE_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 RFmxLTE_GetError) function.

The general meaning of the status code is as follows:
Value Meaning
0 Success
Positive Values Warnings
Negative Values Errors

RFmxLTE_BuildSubblockString

int32 __stdcall RFmxLTE_BuildSubblockString (char selectorString[], int32 subblockNumber, int32 selectorStringOutLength, char selectorStringOut[]);

Purpose

Creates the subblock string to use as the selector string with the subblock configuration or fetch attributes and functions.

Parameters

Input
Name Type Description
selectorString char[] Specifies a selector string) comprising of the signal name and the result name. If you do not specify the signal name, the default signal instance is used. If you do not specify the result name, the default result instance is used.
Example:
"signal::sig1"
"result::r1"
"signal::sig1/result::r1"
You can use the RFmxLTE_BuildSignalString) function to build the selector string.
subblockNumber int32 Specifies the number of subblocks that are configured in the intra-band noncontiguous carrier aggregation. Set this parameter to 1, which is the default, for single carrier and intra-band contiguous carrier aggregation.
selectorStringOutLength int32 Specifies the length of the string that is returned by the selectorStringOut parameter. To get the minimum buffer size required to build the selector string, set the selectorStringOutLength parameter to 0.
Output
Name Type Description
selectorStringOut char[] Returns the selector string created by this function.

Return Value

Name Type Description
statusOrRequiredSize 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.

When the statusOrRequiredSize return value returns the buffer size, the status code is not returned.

To obtain a text description of the status code and additional information about the error condition, call the RFmxLTE_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