NI RFmx LTE ModAcc Configuration Functions - ni/grpc-device GitHub Wiki
- RFmxLTE_ModAccCfgAveraging
- RFmxLTE_ModAccCfgSynchronizationModeAndInterval
- RFmxLTE_ModAccCfgEVMUnit
- RFmxLTE_ModAccCfgFFTWindowOffset
- RFmxLTE_ModAccCfgCommonClockSourceEnabled
- RFmxLTE_ModAccCfgFFTWindowPosition
- RFmxLTE_ModAccCfgInBandEmissionMaskType
int32 __stdcall RFmxLTE_ModAccCfgAveraging (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 averagingEnabled, int32 averagingCount);
Configures averaging for the ModAcc measurement.
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. |
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 |
int32 __stdcall RFmxLTE_ModAccCfgSynchronizationModeAndInterval (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 synchronizationMode, int32 measurementOffset, int32 measurementLength);
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.
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. |
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 |
int32 __stdcall RFmxLTE_ModAccCfgEVMUnit (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 EVMUnit);
Configures the units of the EVM results.
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. |
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 |
int32 __stdcall RFmxLTE_ModAccCfgFFTWindowOffset (niRFmxInstrHandle instrumentHandle, char selectorString[], float64 FFTWindowOffset);
Configures the position of the FFT window that is used to calculate the EVM.
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. |
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 |
int32 __stdcall RFmxLTE_ModAccCfgCommonClockSourceEnabled (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 commonClockSourceEnabled);
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.
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. |
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 |
int32 __stdcall RFmxLTE_ModAccCfgFFTWindowPosition (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 FFTWindowType, float64 FFTWindowOffset, float64 FFTWindowLength);
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.
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. |
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 |
int32 __stdcall RFmxLTE_ModAccCfgInBandEmissionMaskType (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 inBandEmissionMaskType);
Configures the inBandEmissionMaskType parameter to be used.
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. |
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 |