NI RFmx LTE NB IoT Configuration Functions - ni/grpc-device GitHub Wiki
- RFmxLTE_CfgNBIoTComponentCarrier
- RFmxLTE_CfgNPUSCHFormat
- RFmxLTE_CfgAutoNPUSCHChannelDetectionEnabled
- RFmxLTE_CfgNPUSCHTones
- RFmxLTE_CfgNPUSCHStartingSlot
- RFmxLTE_CfgNPUSCHDMRS
int32 __stdcall RFmxLTE_CfgNBIoTComponentCarrier (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 NCellID, int32 uplinkSubcarrierSpacing);
Configures the Ncell ID and Uplink Subcarrier Spacing parameters for the NB-IoT signal. Use "carrier<k>" or "subblock<n>/carrier<k>" as the selector string to configure this function.
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, subblock number and carrier number. If you do not specify the signal name, the default signal instance is used. Example: "subblock0/carrier0" "signal::sig1/subblock0/carrier0" You can use the RFmxLTE_BuildCarrierString) function to build the selector string. |
NCellID | int32 | Specifies the narrowband physical layer cell identity. |
uplinkSubcarrierSpacing | int32 | Specifies the subcarrier bandwidth of an NB-IoT signal. This parameter specifies the spacing between adjacent subcarriers. |
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_CfgNPUSCHFormat (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 format);
Configures the format of the narrowband physical uplink shared channel (NPUSCH). Use "carrier<k>" or "subblock<n>/carrier<k>" as the selector string to configure this function.
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, subblock number and carrier number. If you do not specify the signal name, the default signal instance is used. Example: "subblock0/carrier0" "signal::sig1/subblock0/carrier0" You can use the RFmxLTE_BuildCarrierString) function to build the selector string. |
format | int32 | Specifies the NPUSCH format. A value of 1 indicates that NPUSCH carries user data (UL-SCH) and a value of 2 indicates, NPUSCH carries uplink control information. |
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_CfgAutoNPUSCHChannelDetectionEnabled (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 autoNPUSCHChannelDetectionEnabled);
Configures whether the values of the RFMXLTE_ATTR_NPUSCH_TONE_OFFSET), NPUSCH Num Tones, and RFMXLTE_ATTR_NPUSCH_MODULATION_TYPE) attributes for the NPUSCH channel are auto-detected by the measurement or specified by you.
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. |
autoNPUSCHChannelDetectionEnabled | int32 | Specifies whether the values of RFMXLTE_ATTR_NPUSCH_TONE_OFFSET, NPUSCH Number of Tones, and RFMXLTE_ATTR_NPUSCH_MODULATION_TYPE attributes are auto-detected by the measurement or specified by you. |
RFMXLTE_VAL_AUTO_NPUSCH_CHANNEL_DETECTION_ENABLED_FALSE (0) | The measurement uses the values that you specify for the RFMXLTE_ATTR_NPUSCH_TONE_OFFSET, NPUSCH Number of Tones, and NPUSCH ModType attributes. |
---|---|
RFMXLTE_VAL_AUTO_NPUSCH_CHANNEL_DETECTION_ENABLED_TRUE (1) | The measurement uses the values of the RFMXLTE_ATTR_NPUSCH_TONE_OFFSET, NPUSCHÂ Number of Tones, and RFMXLTE_ATTR_NPUSCH_MODULATION_TYPE attributes that are auto-detected. |
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_CfgNPUSCHTones (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 toneOffset, int32 numberOfTones, int32 modulationType);
Configures the values of toneOffset, numberOfTones, and modulationType parameters for NPUSCH channel. Use "carrier<k>" or "subblock<n>/carrier<k>" as the selector string to configure this function.
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, subblock number and carrier number. If you do not specify the signal name, the default signal instance is used. Example: "subblock0/carrier0" "signal::sig1/subblock0/carrier0" You can use the RFmxLTE_BuildCarrierString) function to build the selector string. |
toneOffset | int32 | Specifies the location of the starting subcarrier (tone) within the 200 kHz bandwidth that is allocated to the NPUSCH channel. For 15 kHz subcarrier spacing, the valid values are as follows: For 3.75 kHz subcarrier spacing, the valid values are 0 to 47, inclusive. |
numberOfTones | int32 | Specifies the number of subcarriers (tones) within the 200 kHz bandwidth that is allocated to the NPUSCH channel. For Format 1 and 15 kHz subcarrier spacing, the valid values are 1, 3, 6, and 12. For Format 1, 3.75 kHz subcarrier spacing, and Format 2, the valid value is 1. |
modulationType | int32 | Specifies the modulation type that is used by the NPUSCH channel. This parameter is valid when numberOfTones is equal to 1 and RFMXLTE_ATTR_NPUSCH_FORMAT) is equal to 1. The modulation type for other configurations is defined in Table 10.1.3.2-1 of the 3GPP TS 36.211 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 |
int32 __stdcall RFmxLTE_CfgNPUSCHStartingSlot (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 startingSlot);
Configures the starting slot of the NPUSCH burst. Use "carrier<k>" or "subblock<n>/carrier<k>" as the selector string to configure this function.
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, subblock number and carrier number. If you do not specify the signal name, the default signal instance is used. Example: "subblock0/carrier0" "signal::sig1/subblock0/carrier0" You can use the RFmxLTE_BuildCarrierString) function to build the selector string. |
startingSlot | int32 | Specifies the starting slot number of the NPUSCH burst. |
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_CfgNPUSCHDMRS (niRFmxInstrHandle instrumentHandle, char selectorString[], int32 NPUSCHDMRSBaseSequenceMode, int32 NPUSCHDMRSBaseSequenceIndex, int32 NPUSCHDMRSCyclicShift, int32 NPUSCHDMRSGroupHoppingEnabled, int32 NPUSCHDMRSDeltaSS);
Configures the base sequence mode, base sequence index, cyclic shift, delta sequence shift of the narrowband physical uplink shared channel (NPUSCH) DMRS and specifies whether group hopping is enabled. Use "carrier<k>" or "subblock<n>/carrier<k>" as the selector string to configure this function.
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, subblock number and carrier number. If you do not specify the signal name, the default signal instance is used. Example: "subblock0/carrier0" "signal::sig1/subblock0/carrier0" You can use the RFmxLTE_BuildCarrierString) function to build the selector string. |
NPUSCHDMRSBaseSequenceMode | int32 | Specifies whether the NPUSCHDMRSBaseSequenceIndex is computed by the measurement or user-specified. This parameter is valid when you set the NPUSCHDMRSGroupHoppingEnabled parameter to RFMXLTE_VAL_NPUSCH_DMRS_GROUP_HOPPING_ENABLED_FALSE, the value of RFMXLTE_ATTR_NPUSCH_FORMAT) attribute to 1, and the value of NPUSCH Number of Tones attribute to 3, 6, or 12. |
RFMXLTE_VAL_NPUSCH_DMRS_BASE_SEQUENCE_MODE_MANUAL (0) | The measurement uses the value that you specify for the NPUSCHDMRSBaseSequenceIndex parameter. |
---|---|
RFMXLTE_VAL_NPUSCH_DMRS_BASE_SEQUENCE_MODE_AUTO (1) | The measurement uses the value of RFMXLTE_ATTR_NCELL_ID) attribute to compute the NPUSCHDMRSBaseSequenceIndex as defined in section 10.1.4.1.2 of the 3GPP TS 36.211 specification. |
NPUSCHDMRSBaseSequenceIndex | int32 | Specifies the base sequence index of the NPUSCH DMRS as defined in section 10.1.4.1.2 of the 3GPP TS 36.211 specification. This parameter is valid when you set the NPUSCHDMRSGroupHoppingEnabled parameter to RFMXLTE_VAL_NPUSCH_DMRS_GROUP_HOPPING_ENABLED_FALSE, the NPUSCHDMRSBaseSequenceMode parameter to RFMXLTE_VAL_NPUSCH_DMRS_BASE_SEQUENCE_MODE_MANUAL, and the value of NPUSCH Number of Tones attribute to 3, 6, or 12. |
NPUSCHDMRSCyclicShift | int32 | Specifies the cyclic shift of the NPUSCH DMRS as defined in table 10.1.4.1.2-3 of the 3GPP TS 36.211 specification. This parameter is valid when you set the value of RFMXLTE_ATTR_NPUSCH_NUMBER_OF_TONES) attribute to 3 or 6. If the value of RFMXLTE_ATTR_NPUSCH_NUMBER_OF_TONES attribute is 12, the NPUSCH DMRS Cyclic Shift parameter has a fixed value of 0. |
NPUSCHDMRSGroupHoppingEnabled | int32 | Specifies whether group hopping is enabled for the NPUSCH DMRS. This parameter is valid when the value of RFMXLTE_ATTR_NPUSCH_FORMAT) is equal to 1. |
RFMXLTE_VAL_NPUSCH_DMRS_GROUP_HOPPING_ENABLED_FALSE (0) | Group hopping is disabled. |
---|---|
RFMXLTE_VAL_NPUSCH_DMRS_GROUP_HOPPING_ENABLED_TRUE (1) | Group hopping is enabled. The sequence group number is calculated as defined in section 10.1.4.1.3 of the 3GPP TS 36.211 specification |
NPUSCHDMRSDeltaSS | int32 | Specifies the delta sequence shift of the NPUSCH DMRS that is used to calculate the sequence shift pattern, which in turn is used to compute the sequence group number as defined in section 10.1.4.1.3 of the 3GPP TS 36.211 specification. This parameter is valid when you set the NPUSCHDMRSGroupHoppingEnabled parameter to RFMXLTE_VAL_NPUSCH_DMRS_GROUP_HOPPING_ENABLED_TRUE. The default value is 0. Valid values are 0 to 29, inclusive. |
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 |