Commit 44111a91 authored by Hongzhi Wang's avatar Hongzhi Wang

bug fix pbch

parent e363ed88
......@@ -124,7 +124,8 @@ int pbch_detection(PHY_VARS_UE *ue, runmode_t mode)
pbch_decoded = 0;
for (frame_mod4=0; frame_mod4<4; frame_mod4++) {
pbch_tx_ant = rx_pbch(&ue->common_vars,
pbch_tx_ant = rx_pbch(ue,
&ue->proc.proc_rxtx[0],
ue->pbch_vars[0],
frame_parms,
0,
......@@ -137,7 +138,8 @@ int pbch_detection(PHY_VARS_UE *ue, runmode_t mode)
break;
}
pbch_tx_ant = rx_pbch(&ue->common_vars,
pbch_tx_ant = rx_pbch(ue,
&ue->proc.proc_rxtx[0],
ue->pbch_vars[0],
frame_parms,
0,
......
......@@ -861,7 +861,7 @@ static unsigned char dummy_w_rx[3*3*(16+PBCH_A)];
static int8_t pbch_w_rx[3*3*(16+PBCH_A)],pbch_d_rx[96+(3*(16+PBCH_A))];
uint16_t rx_pbch(LTE_UE_COMMON *lte_ue_common_vars,
uint16_t rx_pbch( PHY_VARS_UE *ue, UE_rxtx_proc_t *proc,
LTE_UE_PBCH *lte_ue_pbch_vars,
LTE_DL_FRAME_PARMS *frame_parms,
uint8_t eNB_id,
......@@ -870,6 +870,8 @@ uint16_t rx_pbch(LTE_UE_COMMON *lte_ue_common_vars,
uint8_t frame_mod4)
{
LTE_UE_COMMON *lte_ue_common_vars = &ue->common_vars;
uint8_t log2_maxh;//,aatx,aarx;
int max_h=0;
......@@ -883,6 +885,7 @@ uint16_t rx_pbch(LTE_UE_COMMON *lte_ue_common_vars,
uint8_t *decoded_output = lte_ue_pbch_vars->decoded_output;
uint16_t crc;
int subframe_rx = proc->subframe_rx;
// pbch_D = 16+PBCH_A;
......@@ -900,8 +903,8 @@ uint16_t rx_pbch(LTE_UE_COMMON *lte_ue_common_vars,
#ifdef DEBUG_PBCH
msg("[PBCH] starting extract\n");
#endif
pbch_extract(lte_ue_common_vars->common_vars_rx_data_per_thread[0].rxdataF,
lte_ue_common_vars->common_vars_rx_data_per_thread[0].dl_ch_estimates[eNB_id],
pbch_extract(lte_ue_common_vars->common_vars_rx_data_per_thread[ue->current_thread_id[subframe_rx]].rxdataF,
lte_ue_common_vars->common_vars_rx_data_per_thread[ue->current_thread_id[subframe_rx]].dl_ch_estimates[eNB_id],
lte_ue_pbch_vars->rxdataF_ext,
lte_ue_pbch_vars->dl_ch_estimates_ext,
symbol,
......
......@@ -1427,7 +1427,8 @@ int rx_sss(PHY_VARS_UE *phy_vars_ue,int32_t *tot_metric,uint8_t *flip_max,uint8_
/*! \brief receiver for the PBCH
\returns number of tx antennas or -1 if error
*/
uint16_t rx_pbch(LTE_UE_COMMON *lte_ue_common_vars,
uint16_t rx_pbch(PHY_VARS_UE *ue,
UE_rxtx_proc_t *proc,
LTE_UE_PBCH *lte_ue_pbch_vars,
LTE_DL_FRAME_PARMS *frame_parms,
uint8_t eNB_id,
......
......@@ -2896,7 +2896,7 @@ void ue_pbch_procedures(uint8_t eNB_id,PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, uin
//for (pbch_phase=0;pbch_phase<4;pbch_phase++) {
//LOG_I(PHY,"[UE %d] Frame %d, Trying PBCH %d (NidCell %d, eNB_id %d)\n",ue->Mod_id,frame_rx,pbch_phase,ue->frame_parms.Nid_cell,eNB_id);
if (abstraction_flag == 0) {
pbch_tx_ant = rx_pbch(&ue->common_vars,
pbch_tx_ant = rx_pbch(ue, proc,
ue->pbch_vars[eNB_id],
&ue->frame_parms,
eNB_id,
......
......@@ -12,6 +12,9 @@ typedef struct threads_s {
int dlsch_td_one;
int dlsch_td_two;
int dlsch_td_three;
int dlsch_td1_one;
int dlsch_td1_two;
int dlsch_td1_three;
} threads_t;
#endif /* _THREADS_T_H_ */
......@@ -226,7 +226,7 @@ double cpuf;
char uecap_xer[1024],uecap_xer_in=0;
int oaisim_flag=0;
threads_t threads= {-1,-1,-1,-1,-1,-1,-1};
threads_t threads= {-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1};
/* see file openair2/LAYER2/MAC/main.c for why abstraction_flag is needed
* this is very hackish - find a proper solution
......
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