Improve schedule msg3 and fix tda for mixed slots
This commit is contained in:
@@ -142,7 +142,7 @@ gNBs =
|
|||||||
|
|
||||||
initialULBWPk2_1 = 6; # used for mixed slot
|
initialULBWPk2_1 = 6; # used for mixed slot
|
||||||
initialULBWPmappingType_1 = 1;
|
initialULBWPmappingType_1 = 1;
|
||||||
initialULBWPstartSymbolAndLength_1 = 69; # this is SS=0 L=12
|
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
|
||||||
|
|
||||||
initialULBWPk2_2 = 7; # used for Msg.3 during RA
|
initialULBWPk2_2 = 7; # used for Msg.3 during RA
|
||||||
initialULBWPmappingType_2 = 1;
|
initialULBWPmappingType_2 = 1;
|
||||||
|
|||||||
@@ -704,21 +704,24 @@ void nr_get_Msg3alloc(module_id_t module_id,
|
|||||||
ubwp->bwp_Common->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList:
|
ubwp->bwp_Common->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList:
|
||||||
scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList;
|
scc->uplinkConfigCommon->initialUplinkBWP->pusch_ConfigCommon->choice.setup->pusch_TimeDomainAllocationList;
|
||||||
|
|
||||||
|
uint8_t k2 = 0;
|
||||||
for (int i=0; i<pusch_TimeDomainAllocationList->list.count; i++) {
|
for (int i=0; i<pusch_TimeDomainAllocationList->list.count; i++) {
|
||||||
startSymbolAndLength = pusch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength;
|
startSymbolAndLength = pusch_TimeDomainAllocationList->list.array[i]->startSymbolAndLength;
|
||||||
SLIV2SL(startSymbolAndLength, &StartSymbolIndex, &NrOfSymbols);
|
SLIV2SL(startSymbolAndLength, &StartSymbolIndex, &NrOfSymbols);
|
||||||
// we want to transmit in the uplink symbols of mixed slot
|
// we want to transmit in the uplink symbols of mixed slot
|
||||||
if (NrOfSymbols == scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSymbols) {
|
if (NrOfSymbols == scc->tdd_UL_DL_ConfigurationCommon->pattern1.nrofUplinkSymbols) {
|
||||||
ra->Msg3_tda_id = i;
|
k2 = *pusch_TimeDomainAllocationList->list.array[i]->k2;
|
||||||
break;
|
temp_slot = current_slot + k2 + DELTA[mu]; // msg3 slot according to 8.3 in 38.213
|
||||||
|
ra->Msg3_slot = temp_slot%nr_slots_per_frame[mu];
|
||||||
|
if (is_xlsch_in_slot(RC.nrmac[module_id]->ulsch_slot_bitmap[ra->Msg3_slot / 64], ra->Msg3_slot)) {
|
||||||
|
ra->Msg3_tda_id = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
AssertFatal(ra->Msg3_tda_id<16,"Unable to find Msg3 time domain allocation in list\n");
|
AssertFatal(ra->Msg3_tda_id<16,"Unable to find Msg3 time domain allocation in list\n");
|
||||||
|
|
||||||
uint8_t k2 = *pusch_TimeDomainAllocationList->list.array[ra->Msg3_tda_id]->k2;
|
|
||||||
|
|
||||||
temp_slot = current_slot + k2 + DELTA[mu]; // msg3 slot according to 8.3 in 38.213
|
|
||||||
ra->Msg3_slot = temp_slot%nr_slots_per_frame[mu];
|
|
||||||
if (nr_slots_per_frame[mu]>temp_slot)
|
if (nr_slots_per_frame[mu]>temp_slot)
|
||||||
ra->Msg3_frame = current_frame;
|
ra->Msg3_frame = current_frame;
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -969,7 +969,7 @@ void pf_ul(module_id_t module_id,
|
|||||||
gNB_MAC_INST *nrmac = RC.nrmac[module_id];
|
gNB_MAC_INST *nrmac = RC.nrmac[module_id];
|
||||||
NR_ServingCellConfigCommon_t *scc = nrmac->common_channels[CC_id].ServingCellConfigCommon;
|
NR_ServingCellConfigCommon_t *scc = nrmac->common_channels[CC_id].ServingCellConfigCommon;
|
||||||
NR_UE_info_t *UE_info = &nrmac->UE_info;
|
NR_UE_info_t *UE_info = &nrmac->UE_info;
|
||||||
const int min_rb = 5;
|
const int min_rb = 16;
|
||||||
float coeff_ue[MAX_MOBILES_PER_GNB];
|
float coeff_ue[MAX_MOBILES_PER_GNB];
|
||||||
// UEs that could be scheduled
|
// UEs that could be scheduled
|
||||||
int ue_array[MAX_MOBILES_PER_GNB];
|
int ue_array[MAX_MOBILES_PER_GNB];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Active_gNBs = ( "gNB-Eurecom-DU");
|
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||||
# Asn1_verbosity, choice in: none, info, annoying
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
Asn1_verbosity = "none";
|
Asn1_verbosity = "none";
|
||||||
|
|
||||||
@@ -7,7 +7,7 @@ gNBs =
|
|||||||
{
|
{
|
||||||
////////// Identification parameters:
|
////////// Identification parameters:
|
||||||
gNB_ID = 0xe00;
|
gNB_ID = 0xe00;
|
||||||
gNB_name = "gNB-Eurecom-DU";
|
gNB_name = "gNB-Eurecom-5GNRBox";
|
||||||
|
|
||||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||||
tracking_area_code = 1;
|
tracking_area_code = 1;
|
||||||
@@ -142,7 +142,7 @@ gNBs =
|
|||||||
|
|
||||||
initialULBWPk2_1 = 6; # used for mixed slot
|
initialULBWPk2_1 = 6; # used for mixed slot
|
||||||
initialULBWPmappingType_1 = 1;
|
initialULBWPmappingType_1 = 1;
|
||||||
initialULBWPstartSymbolAndLength_1 = 69; # this is SS=0 L=12
|
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
|
||||||
|
|
||||||
initialULBWPk2_2 = 7; # used for Msg.3 during RA
|
initialULBWPk2_2 = 7; # used for Msg.3 during RA
|
||||||
initialULBWPmappingType_2 = 1;
|
initialULBWPmappingType_2 = 1;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
Active_gNBs = ( "gNB-Eurecom-DU");
|
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
|
||||||
# Asn1_verbosity, choice in: none, info, annoying
|
# Asn1_verbosity, choice in: none, info, annoying
|
||||||
Asn1_verbosity = "none";
|
Asn1_verbosity = "none";
|
||||||
|
|
||||||
@@ -7,7 +7,7 @@ gNBs =
|
|||||||
{
|
{
|
||||||
////////// Identification parameters:
|
////////// Identification parameters:
|
||||||
gNB_ID = 0xe00;
|
gNB_ID = 0xe00;
|
||||||
gNB_name = "gNB-Eurecom-DU";
|
gNB_name = "gNB-Eurecom-5GNRBox";
|
||||||
|
|
||||||
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
||||||
tracking_area_code = 1;
|
tracking_area_code = 1;
|
||||||
@@ -142,7 +142,7 @@ gNBs =
|
|||||||
|
|
||||||
initialULBWPk2_1 = 6; # used for mixed slot
|
initialULBWPk2_1 = 6; # used for mixed slot
|
||||||
initialULBWPmappingType_1 = 1;
|
initialULBWPmappingType_1 = 1;
|
||||||
initialULBWPstartSymbolAndLength_1 = 69; # this is SS=0 L=12
|
initialULBWPstartSymbolAndLength_1 = 52; # this is SS=10 L=4
|
||||||
|
|
||||||
initialULBWPk2_2 = 7; # used for Msg.3 during RA
|
initialULBWPk2_2 = 7; # used for Msg.3 during RA
|
||||||
initialULBWPmappingType_2 = 1;
|
initialULBWPmappingType_2 = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user