oaisim updates after merge with develop
This commit is contained in:
@@ -680,6 +680,13 @@ function main() {
|
|||||||
oaisim_build_dir=oaisim_build_oai
|
oaisim_build_dir=oaisim_build_oai
|
||||||
oaisim_exec=oaisim
|
oaisim_exec=oaisim
|
||||||
fi
|
fi
|
||||||
|
# mandatory shared lib
|
||||||
|
compilations \
|
||||||
|
$oaisim_build_dir $config_libconfig_shlib \
|
||||||
|
lib$config_libconfig_shlib.so $dbin/lib$config_libconfig_shlib.so
|
||||||
|
compilations \
|
||||||
|
$oaisim_build_dir coding \
|
||||||
|
libcoding.so $dbin/libcoding.so
|
||||||
|
|
||||||
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
|
echo_info "Compiling $oaisim_exec ($oaisim_build_dir)"
|
||||||
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
|
cmake_file=$DIR/$oaisim_build_dir/CMakeLists.txt
|
||||||
|
|||||||
@@ -5027,7 +5027,7 @@ void compute_llr_offset(LTE_DL_FRAME_PARMS *frame_parms,
|
|||||||
|
|
||||||
pdsch_vars->llr_offset[pdcch_vars->num_pdcch_symbols] = 0;
|
pdsch_vars->llr_offset[pdcch_vars->num_pdcch_symbols] = 0;
|
||||||
|
|
||||||
LOG_I(PHY,"compute_llr_offset: nb RB %d - Qm %d \n", nb_rb_alloc, dlsch0_harq->Qm);
|
LOG_D(PHY,"compute_llr_offset: nb RB %d - Qm %d \n", nb_rb_alloc, dlsch0_harq->Qm);
|
||||||
|
|
||||||
//dlsch0_harq->rb_alloc_even;
|
//dlsch0_harq->rb_alloc_even;
|
||||||
//dlsch0_harq->rb_alloc_odd;
|
//dlsch0_harq->rb_alloc_odd;
|
||||||
@@ -5057,14 +5057,14 @@ void compute_llr_offset(LTE_DL_FRAME_PARMS *frame_parms,
|
|||||||
if(symbol < (frame_parms->symbols_per_tti-1))
|
if(symbol < (frame_parms->symbols_per_tti-1))
|
||||||
pdsch_vars->llr_offset[symbol+1] = pdsch_vars->llr_offset[symbol] + llr_offset;
|
pdsch_vars->llr_offset[symbol+1] = pdsch_vars->llr_offset[symbol] + llr_offset;
|
||||||
|
|
||||||
LOG_I(PHY,"Granted Re subframe %d / symbol %d => %d (%d RBs)\n", subframe, symbol_mod, granted_re,dlsch0_harq->nb_rb);
|
LOG_D(PHY,"Granted Re subframe %d / symbol %d => %d (%d RBs)\n", subframe, symbol_mod, granted_re,dlsch0_harq->nb_rb);
|
||||||
LOG_I(PHY,"Pbch/PSS/SSS Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, pbch_pss_sss_re);
|
LOG_D(PHY,"Pbch/PSS/SSS Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, pbch_pss_sss_re);
|
||||||
LOG_I(PHY,"CRS Re Per PRB subframe %d / symbol %d => %d \n", subframe, symbol_mod, crs_re);
|
LOG_D(PHY,"CRS Re Per PRB subframe %d / symbol %d => %d \n", subframe, symbol_mod, crs_re);
|
||||||
LOG_I(PHY,"Data Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, data_re);
|
LOG_D(PHY,"Data Re subframe %d / symbol %d => %d \n", subframe, symbol_mod, data_re);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
LOG_I(PHY,"Data Re subframe %d-symbol %d => llr length %d, llr offset %d \n", subframe, symbol,
|
LOG_D(PHY,"Data Re subframe %d-symbol %d => llr length %d, llr offset %d \n", subframe, symbol,
|
||||||
pdsch_vars->llr_length[symbol], pdsch_vars->llr_offset[symbol]);
|
pdsch_vars->llr_length[symbol], pdsch_vars->llr_offset[symbol]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ int16_t interf_unaw_shift = 13;
|
|||||||
|
|
||||||
//#define DEBUG_HARQ
|
//#define DEBUG_HARQ
|
||||||
|
|
||||||
#define DEBUG_PHY 1
|
//#define DEBUG_PHY 1
|
||||||
//#define DEBUG_DLSCH_DEMOD 1
|
//#define DEBUG_DLSCH_DEMOD 1
|
||||||
|
|
||||||
//#define DISABLE_LOG_X
|
//#define DISABLE_LOG_X
|
||||||
@@ -258,7 +258,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
|
|
||||||
if (frame_parms->nb_antenna_ports_eNB>1 && beamforming_mode==0) {
|
if (frame_parms->nb_antenna_ports_eNB>1 && beamforming_mode==0) {
|
||||||
#ifdef DEBUG_DLSCH_MOD
|
#ifdef DEBUG_DLSCH_MOD
|
||||||
LOG_I(PHY,"dlsch: using pmi %x (%p), rb_alloc %x\n",pmi2hex_2Ar1(dlsch0_harq->pmi_alloc),dlsch[0],dlsch0_harq->rb_alloc_even[0]);
|
LOG_D(PHY,"dlsch: using pmi %x (%p), rb_alloc %x\n",pmi2hex_2Ar1(dlsch0_harq->pmi_alloc),dlsch[0],dlsch0_harq->rb_alloc_even[0]);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if UE_TIMING_TRACE
|
#if UE_TIMING_TRACE
|
||||||
@@ -378,7 +378,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
printf("[AbsSFN %d.%d] Slot%d Symbol %d Flag %d type %d: Pilot/Data extraction %5.2f \n",frame,subframe,slot,
|
printf("[AbsSFN %d.%d] Slot%d Symbol %d Flag %d type %d: Pilot/Data extraction %5.2f \n",frame,subframe,slot,
|
||||||
symbol,ue->high_speed_flag,type,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
symbol,ue->high_speed_flag,type,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#else
|
#else
|
||||||
LOG_I(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d Flag %d type %d: Pilot/Data extraction %5.2f \n",frame,subframe,slot,symbol,
|
LOG_D(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d Flag %d type %d: Pilot/Data extraction %5.2f \n",frame,subframe,slot,symbol,
|
||||||
ue->high_speed_flag,type,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
ue->high_speed_flag,type,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
@@ -414,7 +414,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
#if DISABLE_LOG_X
|
#if DISABLE_LOG_X
|
||||||
printf("[AbsSFN %d.%d] Slot%d Symbol %d: Channel Scale %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
printf("[AbsSFN %d.%d] Slot%d Symbol %d: Channel Scale %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#else
|
#else
|
||||||
LOG_I(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d: Channel Scale %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
LOG_D(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d: Channel Scale %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -538,7 +538,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
#if DISABLE_LOG_X
|
#if DISABLE_LOG_X
|
||||||
printf("[AbsSFN %d.%d] Slot%d Symbol %d first_symbol_flag %d: Channel Level %5.2f \n",frame,subframe,slot,symbol,first_symbol_flag,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
printf("[AbsSFN %d.%d] Slot%d Symbol %d first_symbol_flag %d: Channel Level %5.2f \n",frame,subframe,slot,symbol,first_symbol_flag,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#else
|
#else
|
||||||
LOG_I(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d first_symbol_flag %d: Channel Level %5.2f \n",frame,subframe,slot,symbol,first_symbol_flag,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
LOG_D(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d first_symbol_flag %d: Channel Level %5.2f \n",frame,subframe,slot,symbol,first_symbol_flag,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -745,7 +745,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
#if DISABLE_LOG_X
|
#if DISABLE_LOG_X
|
||||||
printf("[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f \n",frame,subframe,slot,symbol,pdsch_vars[eNB_id]->log2_maxh,proc->channel_level,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
printf("[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f \n",frame,subframe,slot,symbol,pdsch_vars[eNB_id]->log2_maxh,proc->channel_level,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#else
|
#else
|
||||||
LOG_I(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f \n",frame,subframe,slot,symbol,pdsch_vars[eNB_id]->log2_maxh,proc->channel_level,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
LOG_D(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d log2_maxh %d channel_level %d: Channel Comp %5.2f \n",frame,subframe,slot,symbol,pdsch_vars[eNB_id]->log2_maxh,proc->channel_level,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
// MRC
|
// MRC
|
||||||
@@ -824,7 +824,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
#if DISABLE_LOG_X
|
#if DISABLE_LOG_X
|
||||||
printf("[AbsSFN %d.%d] Slot%d Symbol %d: Channel Combine %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
printf("[AbsSFN %d.%d] Slot%d Symbol %d: Channel Combine %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#else
|
#else
|
||||||
LOG_I(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d: Channel Combine %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
LOG_D(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d: Channel Combine %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -843,7 +843,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
pllr_symbol_cw0 += llr_offset_symbol;
|
pllr_symbol_cw0 += llr_offset_symbol;
|
||||||
pllr_symbol_cw1 += llr_offset_symbol;
|
pllr_symbol_cw1 += llr_offset_symbol;
|
||||||
|
|
||||||
LOG_I(PHY,"compute LLRs [AbsSubframe %d.%d-%d] NbRB %d Qm %d LLRs-Length %d LLR-Offset %d @LLR Buff %p @LLR Buff(symb) %p\n",
|
LOG_D(PHY,"compute LLRs [AbsSubframe %d.%d-%d] NbRB %d Qm %d LLRs-Length %d LLR-Offset %d @LLR Buff %p @LLR Buff(symb) %p\n",
|
||||||
frame, subframe,symbol,
|
frame, subframe,symbol,
|
||||||
nb_rb,dlsch0_harq->Qm,
|
nb_rb,dlsch0_harq->Qm,
|
||||||
pdsch_vars[eNB_id]->llr_length[symbol],
|
pdsch_vars[eNB_id]->llr_length[symbol],
|
||||||
@@ -1185,7 +1185,7 @@ int rx_pdsch(PHY_VARS_UE *ue,
|
|||||||
#if DISABLE_LOG_X
|
#if DISABLE_LOG_X
|
||||||
printf("[AbsSFN %d.%d] Slot%d Symbol %d: LLR Computation %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
printf("[AbsSFN %d.%d] Slot%d Symbol %d: LLR Computation %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#else
|
#else
|
||||||
LOG_I(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d: LLR Computation %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
LOG_D(PHY, "[AbsSFN %d.%d] Slot%d Symbol %d: LLR Computation %5.2f \n",frame,subframe,slot,symbol,ue->generic_stat_bis[ue->current_thread_id[subframe]][slot].p_time/(cpuf*1000.0));
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
// Please keep it: useful for debugging
|
// Please keep it: useful for debugging
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ extern uint32_t downlink_frequency[MAX_NUM_CCs][4];
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define UE_DEBUG_TRACE 1
|
//#define UE_DEBUG_TRACE 1
|
||||||
|
|
||||||
void dump_dlsch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t subframe,uint8_t harq_pid)
|
void dump_dlsch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,uint8_t eNB_id,uint8_t subframe,uint8_t harq_pid)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,13 +19,13 @@ RUs = (
|
|||||||
);
|
);
|
||||||
|
|
||||||
log_config = {
|
log_config = {
|
||||||
global_log_level ="debug";
|
global_log_level ="info";
|
||||||
global_log_verbosity ="medium";
|
global_log_verbosity ="medium";
|
||||||
hw_log_level ="info";
|
hw_log_level ="info";
|
||||||
hw_log_verbosity ="medium";
|
hw_log_verbosity ="medium";
|
||||||
phy_log_level ="debug";
|
phy_log_level ="info";
|
||||||
phy_log_verbosity ="medium";
|
phy_log_verbosity ="medium";
|
||||||
mac_log_level ="debug";
|
mac_log_level ="info";
|
||||||
mac_log_verbosity ="high";
|
mac_log_verbosity ="high";
|
||||||
rlc_log_level ="info";
|
rlc_log_level ="info";
|
||||||
rlc_log_verbosity ="medium";
|
rlc_log_verbosity ="medium";
|
||||||
|
|||||||
@@ -2168,8 +2168,6 @@ void init_RU_proc(RU_t *ru) {
|
|||||||
(ru->function == NGFI_RRU_IF5) ||
|
(ru->function == NGFI_RRU_IF5) ||
|
||||||
(ru->function == NGFI_RRU_IF4p5)) pthread_create( &proc->pthread_asynch_rxtx, attr_asynch, ru_thread_asynch_rxtx, (void*)ru );
|
(ru->function == NGFI_RRU_IF4p5)) pthread_create( &proc->pthread_asynch_rxtx, attr_asynch, ru_thread_asynch_rxtx, (void*)ru );
|
||||||
|
|
||||||
snprintf( name, sizeof(name), "ru_thread_FH %d", ru->idx );
|
|
||||||
pthread_setname_np( proc->pthread_FH, name );
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (ru->function == eNodeB_3GPP && ru->if_south == LOCAL_RF) { // DJP - need something else to distinguish between monolithic and PNF
|
else if (ru->function == eNodeB_3GPP && ru->if_south == LOCAL_RF) { // DJP - need something else to distinguish between monolithic and PNF
|
||||||
@@ -2198,6 +2196,9 @@ void init_RU_proc(RU_t *ru) {
|
|||||||
if (opp_enabled == 1) pthread_create(&ru->ru_stats_thread,NULL,ru_stats_thread,(void*)ru);
|
if (opp_enabled == 1) pthread_create(&ru->ru_stats_thread,NULL,ru_stats_thread,(void*)ru);
|
||||||
|
|
||||||
pthread_create( &proc->pthread_FH, attr_FH, ru_thread, (void*)ru );
|
pthread_create( &proc->pthread_FH, attr_FH, ru_thread, (void*)ru );
|
||||||
|
snprintf( name, sizeof(name), "ru_thread_FH %d", ru->idx );
|
||||||
|
pthread_setname_np( proc->pthread_FH, name );
|
||||||
|
|
||||||
if (ru->function == eNodeB_3GPP) {
|
if (ru->function == eNodeB_3GPP) {
|
||||||
usleep(10000);
|
usleep(10000);
|
||||||
LOG_I(PHY, "Signaling main thread that RU %d (is_slave %d) is ready in state %s\n",ru->idx,ru->is_slave,ru_states[ru->state]);
|
LOG_I(PHY, "Signaling main thread that RU %d (is_slave %d) is ready in state %s\n",ru->idx,ru->is_slave,ru_states[ru->state]);
|
||||||
|
|||||||
@@ -814,14 +814,12 @@ l2l1_task (void *args_p)
|
|||||||
fflush(eNB_stats[eNB_inst]);
|
fflush(eNB_stats[eNB_inst]);
|
||||||
}
|
}
|
||||||
#ifdef OPENAIR2
|
#ifdef OPENAIR2
|
||||||
/*
|
|
||||||
if (eNB_l2_stats) {
|
if (eNB_l2_stats) {
|
||||||
len = dump_eNB_l2_stats (stats_buffer, 0);
|
len = dump_eNB_l2_stats (stats_buffer, 0);
|
||||||
rewind (eNB_l2_stats);
|
rewind (eNB_l2_stats);
|
||||||
fwrite (stats_buffer, 1, len, eNB_l2_stats);
|
fwrite (stats_buffer, 1, len, eNB_l2_stats);
|
||||||
fflush(eNB_l2_stats);
|
fflush(eNB_l2_stats);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1529,11 +1529,11 @@ void update_ocm()
|
|||||||
//LOG_D(OMG," extracting position of eNb...\n");
|
//LOG_D(OMG," extracting position of eNb...\n");
|
||||||
//display_node_list(enb_node_list);
|
//display_node_list(enb_node_list);
|
||||||
// display_node_list(ue_node_list);
|
// display_node_list(ue_node_list);
|
||||||
extract_position(enb_node_list, enb_data, RC.nb_RU);
|
//extract_position(enb_node_list, enb_data, RC.nb_RU);
|
||||||
//extract_position_fixed_enb(enb_data, NB_eNB_INST,frame);
|
//extract_position_fixed_enb(enb_data, NB_eNB_INST,frame);
|
||||||
//LOG_D(OMG," extracting position of UE...\n");
|
//LOG_D(OMG," extracting position of UE...\n");
|
||||||
// if (oai_emulation.info.omg_model_ue == TRACE)
|
// if (oai_emulation.info.omg_model_ue == TRACE)
|
||||||
extract_position(ue_node_list, ue_data, NB_UE_INST);
|
//extract_position(ue_node_list, ue_data, NB_UE_INST);
|
||||||
|
|
||||||
/* if (frame % 50 == 0)
|
/* if (frame % 50 == 0)
|
||||||
LOG_N(OCM,"Path loss for TTI %d : \n", frame);
|
LOG_N(OCM,"Path loss for TTI %d : \n", frame);
|
||||||
|
|||||||
Reference in New Issue
Block a user