Commit b1b778f3 authored by Raymond Knopp's avatar Raymond Knopp

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5453 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 3280218c
...@@ -943,7 +943,7 @@ static void *eNB_thread(void *arg) ...@@ -943,7 +943,7 @@ static void *eNB_thread(void *arg)
if (fs4_test==0) if (fs4_test==0)
{ {
if (multi_thread == 0) { if (multi_thread == 0) {
phy_procedures_eNB_lte (last_slot, next_slot, PHY_vars_eNB_g[0], 0, no_relay,NULL); phy_procedures_eNB_lte ((slot+1)>>1, PHY_vars_eNB_g[0], 0, no_relay,NULL);
slot_offset_F = (next_slot)* slot_offset_F = (next_slot)*
(PHY_vars_eNB_g[0]->lte_frame_parms.ofdm_symbol_size)* (PHY_vars_eNB_g[0]->lte_frame_parms.ofdm_symbol_size)*
((PHY_vars_eNB_g[0]->lte_frame_parms.Ncp==1) ? 6 : 7); ((PHY_vars_eNB_g[0]->lte_frame_parms.Ncp==1) ? 6 : 7);
...@@ -1009,7 +1009,7 @@ static void *eNB_thread(void *arg) ...@@ -1009,7 +1009,7 @@ static void *eNB_thread(void *arg)
} }
} }
else { else {
LOG_W(PHY,"[eNB] Frame %d, eNB proc %d busy!!\n",PHY_vars_eNB_g[0]->frame,sf); LOG_W(PHY,"[eNB] Frame %d, eNB proc %d busy!!\n",PHY_vars_eNB_g[0]->proc[sf].frame_tx,sf);
} }
} }
} }
......
...@@ -158,7 +158,7 @@ static void * ulsch_thread(void *param) { ...@@ -158,7 +158,7 @@ static void * ulsch_thread(void *param) {
if (oai_exit) break; if (oai_exit) break;
LOG_D(PHY,"[SCHED][ULSCH] Frame %d: Calling ulsch_decoding with ulsch_thread_index = %d\n",phy_vars_eNB->frame,ulsch_thread_index); LOG_D(PHY,"[SCHED][ULSCH] Frame %d: Calling ulsch_decoding with ulsch_thread_index = %d\n",phy_vars_eNB->proc[0].frame_tx,ulsch_thread_index);
time_in = rt_get_time_ns(); time_in = rt_get_time_ns();
......
...@@ -132,6 +132,9 @@ void do_DL_sig(double **r_re0,double **r_im0, ...@@ -132,6 +132,9 @@ void do_DL_sig(double **r_re0,double **r_im0,
uint8_t nb_antennas_rx = eNB2UE[0][0]->nb_rx; // number of rx antennas at UE uint8_t nb_antennas_rx = eNB2UE[0][0]->nb_rx; // number of rx antennas at UE
uint8_t nb_antennas_tx = eNB2UE[0][0]->nb_tx; // number of tx antennas at eNB uint8_t nb_antennas_tx = eNB2UE[0][0]->nb_tx; // number of tx antennas at eNB
int subframe_sched = ((next_slot>>1) == 0) ? 9 : ((next_slot>>1)-1);
if (next_slot==0) if (next_slot==0)
hold_channel = 0; hold_channel = 0;
else else
...@@ -248,7 +251,7 @@ void do_DL_sig(double **r_re0,double **r_im0, ...@@ -248,7 +251,7 @@ void do_DL_sig(double **r_re0,double **r_im0,
start_meas(&PHY_vars_eNB_g[eNB_id]->ofdm_mod_stats); start_meas(&PHY_vars_eNB_g[eNB_id]->ofdm_mod_stats);
do_OFDM_mod(PHY_vars_eNB_g[eNB_id]->lte_eNB_common_vars.txdataF[0], do_OFDM_mod(PHY_vars_eNB_g[eNB_id]->lte_eNB_common_vars.txdataF[0],
PHY_vars_eNB_g[eNB_id]->lte_eNB_common_vars.txdata[0], PHY_vars_eNB_g[eNB_id]->lte_eNB_common_vars.txdata[0],
((next_slot==19) ? -1 : 0 ) + PHY_vars_eNB_g[eNB_id]->frame,next_slot, PHY_vars_eNB_g[eNB_id]->proc[subframe_sched].frame_tx,next_slot,
&PHY_vars_eNB_g[eNB_id]->lte_frame_parms); &PHY_vars_eNB_g[eNB_id]->lte_frame_parms);
stop_meas(&PHY_vars_eNB_g[eNB_id]->ofdm_mod_stats); stop_meas(&PHY_vars_eNB_g[eNB_id]->ofdm_mod_stats);
} }
......
...@@ -423,6 +423,7 @@ void *l2l1_task(void *args_p) { ...@@ -423,6 +423,7 @@ void *l2l1_task(void *args_p) {
lte_subframe_t direction; lte_subframe_t direction;
char fname[64], vname[64]; char fname[64], vname[64];
int sf;
#ifdef XFORMS #ifdef XFORMS
// current status is that every UE has a DL scope for a SINGLE eNB (eNB_id=0) // current status is that every UE has a DL scope for a SINGLE eNB (eNB_id=0)
...@@ -448,6 +449,14 @@ void *l2l1_task(void *args_p) { ...@@ -448,6 +449,14 @@ void *l2l1_task(void *args_p) {
char eNB_stats_th_filename[255]; char eNB_stats_th_filename[255];
#endif #endif
for (eNB_inst=0;eNB_inst<NB_eNB_INST;eNB_inst++) {
for (sf=0;sf<10;sf++) {
PHY_vars_eNB_g[eNB_inst]->proc[sf].frame_tx = 0;
PHY_vars_eNB_g[eNB_inst]->proc[sf].frame_rx = 0;
}
PHY_vars_eNB_g[eNB_inst]->proc[0].frame_rx = 1023;
PHY_vars_eNB_g[eNB_inst]->proc[9].frame_tx = 1;
}
#ifdef XFORMS #ifdef XFORMS
xargv[0] = xname; xargv[0] = xname;
fl_initialize (&xargc, xargv, NULL, 0, 0); fl_initialize (&xargc, xargv, NULL, 0, 0);
...@@ -699,7 +708,8 @@ void *l2l1_task(void *args_p) { ...@@ -699,7 +708,8 @@ void *l2l1_task(void *args_p) {
#endif #endif
// PHY_vars_eNB_g[eNB_id]->frame = frame; // PHY_vars_eNB_g[eNB_id]->frame = frame;
phy_procedures_eNB_lte (last_slot, next_slot, PHY_vars_eNB_g[eNB_inst], abstraction_flag, no_relay, NULL); if ((slot&1) == 0)
phy_procedures_eNB_lte (slot>>1,PHY_vars_eNB_g[eNB_inst], abstraction_flag, no_relay, NULL);
#ifdef PRINT_STATS #ifdef PRINT_STATS
if(last_slot==9 && frame%10==0) if(last_slot==9 && frame%10==0)
...@@ -839,7 +849,7 @@ void *l2l1_task(void *args_p) { ...@@ -839,7 +849,7 @@ void *l2l1_task(void *args_p) {
// RN == eNB // RN == eNB
LOG_D(EMU,"[RN %d] PHY procedures eNB %d for frame %d, slot %d (subframe TX %d, RX %d)\n", LOG_D(EMU,"[RN %d] PHY procedures eNB %d for frame %d, slot %d (subframe TX %d, RX %d)\n",
RN_id, eNB_inst, frame, slot, next_slot >> 1,last_slot>>1); RN_id, eNB_inst, frame, slot, next_slot >> 1,last_slot>>1);
phy_procedures_eNB_lte (last_slot, next_slot, PHY_vars_eNB_g[eNB_inst], abstraction_flag, phy_procedures_eNB_lte(slot>>1, PHY_vars_eNB_g[eNB_inst], abstraction_flag,
r_type, PHY_vars_RN_g[RN_id]); r_type, PHY_vars_RN_g[RN_id]);
} }
else { else {
......
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