NI RFmx LTE ModAcc Configuration Functions - ni/grpc-device GitHub Wiki

ModAcc Configuration Functions

RFmxLTE_ModAccCfgAveraging

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

Purpose

Configures averaging for the ModAcc 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_MODACC_AVERAGING_ENABLED_FALSE (0) The measurement is performed on a single acquisition.
RFMXLTE_VAL_MODACC_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_MODACC_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 RFmxLTE_GetError) function.

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

RFmxLTE_ModAccCfgSynchronizationModeAndInterval

int32 __stdcall RFmxLTE_ModAccCfgSynchronizationModeAndInterval (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 synchronizationMode, int32 measurementOffset, int32 measurementLength);

Purpose

Configures the synchronizationMode, the measurementOffset, and the measurementLength parameters of the ModAcc measurement. Refer to the LTE Modulation Accuracy (ModAcc)) topic for more information about ModAcc measurements.

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.
synchronizationMode int32 Specifies whether the measurement is performed from the frame or the slot boundary.
When you set the RFMXLTE_ATTR_LINK_DIRECTION) attribute to RFMXLTE_VAL_LINK_DIRECTION_DOWNLINK, the measurement supports only frame synchronization mode.
RFMXLTE_VAL_MODACC_SYNCHRONIZATION_MODE_FRAME (0) The frame boundary is detected, and the measurement is performed over the measurementLength parameter, starting at the measurementOffset parameter from the frame boundary. When you set the RFMXLTE_ATTR_TRIGGER_TYPE) attribute to RFMXLTE_VAL_TRIGGER_TYPE_DIGITAL_EDGE, the measurement expects a trigger at the frame boundary.
RFMXLTE_VAL_MODACC_SYNCHRONIZATION_MODE_SLOT (1) The slot boundary is detected, and the measurement is performed over the measurementLength parameter starting at the measurementOffset parameter from the slot boundary. When you set the RFMXLTE_ATTR_TRIGGER_TYPE attribute to RFMXLTE_VAL_TRIGGER_TYPE_DIGITAL_EDGE, the measurement expects a trigger at any slot boundary.
RFMXLTE_VAL_MODACC_SYNCHRONIZATION_MODE_MARKER (2) The measurement expects a marker (trigger) at the frame boundary from the user. The measurement takes advantage of triggered acquisitions to reduce processing resulting in faster measurement time. Measurement is performed over the measurementLength parameter starting at the measurementOffset parameter from the frame boundary.
measurementOffset int32 Specifies the measurement offset, in slots, to skip from the synchronization boundary. The synchronization boundary is specified by the synchronizationMode parameter.
measurementLength int32 Specifies the number of slots to be measured.

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_ModAccCfgEVMUnit

int32 __stdcall RFmxLTE_ModAccCfgEVMUnit (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 EVMUnit);

Purpose

Configures the units of the EVM results.

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.
EVMUnit int32 Specifies the units of the EVM results.
RFMXLTE_VAL_MODACC_EVM_UNIT_PERCENTAGE (0) The EVM is reported in percentage.
RFMXLTE_VAL_MODACC_EVM_UNIT_DB (1) The EVM is reported in dB.

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_ModAccCfgFFTWindowOffset

int32 __stdcall RFmxLTE_ModAccCfgFFTWindowOffset (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 FFTWindowOffset);

Purpose

Configures the position of the FFT window that is used to calculate the EVM.

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.
FFTWindowOffset float64 Specifies the position of the FFT window that is used to calculate the EVM. The offset is expressed as a percentage of the cyclic prefix length. If you set this parameter to 0, the EVM window starts from the end of cyclic prefix. If you set this parameter to 100, the EVM window starts from the beginning of cyclic prefix.

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_ModAccCfgCommonClockSourceEnabled

int32 __stdcall RFmxLTE_ModAccCfgCommonClockSourceEnabled (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 commonClockSourceEnabled);

Purpose

Configures the Reference Clock and specifies whether same Reference Clock is used for local oscillator and D/A converter. The modacc measurement ignores this function, when you set the RFMXLTE_ATTR_LINK_DIRECTION) attribute to RFMXLTE_VAL_LINK_DIRECTION_DOWNLINK.

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.
commonClockSourceEnabled int32 Specifies whether the same Reference Clock is used for the local oscillator and the D/A converter. When the same Reference Clock is used, the carrier frequency offset is proportional to the Sample Clock error.
RFMXLTE_VAL_MODACC_COMMON_CLOCK_SOURCE_ENABLED_FALSE (0) The Sample Clock error is estimated independently.
RFMXLTE_VAL_MODACC_COMMON_CLOCK_SOURCE_ENABLED_TRUE (1) The Sample Clock error is estimated from carrier frequency offset.

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_ModAccCfgFFTWindowPosition

int32 __stdcall RFmxLTE_ModAccCfgFFTWindowPosition (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 FFTWindowType, float64 FFTWindowOffset, float64 FFTWindowLength);

Purpose

Configures the FFT window position used for an EVM calculation. Refer to the LTE Modulation Accuracy (ModAcc)) topic for more information about FFT window position.

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.
FFTWindowType int32 Specifies the FFT window type used for an EVM calculation.
RFMXLTE_VAL_MODACC_FFT_WINDOW_TYPE_3GPP (0) The maximum EVM between the start window position and the end window position is returned according to the 3GPP specification. The window positions are specified by the FFTWindowLength parameter. For more information about the FFT window specification, refer to the 3GPP TS 36.521 specification, Annexe E.3.2.
RFMXLTE_VAL_MODACC_FFT_WINDOW_TYPE_CUSTOM (1) Only one FFT window position is used for the EVM calculation. The FFT window position is specified by the FFTWindowOffset parameter.
FFTWindowOffset float64 Specifies the position of the FFT window used to calculate the EVM. The offset is expressed as a percentage of the cyclic prefix length. If you set this parameter to 0, the EVM window starts from the end of cyclic prefix. If you set this parameter to 100, the EVM window starts from the beginning of cyclic prefix.
FFTWindowLength float64 Specifies the FFT window length. This value is expressed in a percentage of the cyclic prefix length. This parameter is used when you set the FFTWindowType parameter to RFMXLTE_VAL_MODACC_FFT_WINDOW_TYPE_3GPP, where you need to calculate the EVM using two different FFT window positions, Delta_C-W/2, and Delta_C+W/2.

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_ModAccCfgInBandEmissionMaskType

int32 __stdcall RFmxLTE_ModAccCfgInBandEmissionMaskType (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 inBandEmissionMaskType);

Purpose

Configures the inBandEmissionMaskType parameter to be used.

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.
inBandEmissionMaskType int32 Specifies the in-band emissions mask type to be used for measuring in-band emission margin (dB) and subblock in-Band emission margin (dB) results.
Refer to section 6.5.2.3.5 of the 3GPP 36.521-1 specification for more information.
RFMXLTE_VAL_MODACC_IN_BAND_EMISSION_MASK_TYPE_RELEASE_8_10 (0) Specifies the mask type to be used for UE, supporting 3GPP Release 8 to 3GPP Release 10 specification.
RFMXLTE_VAL_MODACC_IN_BAND_EMISSION_MASK_TYPE_RELEASE_11_ONWARDS (1) Specifies the mask type to be used for UE, supporting 3GPP Release 11 and higher 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
⚠️ **GitHub.com Fallback** ⚠️