Commit d45b6c1f authored by kogo's avatar kogo

rearranged conf file - added pdsch_configcommon_v1310 & pusch_configcommon_v1310

parent 94c433d6
......@@ -284,6 +284,14 @@ typedef struct RrcConfigurationReq_s {
long *sib2_mpdcch_pdsch_hoppingOffset_r13 [MAX_NUM_CCs];
long *pdsch_maxNumRepetitionCEmodeA_r13 [MAX_NUM_CCs];
long *pdsch_maxNumRepetitionCEmodeB_r13 [MAX_NUM_CCs];
long *pusch_maxNumRepetitionCEmodeA_r13 [MAX_NUM_CCs];
long *pusch_maxNumRepetitionCEmodeB_r13 [MAX_NUM_CCs];
long *pusch_HoppingOffset_v1310 [MAX_NUM_CCs];
#endif
} RrcConfigurationReq;
......
......@@ -184,8 +184,6 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr
#define ENB_CONFIG_STRING_MPDCCH_PDSCH_HOPPING_OFFSET_R13 "sib2_mpdcch_pdsch_hoppingOffset_r13"
#define ENB_CONFIG_STRING_PDSCH_RS_EPRE "pdsch_referenceSignalPower"
#define ENB_CONFIG_STRING_PDSCH_PB "pdsch_p_b"
#define ENB_CONFIG_STRING_PUSCH_N_SB "pusch_n_SB"
......@@ -234,6 +232,15 @@ EMAIL : Lionel.Gauthier@eurecom.fr, navid.nikaein@eurecom.fr
#define ENB_CONFIG_STRING_UETIMERS_N311 "ue_TimersAndConstants_n311"
#define ENB_CONFIG_STRING_UE_TRANSMISSION_MODE "ue_TransmissionMode"
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pdsch_maxNumRepetitionCEmodeA_r13"
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13 "pusch_maxNumRepetitionCEmodeA_r13"
#define ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pdsch_maxNumRepetitionCEmodeB_r13"
#define ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13 "pusch_maxNumRepetitionCEmodeB_r13"
#define ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310 "pusch_HoppingOffset_v1310"
#define ENB_CONFIG_STRING_SRB1 "srb1_parameters"
#define ENB_CONFIG_STRING_SRB1_TIMER_POLL_RETRANSMIT "timer_poll_retransmit"
#define ENB_CONFIG_STRING_SRB1_TIMER_REORDERING "timer_reordering"
......@@ -1184,6 +1191,12 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
libconfig_int sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0;
libconfig_int sib2_mpdcch_pdsch_hoppingOffset_r13 = 0;
libconfig_int pdsch_maxNumRepetitionCEmodeA_r13 = 0;
libconfig_int pdsch_maxNumRepetitionCEmodeB_r13 = 0;
libconfig_int pusch_maxNumRepetitionCEmodeA_r13 = 0;
libconfig_int pusch_maxNumRepetitionCEmodeB_r13 = 0;
libconfig_int pusch_HoppingOffset_v1310 = 0;
......@@ -2727,6 +2740,36 @@ int RCconfig_RRC(MessageDef *msg_p, uint32_t i, eNB_RRC_INST *rrc) {
}
if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pdsch_maxNumRepetitionCEmodeA_r13))
{
RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long));
*RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeA_r13[j] = pdsch_maxNumRepetitionCEmodeA_r13;
}
if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PDSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pdsch_maxNumRepetitionCEmodeB_r13))
{
RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long));
*RRC_CONFIGURATION_REQ (msg_p).pdsch_maxNumRepetitionCEmodeB_r13[j] = pdsch_maxNumRepetitionCEmodeB_r13;
}
if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_A_R13, &pusch_maxNumRepetitionCEmodeA_r13))
{
RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = CALLOC(1, sizeof(long));
*RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeA_r13[j] = pusch_maxNumRepetitionCEmodeA_r13;
}
if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_MAX_NUM_REPETITION_CE_MODE_B_R13, &pusch_maxNumRepetitionCEmodeB_r13))
{
RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = CALLOC(1, sizeof(long));
*RRC_CONFIGURATION_REQ (msg_p).pusch_maxNumRepetitionCEmodeB_r13[j] = pusch_maxNumRepetitionCEmodeB_r13;
}
if (config_setting_lookup_int(setting_br13, ENB_CONFIG_STRING_PUSCH_HOPPING_OFFSET_V1310, &pusch_HoppingOffset_v1310))
{
RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j] = CALLOC(1, sizeof(long));
*RRC_CONFIGURATION_REQ (msg_p).pusch_HoppingOffset_v1310[j] = pusch_HoppingOffset_v1310;
}
rsrp_range_list = config_setting_get_member(setting_br13, ENB_CONFIG_STRING_RSRP_RANGE_LIST);
int num_rsrp_list = config_setting_length(rsrp_range_list);
RRC_CONFIGURATION_REQ (msg_p).rsrp_range_list_size[j] = num_rsrp_list;
......
......@@ -1338,17 +1338,61 @@ uint8_t do_SIB23(uint8_t Mod_id,
(*sib2)->radioResourceConfigCommon.ext4->freqHoppingParameters_r13 = NULL;
}
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = calloc(1,sizeof(PDSCH_ConfigCommon_v1310_t));
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long));
*(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = 0;
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL;
// pdsch_ConfigCommon_v1310
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310 = CALLOC(1,sizeof(PDSCH_ConfigCommon_v1310_t));
if (configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id]) {
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = CALLOC(1, sizeof(long));
*(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = *configuration->pdsch_maxNumRepetitionCEmodeA_r13[CC_id];
printf("[DEBUGGING][KOGO] : pdsch CE MODE A : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13);
} else {
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = NULL;
}
if (configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id]) {
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long)); // check if they're really long
*(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = *configuration->pdsch_maxNumRepetitionCEmodeB_r13[CC_id];
printf("[DEBUGGING][KOGO] : pdsch CE MODE B : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13);
} else {
(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL;
}
// *(*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeA_r13 = 0;
// (*sib2)->radioResourceConfigCommon.ext4->pdsch_ConfigCommon_v1310->pdsch_maxNumRepetitionCEmodeB_r13 = NULL;
// pusch_ConfigCommon_v1310
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310 = calloc(1,sizeof(PUSCH_ConfigCommon_v1310_t));
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long));
*(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = 0;
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL;
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL;
if (configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id]) {
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = calloc(1,sizeof(long));
*(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = *configuration->pusch_maxNumRepetitionCEmodeA_r13[CC_id];
printf("[DEBUGGING][KOGO] : pusch CE MODE A : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13);
} else {
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = NULL;
}
if (configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id]) {
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = CALLOC(1, sizeof(long));
*(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = *configuration->pusch_maxNumRepetitionCEmodeB_r13[CC_id];
printf("[DEBUGGING][KOGO] : pusch CE MODE B : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13);
} else {
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL;
}
if (configuration->pusch_HoppingOffset_v1310[CC_id]) {
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = CALLOC(1, sizeof(long));
*(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = *configuration->pusch_HoppingOffset_v1310[CC_id];
printf("[DEBUGGING][KOGO] : pusch hopping offset : %ld\n", *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310);
} else {
(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL;
}
// *(*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeA_r13 = 0;
// (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_maxNumRepetitionCEmodeB_r13 = NULL;
// (*sib2)->radioResourceConfigCommon.ext4->pusch_ConfigCommon_v1310->pusch_HoppingOffset_v1310 = NULL;
if (rrconfig->prach_ConfigCommon_v1310)
{
......
......@@ -24,7 +24,7 @@ eNBs =
////////// Physical parameters:
component_carriers = (
{
{
node_function = "3GPP_eNodeB";
node_timing = "synch_to_ext_device";
node_synch_ref = 0;
......@@ -51,7 +51,7 @@ eNBs =
prach_freq_offset = 1;
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
......@@ -110,17 +110,26 @@ eNBs =
br_parameters :
{
fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13";
fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF;
#hyperSFN_r13 = 0;
#eDRX_Allowed_r13 = 0;
#q_QualMinRSRQ_CE_r13 = ;
#SIB1
schedulingInfoSIB1_BR_r13 = 4;
#hyperSFN_r13 = 0;
#eDRX_Allowed_r13 = 0;
#system_info_value_tag_SI =
#(
# {
# systemInfoValueTagSi_r13 = 0;
# }
#);
cellSelectionInfoCE_r13 = "ENABLE";
q_RxLevMinCE_r13 = -70;
#q_QualMinRSRQ_CE_r13 = ;
bandwidthReducedAccessRelatedInfo_r13 = "ENABLE"
si_WindowLength_BR_r13 = 0;
si_RepetitionPattern_r13 = 0;
scheduling_info_br =
(
{
......@@ -128,17 +137,13 @@ eNBs =
si_TBS_r13 = 5;
}
);
si_WindowLength_BR_r13 = 0;
si_RepetitionPattern_r13 = 0;
fdd_DownlinkOrTddSubframeBitmapBR_r13 = "subframePattern40-r13";
fdd_DownlinkOrTddSubframeBitmapBR_val_r13 = 0xFFFFFFFFFF;
startSymbolBR_r13 = 3;
si_HoppingConfigCommon_r13 = 1; # Note: 1==OFF !
si_ValidityTime_r13 = 0;
#system_info_value_tag_SI =
#(
# {
# systemInfoValueTagSi_r13 = 0;
# }
#);
freqHoppingParametersDL_r13 = "DISABLE"
mpdcch_pdsch_HoppingNB_r13 = 0;
interval_DLHoppingConfigCommonModeA_r13 = "interval-FDD-r13"
......@@ -151,8 +156,16 @@ eNBs =
# SIB23
frame_type = "FDD";
preambleTransMax_CE_r13 = 6;
# max 4
rach_numberOfRA_Preambles = 60;
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
# max size for this array is 4
rach_CE_LevelInfoList_r13 =
(
{
......@@ -164,17 +177,74 @@ eNBs =
}
);
# BCCH CONFIG
bcch_modificationPeriodCoeff = 2;
#PCCH Config
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
#PRACH Config
prach_root = 89;
prach_config_index = 3;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
#PDSCH Config Common
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
# PUSCH Config Common
pusch_n_SB = 1;
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_enable64QAM = "DISABLE";
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
# PUCCH Config Common
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
msg3_delta_Preamble = 6;
prach_ConfigCommon_v1310 = "ENABLE";
# max 3
pdsch_maxNumRepetitionCEmodeA_r13 = 0;
#pdsch_maxNumRepetitionCEmodeB_r13 = 2; # NULL
pusch_maxNumRepetitionCEmodeA_r13 = 0;
#pusch_maxNumRepetitionCEmodeB_r13 = 4; #NULL
#pusch_HoppingOffset_v1310 = 5; #NULL
# max size for this array is 3
rsrp_range_list =
(
{
rsrp_range_br = 0;
}
);
# max 4
mpdcch_startSF_CSS_RA_r13 = "fdd-r13";
mpdcch_startSF_CSS_RA_r13_val = 0;
prach_HoppingOffset_r13 = 0;
# max size for this array is 4
prach_parameters_ce_r13 =
(
{
......@@ -196,15 +266,24 @@ eNBs =
}
);
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 400;
ue_TimersAndConstants_t310 = 50;
ue_TimersAndConstants_t311 = 30000;
ue_TimersAndConstants_n310 = 1;
ue_TimersAndConstants_n311 = 10;
ue_TransmissionMode = 1;
pcch_config_v1310 :
{
paging_narrowbands_r13 = 1;
mpdcch_numrepetition_paging_r13 = 0;
paging_narrowbands_r13 = 1;
mpdcch_numrepetition_paging_r13 = 0;
#nb_v1310 = 2;
}
pucch_NumRepetitionCE_Msg4_Level0_r13 = 0;
pucch_NumRepetitionCE_Msg4_Level0_r13 = 0;
#pucch_NumRepetitionCE_Msg4_Level1_r13 = 1;
#pucch_NumRepetitionCE_Msg4_Level2_r13 = 2;
#pucch_NumRepetitionCE_Msg4_Level3_r13 = 3;
......@@ -222,65 +301,16 @@ eNBs =
# sib2_interval_ULHoppingConfigCommonModeB_r13 = 0; # choice -> (0, FDD) (1, TDD)
# sib2_interval_ULHoppingConfigCommonModeB_r13_val = 0;
# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1;
# sib2_mpdcch_pdsch_hoppingOffset_r13 = 1;
}
mpdcch_startSF_CSS_RA_r13 = "fdd-r13"
mpdcch_startSF_CSS_RA_r13_val = 0;
prach_HoppingOffset_r13 = 0;
prach_root = 89;
prach_config_index = 3;
prach_high_speed = "DISABLE";
prach_zero_correlation = 1;
prach_freq_offset = 2;
pucch_delta_shift = 1;
pucch_nRB_CQI = 0;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -27;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 0;
pusch_groupHoppingEnabled = "ENABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
rach_preamblesGroupAConfig = "DISABLE";
pusch_nDMRS1 = 0;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
pusch_p0_Nominal = -96;
pusch_alpha = "AL1";
pucch_p0_Nominal = -104;
msg3_delta_Preamble = 6;
pucch_deltaF_Format1 = "deltaF2";
pucch_deltaF_Format1b = "deltaF3";
pucch_deltaF_Format2 = "deltaF0";
pucch_deltaF_Format2a = "deltaF0";
pucch_deltaF_Format2b = "deltaF0";
rach_numberOfRA_Preambles = 60;
rach_preamblesGroupAConfig = "DISABLE";
rach_powerRampingStep = 4;
rach_preambleInitialReceivedTargetPower = -108;
rach_preambleTransMax = 10;
rach_raResponseWindowSize = 10;
rach_macContentionResolutionTimer = 48;
rach_maxHARQ_Msg3Tx = 4;
pcch_default_PagingCycle = 128;
pcch_nB = "oneT";
bcch_modificationPeriodCoeff = 2;
ue_TimersAndConstants_t300 = 1000;
ue_TimersAndConstants_t301 = 400;
ue_TimersAndConstants_t310 = 50;
ue_TimersAndConstants_t311 = 30000;
ue_TimersAndConstants_n310 = 1;
ue_TimersAndConstants_n311 = 10;
ue_TransmissionMode = 1;
}
......@@ -334,9 +364,9 @@ eNBs =
NETWORK_INTERFACES :
{
ENB_INTERFACE_NAME_FOR_S1_MME = "eth0:S1-C-eNB";
ENB_INTERFACE_NAME_FOR_S1_MME = "enp0s31f6:S1-C";
ENB_IPV4_ADDRESS_FOR_S1_MME = "172.17.0.21/24";
ENB_INTERFACE_NAME_FOR_S1U = "eth0:S1-U-eNB";
ENB_INTERFACE_NAME_FOR_S1U = "enp0s31f6:S1-U";
ENB_IPV4_ADDRESS_FOR_S1U = "172.16.0.21/24";
ENB_PORT_FOR_S1U = 2152; # Spec 2152
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment