Merge remote-tracking branch 'origin/RedCap_InitialBWP' into integration_2025_w15 (!3358)
RedCap InitialBWP Prevent RedCap UEs to move to DedicatedBWP This allows the coexistence of RedCap UEs and non-RedCap UEs in the same cell by having an InitialBWP with 20MHz and a larger DedicatedBWP. Update example RedCap configuration file to have 20 MHz InitialBWP and 40 MHz DedicatedBWP
This commit is contained in:
@@ -3322,7 +3322,7 @@ bool prepare_initial_ul_rrc_message(gNB_MAC_INST *mac, NR_UE_info_t *UE)
|
|||||||
int CC_id = 0;
|
int CC_id = 0;
|
||||||
int srb_id = 1;
|
int srb_id = 1;
|
||||||
const NR_ServingCellConfigCommon_t *scc = mac->common_channels[CC_id].ServingCellConfigCommon;
|
const NR_ServingCellConfigCommon_t *scc = mac->common_channels[CC_id].ServingCellConfigCommon;
|
||||||
const NR_ServingCellConfig_t *sccd = mac->common_channels[CC_id].pre_ServingCellConfig;
|
const NR_ServingCellConfig_t *sccd = UE->is_redcap ? NULL : mac->common_channels[CC_id].pre_ServingCellConfig;
|
||||||
NR_CellGroupConfig_t *cellGroupConfig = get_initial_cellGroupConfig(UE->uid, scc, sccd, &mac->radio_config);
|
NR_CellGroupConfig_t *cellGroupConfig = get_initial_cellGroupConfig(UE->uid, scc, sccd, &mac->radio_config);
|
||||||
ASN_STRUCT_FREE(asn_DEF_NR_CellGroupConfig, UE->CellGroup);
|
ASN_STRUCT_FREE(asn_DEF_NR_CellGroupConfig, UE->CellGroup);
|
||||||
UE->CellGroup = cellGroupConfig;
|
UE->CellGroup = cellGroupConfig;
|
||||||
|
|||||||
@@ -350,6 +350,7 @@ static int nr_process_mac_pdu(instance_t module_idP,
|
|||||||
|
|
||||||
if (lcid == UL_SCH_LCID_CCCH_48_BITS_REDCAP) {
|
if (lcid == UL_SCH_LCID_CCCH_48_BITS_REDCAP) {
|
||||||
LOG_I(MAC, "UE with RNTI %04x is RedCap\n", UE->rnti);
|
LOG_I(MAC, "UE with RNTI %04x is RedCap\n", UE->rnti);
|
||||||
|
UE->is_redcap = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (prepare_initial_ul_rrc_message(RC.nrmac[module_idP], UE)) {
|
if (prepare_initial_ul_rrc_message(RC.nrmac[module_idP], UE)) {
|
||||||
|
|||||||
@@ -783,6 +783,7 @@ typedef struct {
|
|||||||
float ul_thr_ue;
|
float ul_thr_ue;
|
||||||
float dl_thr_ue;
|
float dl_thr_ue;
|
||||||
long pdsch_HARQ_ACK_Codebook;
|
long pdsch_HARQ_ACK_Codebook;
|
||||||
|
bool is_redcap;
|
||||||
} NR_UE_info_t;
|
} NR_UE_info_t;
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
+14
-2
@@ -35,7 +35,7 @@ gNBs:
|
|||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
dl_subcarrierSpacing: 1
|
dl_subcarrierSpacing: 1
|
||||||
dl_carrierBandwidth: 51
|
dl_carrierBandwidth: 106
|
||||||
#initialDownlinkBWP
|
#initialDownlinkBWP
|
||||||
#genericParameters
|
#genericParameters
|
||||||
# this is RBstart=0,L=51 (275*(L-1))+RBstart
|
# this is RBstart=0,L=51 (275*(L-1))+RBstart
|
||||||
@@ -54,7 +54,7 @@ gNBs:
|
|||||||
# subcarrierSpacing
|
# subcarrierSpacing
|
||||||
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
||||||
ul_subcarrierSpacing: 1
|
ul_subcarrierSpacing: 1
|
||||||
ul_carrierBandwidth: 51
|
ul_carrierBandwidth: 106
|
||||||
pMax: 20
|
pMax: 20
|
||||||
#initialUplinkBWP
|
#initialUplinkBWP
|
||||||
#genericParameters
|
#genericParameters
|
||||||
@@ -134,6 +134,18 @@ gNBs:
|
|||||||
nrofUplinkSymbols: 4
|
nrofUplinkSymbols: 4
|
||||||
|
|
||||||
ssPBCH_BlockPower: -25
|
ssPBCH_BlockPower: -25
|
||||||
|
|
||||||
|
servingCellConfigDedicated:
|
||||||
|
- dl_bwp-Id_1: 1
|
||||||
|
dl_bwp1_locationAndBandwidth: 28875
|
||||||
|
dl_bwp1_subcarrierSpacing: 1
|
||||||
|
firstActiveDownlinkBWP-Id: 1
|
||||||
|
defaultDownlinkBWP-Id: 1
|
||||||
|
ul_bwp-Id_1: 1
|
||||||
|
ul_bwp1_locationAndBandwidth: 28875
|
||||||
|
ul_bwp1_subcarrierSpacing: 1
|
||||||
|
firstActiveUplinkBWP-Id: 1
|
||||||
|
|
||||||
RedCap:
|
RedCap:
|
||||||
cellBarredRedCap1Rx_r17: 1
|
cellBarredRedCap1Rx_r17: 1
|
||||||
cellBarredRedCap2Rx_r17: 1
|
cellBarredRedCap2Rx_r17: 1
|
||||||
Reference in New Issue
Block a user