Commit b1e97ab1 authored by Raymond Knopp's avatar Raymond Knopp

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5738 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 89151b6c
...@@ -41,6 +41,7 @@ include $(COMMON_UTILS_DIR)/Makefile.inc ...@@ -41,6 +41,7 @@ include $(COMMON_UTILS_DIR)/Makefile.inc
include $(OPENAIR_TARGETS)/COMMON/Makefile.inc include $(OPENAIR_TARGETS)/COMMON/Makefile.inc
include $(OPENAIR2_DIR)/NAS/Makefile.inc include $(OPENAIR2_DIR)/NAS/Makefile.inc
COMMON_CFLAGS += -DMAX_NUM_CCs=1
ifdef USE_MME ifdef USE_MME
COMMON_CFLAGS += -DENABLE_USE_MME COMMON_CFLAGS += -DENABLE_USE_MME
ENABLE_ITTI = 1 ENABLE_ITTI = 1
......
...@@ -34,8 +34,79 @@ eNBs = ...@@ -34,8 +34,79 @@ eNBs =
component_carriers = ( component_carriers = (
{ {
cell_id = 0; frame_type = "TDD";
N_RB_DL = 25; tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL";
eutra_band = 39;
downlink_frequency = 1910000000L;
uplink_frequency_offset = 0;
Nid_cell = 0;
N_RB_DL = 50;
Nid_cell_mbsfn = 0;
nb_antennas_tx = 1;
nb_antennas_rx = 1;
prach_root = 22;
prach_config_index = 3;
prach_high_speed = "DISABLE";
prach_zero_correlation = 0;
prach_freq_offset = 0;
pucch_delta_shift = 1;
pucch_nRB_CQI = 1;
pucch_nCS_AN = 0;
pucch_n1_AN = 32;
pdsch_referenceSignalPower = -24;
pdsch_p_b = 0;
pusch_n_SB = 1;
pusch_enable64QAM = "DISABLE";
pusch_hoppingMode = "interSubFrame";
pusch_hoppingOffset = 4;
pusch_groupHoppingEnabled = "DISABLE";
pusch_groupAssignment = 0;
pusch_sequenceHoppingEnabled = "DISABLE";
pusch_nDMRS1 = 1;
phich_duration = "NORMAL";
phich_resource = "ONESIXTH";
srs_enable = "DISABLE";
/* srs_BandwidthConfig =;
srs_SubframeConfig =;
srs_ackNackST =;
srs_MaxUpPts =;*/
pusch_p0_Nominal = -95;
pusch_alpha = "AL08";
pucch_p0_Nominal = -117;
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 = 52;
rach_preamblesGroupAConfig = "DISABLE";
/*
rach_sizeOfRA_PreamblesGroupA = ;
rach_messageSizeGroupA = ;
rach_messagePowerOffsetGroupB = ;
*/
rach_powerRampingStep = 2;
rach_preambleInitialReceivedTargetPower = -104;
rach_preambleTransMax = 6;
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 = 1000;
ue_TimersAndConstants_t310 = 1000;
ue_TimersAndConstants_t311 = 10000;
ue_TimersAndConstants_n310 = 20;
ue_TimersAndConstants_n311 = 1;
} }
); );
......
...@@ -79,6 +79,8 @@ CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENA ...@@ -79,6 +79,8 @@ CFLAGS += -DDRIVER2013 -I$(OPENAIR_TARGETS)/ARCH/EXMIMO/USERSPACE/LIB/ -I$(OPENA
endif endif
CFLAGS += -DENABLE_VCD_FIFO CFLAGS += -DENABLE_VCD_FIFO
CFLAGS += -DMAX_NUM_CCs=1
TOP_DIR = $(OPENAIR1_DIR) TOP_DIR = $(OPENAIR1_DIR)
include $(OPENAIR1_DIR)/PHY/Makefile.inc include $(OPENAIR1_DIR)/PHY/Makefile.inc
......
This diff is collapsed.
...@@ -124,6 +124,8 @@ else # default is rel 8 ...@@ -124,6 +124,8 @@ else # default is rel 8
CFLAGS += -DRel8 CFLAGS += -DRel8
endif endif
CFLAGS += -DMAX_NUM_CCs=1
ifeq ($(RLC_STOP_ON_LOST_PDU), 1) ifeq ($(RLC_STOP_ON_LOST_PDU), 1)
CFLAGS += -DRLC_STOP_ON_LOST_PDU CFLAGS += -DRLC_STOP_ON_LOST_PDU
endif endif
...@@ -191,7 +193,6 @@ endif ...@@ -191,7 +193,6 @@ endif
endif endif
endif endif
CFLAGS += -DMAX_NUM_CCs=1
include $(OPENAIR1_DIR)/PHY/Makefile.inc include $(OPENAIR1_DIR)/PHY/Makefile.inc
include $(OPENAIR1_DIR)/SCHED/Makefile.inc include $(OPENAIR1_DIR)/SCHED/Makefile.inc
include $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc include $(OPENAIR2_DIR)/RRC/LITE/MESSAGES/Makefile.inc
......
This diff is collapsed.
...@@ -109,7 +109,7 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -109,7 +109,7 @@ PHY_VARS_eNB* init_lte_eNB(LTE_DL_FRAME_PARMS *frame_parms,
LOG_D(PHY,"eNB %d : MCH %p\n",eNB_id,PHY_vars_eNB->dlsch_eNB_MCH); LOG_D(PHY,"eNB %d : MCH %p\n",eNB_id,PHY_vars_eNB->dlsch_eNB_MCH);
PHY_vars_eNB->rx_total_gain_eNB_dB=140; PHY_vars_eNB->rx_total_gain_eNB_dB=130;
for(i=0;i<NUMBER_OF_UE_MAX;i++) for(i=0;i<NUMBER_OF_UE_MAX;i++)
PHY_vars_eNB->mu_mimo_mode[i].dl_pow_off = 2; PHY_vars_eNB->mu_mimo_mode[i].dl_pow_off = 2;
...@@ -188,7 +188,7 @@ PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -188,7 +188,7 @@ PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
} }
return (PHY_vars_RN); return (PHY_vars_RN);
} }
void init_lte_vars(LTE_DL_FRAME_PARMS **frame_parms, void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs],
uint8_t frame_type, uint8_t frame_type,
uint8_t tdd_config, uint8_t tdd_config,
uint8_t tdd_config_S, uint8_t tdd_config_S,
...@@ -206,52 +206,57 @@ void init_lte_vars(LTE_DL_FRAME_PARMS **frame_parms, ...@@ -206,52 +206,57 @@ void init_lte_vars(LTE_DL_FRAME_PARMS **frame_parms,
LOG_I(PHY,"init lte parms: Nid_cell %d, Frame type %d, N_RB_DL %d\n",Nid_cell,frame_type,N_RB_DL); LOG_I(PHY,"init lte parms: Nid_cell %d, Frame type %d, N_RB_DL %d\n",Nid_cell,frame_type,N_RB_DL);
*frame_parms = calloc(1, sizeof(LTE_DL_FRAME_PARMS)); for (CC_id=0;CC_id<MAX_NUM_CCs;CC_id++) {
(*frame_parms)->frame_type = frame_type; frame_parms[CC_id] = calloc(1, sizeof(LTE_DL_FRAME_PARMS));
(*frame_parms)->tdd_config = tdd_config; (frame_parms[CC_id])->frame_type = frame_type;
(*frame_parms)->tdd_config_S = tdd_config_S; (frame_parms[CC_id])->tdd_config = tdd_config;
(*frame_parms)->N_RB_DL = N_RB_DL; (frame_parms[CC_id])->tdd_config_S = tdd_config_S;
(*frame_parms)->N_RB_UL = (*frame_parms)->N_RB_DL; (frame_parms[CC_id])->N_RB_DL = N_RB_DL;
(*frame_parms)->phich_config_common.phich_resource = oneSixth; (frame_parms[CC_id])->N_RB_UL = (frame_parms[CC_id])->N_RB_DL;
(*frame_parms)->phich_config_common.phich_duration = normal; (frame_parms[CC_id])->phich_config_common.phich_resource = oneSixth;
(*frame_parms)->Ncp = extended_prefix_flag; (frame_parms[CC_id])->phich_config_common.phich_duration = normal;
(*frame_parms)->Nid_cell = Nid_cell; (frame_parms[CC_id])->Ncp = extended_prefix_flag;
(*frame_parms)->nushift = (Nid_cell%6); (frame_parms[CC_id])->Nid_cell = Nid_cell;
(*frame_parms)->nb_antennas_tx = (transmission_mode == 1) ? 1 : 2; (frame_parms[CC_id])->nushift = (Nid_cell%6);
(*frame_parms)->nb_antennas_tx_eNB = (transmission_mode == 1) ? 1 : 2; (frame_parms[CC_id])->nb_antennas_tx = (transmission_mode == 1) ? 1 : 2;
(*frame_parms)->nb_antennas_rx = (transmission_mode == 1) ? 1 : 2; (frame_parms[CC_id])->nb_antennas_tx_eNB = (transmission_mode == 1) ? 1 : 2;
(*frame_parms)->mode1_flag = (transmission_mode == 1) ? 1 : 0; (frame_parms[CC_id])->nb_antennas_rx = (transmission_mode == 1) ? 1 : 2;
(frame_parms[CC_id])->mode1_flag = (transmission_mode == 1) ? 1 : 0;
init_frame_parms(*frame_parms,1);
init_frame_parms(frame_parms[CC_id],1);
(*frame_parms)->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = 0;//n_DMRS1 set to 0
(*frame_parms)->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = 1; (frame_parms[CC_id])->pusch_config_common.ul_ReferenceSignalsPUSCH.cyclicShift = 0;//n_DMRS1 set to 0
(*frame_parms)->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = 0; (frame_parms[CC_id])->pusch_config_common.ul_ReferenceSignalsPUSCH.groupHoppingEnabled = 1;
(*frame_parms)->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = 0; (frame_parms[CC_id])->pusch_config_common.ul_ReferenceSignalsPUSCH.sequenceHoppingEnabled = 0;
init_ul_hopping(*frame_parms); (frame_parms[CC_id])->pusch_config_common.ul_ReferenceSignalsPUSCH.groupAssignmentPUSCH = 0;
init_ul_hopping(frame_parms[CC_id]);
phy_init_top(*frame_parms); }
phy_init_lte_top(*frame_parms);
phy_init_top(frame_parms[0]);
phy_init_lte_top(frame_parms[0]);
PHY_vars_eNB_g = (PHY_VARS_eNB***)malloc(NB_eNB_INST*sizeof(PHY_VARS_eNB**)); PHY_vars_eNB_g = (PHY_VARS_eNB***)malloc(NB_eNB_INST*sizeof(PHY_VARS_eNB**));
for (eNB_id=0; eNB_id<NB_eNB_INST;eNB_id++){ for (eNB_id=0; eNB_id<NB_eNB_INST;eNB_id++){
PHY_vars_eNB_g[eNB_id] = (PHY_VARS_eNB**) malloc(MAX_NUM_CCs*sizeof(PHY_VARS_eNB*)); PHY_vars_eNB_g[eNB_id] = (PHY_VARS_eNB**) malloc(MAX_NUM_CCs*sizeof(PHY_VARS_eNB*));
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
PHY_vars_eNB_g[eNB_id][CC_id] = init_lte_eNB(*frame_parms,eNB_id,Nid_cell,cooperation_flag,transmission_mode,abstraction_flag); PHY_vars_eNB_g[eNB_id][CC_id] = init_lte_eNB(frame_parms[CC_id],eNB_id,Nid_cell,cooperation_flag,transmission_mode,abstraction_flag);
PHY_vars_eNB_g[eNB_id][CC_id]->Mod_id=eNB_id; PHY_vars_eNB_g[eNB_id][CC_id]->Mod_id=eNB_id;
PHY_vars_eNB_g[eNB_id][CC_id]->CC_id=CC_id; PHY_vars_eNB_g[eNB_id][CC_id]->CC_id=CC_id;
} }
} }
(*frame_parms)->nb_antennas_tx = 1;
(*frame_parms)->nb_antennas_rx = nb_antennas_rx;
PHY_vars_UE_g = (PHY_VARS_UE***)malloc(NB_UE_INST*sizeof(PHY_VARS_UE**)); PHY_vars_UE_g = (PHY_VARS_UE***)malloc(NB_UE_INST*sizeof(PHY_VARS_UE**));
for (UE_id=0; UE_id<NB_UE_INST;UE_id++){ for (UE_id=0; UE_id<NB_UE_INST;UE_id++){
PHY_vars_UE_g[UE_id] = (PHY_VARS_UE**) malloc(MAX_NUM_CCs*sizeof(PHY_VARS_UE*)); PHY_vars_UE_g[UE_id] = (PHY_VARS_UE**) malloc(MAX_NUM_CCs*sizeof(PHY_VARS_UE*));
for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) { for (CC_id=0; CC_id<MAX_NUM_CCs; CC_id++) {
PHY_vars_UE_g[UE_id][CC_id] = init_lte_UE(*frame_parms, UE_id,abstraction_flag,transmission_mode); (frame_parms[CC_id])->nb_antennas_tx = 1;
(frame_parms[CC_id])->nb_antennas_rx = nb_antennas_rx;
PHY_vars_UE_g[UE_id][CC_id] = init_lte_UE(frame_parms[CC_id], UE_id,abstraction_flag,transmission_mode);
PHY_vars_UE_g[UE_id][CC_id]->Mod_id=UE_id; PHY_vars_UE_g[UE_id][CC_id]->Mod_id=UE_id;
PHY_vars_UE_g[UE_id][CC_id]->CC_id=CC_id; PHY_vars_UE_g[UE_id][CC_id]->CC_id=CC_id;
} }
......
...@@ -46,7 +46,7 @@ PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -46,7 +46,7 @@ PHY_VARS_RN* init_lte_RN(LTE_DL_FRAME_PARMS *frame_parms,
uint8_t RN_id, uint8_t RN_id,
uint8_t eMBMS_active_state); uint8_t eMBMS_active_state);
void init_lte_vars(LTE_DL_FRAME_PARMS **frame_parms, void init_lte_vars(LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs],
uint8_t frame_type, uint8_t frame_type,
uint8_t tdd_config, uint8_t tdd_config,
uint8_t tdd_config_S, uint8_t tdd_config_S,
......
This diff is collapsed.
...@@ -197,6 +197,7 @@ mapping packet_gen_names[] = ...@@ -197,6 +197,7 @@ mapping packet_gen_names[] =
void init_oai_emulation(void) { void init_oai_emulation(void) {
int i; int i;
int CC_id;
oai_emulation.environment_system_config.fading.large_scale.selected_option = "free_space"; oai_emulation.environment_system_config.fading.large_scale.selected_option = "free_space";
oai_emulation.environment_system_config.fading.free_space_model_parameters.pathloss_exponent = 3.00; oai_emulation.environment_system_config.fading.free_space_model_parameters.pathloss_exponent = 3.00;
...@@ -348,7 +349,7 @@ void init_oai_emulation(void) { ...@@ -348,7 +349,7 @@ void init_oai_emulation(void) {
oai_emulation.info.n_frames=0xffff; // number of frames simulated by default oai_emulation.info.n_frames=0xffff; // number of frames simulated by default
oai_emulation.info.n_frames_flag=0; // if set, then let the emulation goes to infinity oai_emulation.info.n_frames_flag=0; // if set, then let the emulation goes to infinity
//status //status
oai_emulation.info.is_primary_master=0; oai_emulation.info.is_primary_master=0;
oai_emulation.info.master_list=0; oai_emulation.info.master_list=0;
oai_emulation.info.nb_ue_remote=0; oai_emulation.info.nb_ue_remote=0;
...@@ -415,13 +416,15 @@ void init_oai_emulation(void) { ...@@ -415,13 +416,15 @@ void init_oai_emulation(void) {
oai_emulation.info.g_log_verbosity = 0x15; oai_emulation.info.g_log_verbosity = 0x15;
oai_emulation.info.g_log_verbosity_option = "medium"; oai_emulation.info.g_log_verbosity_option = "medium";
oai_emulation.info.frame_type=TDD; for (CC_id=0;CC_id<MAX_NUM_CCs;CC_id++) {
oai_emulation.info.frame_type_name="TDD"; oai_emulation.info.frame_type[CC_id]=TDD;
oai_emulation.info.tdd_config=3; oai_emulation.info.frame_type_name[CC_id]="TDD";
oai_emulation.info.tdd_config_S=0; oai_emulation.info.tdd_config[CC_id]=3;
oai_emulation.info.extended_prefix_flag=0; oai_emulation.info.tdd_config_S[CC_id]=0;
oai_emulation.info.N_RB_DL=25; oai_emulation.info.extended_prefix_flag[CC_id]=0;
oai_emulation.info.transmission_mode=2; oai_emulation.info.N_RB_DL[CC_id]=25;
oai_emulation.info.transmission_mode[CC_id]=2;
}
oai_emulation.profile = "EURECOM"; oai_emulation.profile = "EURECOM";
} }
...@@ -431,6 +434,8 @@ void oaisim_config(void) { ...@@ -431,6 +434,8 @@ void oaisim_config(void) {
// init log gen first // init log gen first
//initialize the log generator //initialize the log generator
logInit(); logInit();
#if defined(ENABLE_ITTI) #if defined(ENABLE_ITTI)
...@@ -558,21 +563,24 @@ int olg_config(void) { ...@@ -558,21 +563,24 @@ int olg_config(void) {
int ocg_config_env(void) { int ocg_config_env(void) {
// int func related to channel desc from oaisim.c could be moved here // int func related to channel desc from oaisim.c could be moved here
int CC_id;
if (oai_emulation.info.ocg_enabled){ if (oai_emulation.info.ocg_enabled){
oai_emulation.info.frame_type = map_str_to_int(frame_type_names, oai_emulation.info.frame_type_name); for (CC_id=0;CC_id<MAX_NUM_CCs;CC_id++) {
if (oai_emulation.info.frame_type == -1){ oai_emulation.info.frame_type[CC_id] = map_str_to_int(frame_type_names, oai_emulation.info.frame_type_name[CC_id]);
if (oai_emulation.info.frame_type[CC_id] == -1){
LOG_E(EMU,"frame type incorrect %s, set it to TDD \n",oai_emulation.info.frame_type_name); LOG_E(EMU,"frame type incorrect %s, set it to TDD \n",oai_emulation.info.frame_type_name);
oai_emulation.info.frame_type=TDD; oai_emulation.info.frame_type[CC_id]=TDD;
} }
else else
LOG_I(EMU,"Frame type is %s \n",oai_emulation.info.frame_type_name); LOG_I(EMU,"Frame type is %s \n",oai_emulation.info.frame_type_name);
if (oai_emulation.info.frame_type == TDD ){ if (oai_emulation.info.frame_type[CC_id] == TDD ){
if ((oai_emulation.info.tdd_config > 6) || (oai_emulation.info.tdd_config < 0)) { if ((oai_emulation.info.tdd_config[CC_id] > 6) || (oai_emulation.info.tdd_config[CC_id] < 0)) {
LOG_E(EMU,"TDD config %d out of range, set it to 3\n",oai_emulation.info.tdd_config); LOG_E(EMU,"TDD config %d out of range, set it to 3\n",oai_emulation.info.tdd_config[CC_id]);
oai_emulation.info.tdd_config=3; oai_emulation.info.tdd_config[CC_id]=3;
} else } else
LOG_I(EMU,"TDD config is set to \n",oai_emulation.info.tdd_config); LOG_I(EMU,"TDD config is set to \n",oai_emulation.info.tdd_config[CC_id]);
}
} }
} }
return 1; return 1;
......
This diff is collapsed.
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