also fixing PRACH issue in UE + config files
This commit is contained in:
@@ -203,13 +203,15 @@ void config_common_ue(NR_UE_MAC_INST_t *mac,
|
|||||||
lte_frame_type_t frame_type;
|
lte_frame_type_t frame_type;
|
||||||
uint16_t band;
|
uint16_t band;
|
||||||
int32_t offset;
|
int32_t offset;
|
||||||
|
frequency_range_t frequency_range;
|
||||||
|
|
||||||
get_band((uint64_t)(cfg->carrier_config.dl_frequency)*1000,
|
get_band((uint64_t)(cfg->carrier_config.dl_frequency)*1000,
|
||||||
&band,
|
&band,
|
||||||
&offset,
|
&offset,
|
||||||
&frame_type);
|
&frame_type);
|
||||||
|
|
||||||
|
frequency_range = band<100?FR1:FR2;
|
||||||
|
|
||||||
// cell config
|
// cell config
|
||||||
|
|
||||||
cfg->cell_config.phy_cell_id = *scc->physCellId;
|
cfg->cell_config.phy_cell_id = *scc->physCellId;
|
||||||
@@ -317,7 +319,7 @@ void config_common_ue(NR_UE_MAC_INST_t *mac,
|
|||||||
|
|
||||||
cfg->prach_config.num_prach_fd_occasions_list[i].k1 = scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->rach_ConfigGeneric.msg1_FrequencyStart;
|
cfg->prach_config.num_prach_fd_occasions_list[i].k1 = scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->rach_ConfigGeneric.msg1_FrequencyStart;
|
||||||
cfg->prach_config.num_prach_fd_occasions_list[i].prach_zero_corr_conf = scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->rach_ConfigGeneric.zeroCorrelationZoneConfig;
|
cfg->prach_config.num_prach_fd_occasions_list[i].prach_zero_corr_conf = scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup->rach_ConfigGeneric.zeroCorrelationZoneConfig;
|
||||||
cfg->prach_config.num_prach_fd_occasions_list[i].num_root_sequences = compute_nr_root_seq(scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup, nb_preambles, frame_type);
|
cfg->prach_config.num_prach_fd_occasions_list[i].num_root_sequences = compute_nr_root_seq(scc->uplinkConfigCommon->initialUplinkBWP->rach_ConfigCommon->choice.setup, nb_preambles, frame_type,frequency_range);
|
||||||
//cfg->prach_config.num_prach_fd_occasions_list[i].num_unused_root_sequences = ???
|
//cfg->prach_config.num_prach_fd_occasions_list[i].num_unused_root_sequences = ???
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -928,7 +928,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
NR_PUCCH_Resource_t *pucchres2=calloc(1,sizeof(*pucchres2));
|
NR_PUCCH_Resource_t *pucchres2=calloc(1,sizeof(*pucchres2));
|
||||||
NR_PUCCH_Resource_t *pucchres3=calloc(1,sizeof(*pucchres3));
|
NR_PUCCH_Resource_t *pucchres3=calloc(1,sizeof(*pucchres3));
|
||||||
pucchres0->pucch_ResourceId=1;
|
pucchres0->pucch_ResourceId=1;
|
||||||
pucchres0->startingPRB=48;
|
pucchres0->startingPRB=8;
|
||||||
pucchres0->intraSlotFrequencyHopping=NULL;
|
pucchres0->intraSlotFrequencyHopping=NULL;
|
||||||
pucchres0->secondHopPRB=NULL;
|
pucchres0->secondHopPRB=NULL;
|
||||||
pucchres0->format.present= NR_PUCCH_Resource__format_PR_format0;
|
pucchres0->format.present= NR_PUCCH_Resource__format_PR_format0;
|
||||||
@@ -939,7 +939,7 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres0);
|
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres0);
|
||||||
|
|
||||||
pucchres1->pucch_ResourceId=2;
|
pucchres1->pucch_ResourceId=2;
|
||||||
pucchres1->startingPRB=48;
|
pucchres1->startingPRB=8;
|
||||||
pucchres1->intraSlotFrequencyHopping=NULL;
|
pucchres1->intraSlotFrequencyHopping=NULL;
|
||||||
pucchres1->secondHopPRB=NULL;
|
pucchres1->secondHopPRB=NULL;
|
||||||
pucchres1->format.present= NR_PUCCH_Resource__format_PR_format0;
|
pucchres1->format.present= NR_PUCCH_Resource__format_PR_format0;
|
||||||
@@ -950,23 +950,23 @@ void fill_default_secondaryCellGroup(NR_ServingCellConfigCommon_t *servingcellco
|
|||||||
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres1);
|
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres1);
|
||||||
|
|
||||||
pucchres2->pucch_ResourceId=3;
|
pucchres2->pucch_ResourceId=3;
|
||||||
pucchres2->startingPRB=40;
|
pucchres2->startingPRB=0;
|
||||||
pucchres2->intraSlotFrequencyHopping=NULL;
|
pucchres2->intraSlotFrequencyHopping=NULL;
|
||||||
pucchres2->secondHopPRB=NULL;
|
pucchres2->secondHopPRB=NULL;
|
||||||
pucchres2->format.present= NR_PUCCH_Resource__format_PR_format2;
|
pucchres2->format.present= NR_PUCCH_Resource__format_PR_format2;
|
||||||
pucchres2->format.choice.format2=calloc(1,sizeof(*pucchres2->format.choice.format2));
|
pucchres2->format.choice.format2=calloc(1,sizeof(*pucchres2->format.choice.format2));
|
||||||
pucchres2->format.choice.format2->nrofPRBs=4;
|
pucchres2->format.choice.format2->nrofPRBs=8;
|
||||||
pucchres2->format.choice.format2->nrofSymbols=1;
|
pucchres2->format.choice.format2->nrofSymbols=1;
|
||||||
pucchres2->format.choice.format2->startingSymbolIndex=13;
|
pucchres2->format.choice.format2->startingSymbolIndex=13;
|
||||||
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres2);
|
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres2);
|
||||||
|
|
||||||
pucchres3->pucch_ResourceId=4;
|
pucchres3->pucch_ResourceId=4;
|
||||||
pucchres3->startingPRB=40;
|
pucchres3->startingPRB=0;
|
||||||
pucchres3->intraSlotFrequencyHopping=NULL;
|
pucchres3->intraSlotFrequencyHopping=NULL;
|
||||||
pucchres3->secondHopPRB=NULL;
|
pucchres3->secondHopPRB=NULL;
|
||||||
pucchres3->format.present= NR_PUCCH_Resource__format_PR_format2;
|
pucchres3->format.present= NR_PUCCH_Resource__format_PR_format2;
|
||||||
pucchres3->format.choice.format2=calloc(1,sizeof(*pucchres3->format.choice.format2));
|
pucchres3->format.choice.format2=calloc(1,sizeof(*pucchres3->format.choice.format2));
|
||||||
pucchres3->format.choice.format2->nrofPRBs=4;
|
pucchres3->format.choice.format2->nrofPRBs=8;
|
||||||
pucchres3->format.choice.format2->nrofSymbols=1;
|
pucchres3->format.choice.format2->nrofSymbols=1;
|
||||||
pucchres3->format.choice.format2->startingSymbolIndex=12;
|
pucchres3->format.choice.format2->startingSymbolIndex=12;
|
||||||
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres3);
|
ASN_SEQUENCE_ADD(&pucch_Config->resourceToAddModList->list,pucchres3);
|
||||||
|
|||||||
@@ -71,6 +71,11 @@ gNBs =
|
|||||||
initialDLBWPmappingType_2 = 0;
|
initialDLBWPmappingType_2 = 0;
|
||||||
#this is SS=1,L=12
|
#this is SS=1,L=12
|
||||||
initialDLBWPstartSymbolAndLength_2 = 54;
|
initialDLBWPstartSymbolAndLength_2 = 54;
|
||||||
|
|
||||||
|
initialDLBWPk0_3 = 0;
|
||||||
|
initialDLBWPmappingType_3 = 0;
|
||||||
|
#this is SS=1,L=4 //5 (4 is for 43, 5 is for 57)
|
||||||
|
initialDLBWPstartSymbolAndLength_3 = 57; //43; //57;
|
||||||
#uplinkConfigCommon
|
#uplinkConfigCommon
|
||||||
#frequencyInfoUL
|
#frequencyInfoUL
|
||||||
ul_frequencyBand = 257;
|
ul_frequencyBand = 257;
|
||||||
@@ -89,7 +94,7 @@ gNBs =
|
|||||||
initialULBWPsubcarrierSpacing = 3;
|
initialULBWPsubcarrierSpacing = 3;
|
||||||
#rach-ConfigCommon
|
#rach-ConfigCommon
|
||||||
#rach-ConfigGeneric
|
#rach-ConfigGeneric
|
||||||
prach_ConfigurationIndex = 98;
|
prach_ConfigurationIndex = 52;
|
||||||
#prach_msg1_FDM
|
#prach_msg1_FDM
|
||||||
#0 = one, 1=two, 2=four, 3=eight
|
#0 = one, 1=two, 2=four, 3=eight
|
||||||
prach_msg1_FDM = 0;
|
prach_msg1_FDM = 0;
|
||||||
@@ -103,12 +108,12 @@ gNBs =
|
|||||||
powerRampingStep = 1;
|
powerRampingStep = 1;
|
||||||
#ra_ReponseWindow
|
#ra_ReponseWindow
|
||||||
#1,2,4,8,10,20,40,80
|
#1,2,4,8,10,20,40,80
|
||||||
ra_ResponseWindow = 4;
|
ra_ResponseWindow = 7;
|
||||||
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
|
||||||
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
|
#0=oneeighth,1=onefourth,2=half,3=one,4=two,5=four,6=eight,7=sixteen
|
||||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 4;
|
||||||
#oneHalf (0..15) 4,8,12,16,...60,64
|
#oneHalf (0..15) 4,8,12,16,...60,64
|
||||||
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
|
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 7;
|
||||||
#ra_ContentionResolutionTimer
|
#ra_ContentionResolutionTimer
|
||||||
#(0..7) 8,16,24,32,40,48,56,64
|
#(0..7) 8,16,24,32,40,48,56,64
|
||||||
ra_ContentionResolutionTimer = 7;
|
ra_ContentionResolutionTimer = 7;
|
||||||
@@ -119,22 +124,26 @@ gNBs =
|
|||||||
prach_RootSequenceIndex = 1;
|
prach_RootSequenceIndex = 1;
|
||||||
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
|
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
|
||||||
#
|
#
|
||||||
msg1_SubcarrierSpacing = 1,
|
msg1_SubcarrierSpacing = 3,
|
||||||
|
|
||||||
# restrictedSetConfig
|
# restrictedSetConfig
|
||||||
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
||||||
restrictedSetConfig = 0,
|
restrictedSetConfig = 0,
|
||||||
# pusch-ConfigCommon (up to 16 elements)
|
# pusch-ConfigCommon (up to 16 elements)
|
||||||
initialULBWPk2_0 = 2;
|
initialULBWPk2_0 = 6;
|
||||||
initialULBWPmappingType_0 = 1
|
initialULBWPmappingType_0 = 1
|
||||||
# this is SS=0 L=11
|
# this is SS=0 L=11
|
||||||
initialULBWPstartSymbolAndLength_0 = 55;
|
initialULBWPstartSymbolAndLength_0 = 55;
|
||||||
|
|
||||||
initialULBWPk2_1 = 2;
|
initialULBWPk2_1 = 6;
|
||||||
initialULBWPmappingType_1 = 1;
|
initialULBWPmappingType_1 = 1;
|
||||||
# this is SS=0 L=12
|
# this is SS=0 L=12
|
||||||
initialULBWPstartSymbolAndLength_1 = 69;
|
initialULBWPstartSymbolAndLength_1 = 69;
|
||||||
|
|
||||||
|
initialULBWPk2_2 = 7;
|
||||||
|
initialULBWPmappingType_2 = 1;
|
||||||
|
# this is SS=10 L=4
|
||||||
|
initialULBWPstartSymbolAndLength_2 = 52;
|
||||||
|
|
||||||
msg3_DeltaPreamble = 1;
|
msg3_DeltaPreamble = 1;
|
||||||
p0_NominalWithGrant =-90;
|
p0_NominalWithGrant =-90;
|
||||||
|
|||||||
@@ -132,12 +132,12 @@ gNBs =
|
|||||||
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
# 0=unrestricted, 1=restricted type A, 2=restricted type B
|
||||||
restrictedSetConfig = 0,
|
restrictedSetConfig = 0,
|
||||||
# pusch-ConfigCommon (up to 16 elements)
|
# pusch-ConfigCommon (up to 16 elements)
|
||||||
initialULBWPk2_0 = 2;
|
initialULBWPk2_0 = 6;
|
||||||
initialULBWPmappingType_0 = 1
|
initialULBWPmappingType_0 = 1
|
||||||
# this is SS=0 L=11
|
# this is SS=0 L=11
|
||||||
initialULBWPstartSymbolAndLength_0 = 55;
|
initialULBWPstartSymbolAndLength_0 = 55;
|
||||||
|
|
||||||
initialULBWPk2_1 = 2;
|
initialULBWPk2_1 = 6;
|
||||||
initialULBWPmappingType_1 = 1;
|
initialULBWPmappingType_1 = 1;
|
||||||
# this is SS=0 L=12
|
# this is SS=0 L=12
|
||||||
initialULBWPstartSymbolAndLength_1 = 69;
|
initialULBWPstartSymbolAndLength_1 = 69;
|
||||||
|
|||||||
Reference in New Issue
Block a user