moving adjust sync out of measurement procedures and making it dependent on successfull decoding of DCI
This commit is contained in:
@@ -2760,37 +2760,6 @@ void nr_ue_measurement_procedures(
|
|||||||
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
// accumulate and filter timing offset estimation every nr_tti_rx (instead of every frame)
|
|
||||||
if (( slot == 2) && (l==(1-frame_parms->Ncp))) {
|
|
||||||
|
|
||||||
// AGC
|
|
||||||
/*
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL, VCD_FUNCTION_IN);
|
|
||||||
|
|
||||||
#ifndef OAI_USRP
|
|
||||||
#ifndef OAI_BLADERF
|
|
||||||
#ifndef OAI_LMSSDR
|
|
||||||
#ifndef OAI_ADRV9371_ZC706
|
|
||||||
phy_adjust_gain (ue,dB_fixed(ue->measurements.rssi),0);
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_GAIN_CONTROL, VCD_FUNCTION_OUT);
|
|
||||||
*/
|
|
||||||
eNB_id = 0;
|
|
||||||
|
|
||||||
LOG_D(PHY,"start adjust sync l = %d slot = %d no timing %d\n",l, slot, ue->no_timing_correction);
|
|
||||||
if (ue->no_timing_correction==0)
|
|
||||||
nr_adjust_synch_ue(&ue->frame_parms,
|
|
||||||
ue,
|
|
||||||
eNB_id,
|
|
||||||
nr_tti_rx,
|
|
||||||
0,
|
|
||||||
16384);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_MEASUREMENT_PROCEDURES, VCD_FUNCTION_OUT);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_UE_MEASUREMENT_PROCEDURES, VCD_FUNCTION_OUT);
|
||||||
}
|
}
|
||||||
@@ -3364,7 +3333,7 @@ int nr_ue_pdcch_procedures(uint8_t eNB_id,PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *
|
|||||||
|
|
||||||
|
|
||||||
} // end for loop nb_searchspace_active
|
} // end for loop nb_searchspace_active
|
||||||
return(0);
|
return(dci_cnt);
|
||||||
}
|
}
|
||||||
#endif // NR_PDCCH_SCHED
|
#endif // NR_PDCCH_SCHED
|
||||||
|
|
||||||
@@ -4969,6 +4938,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
NR_UE_PDCCH *pdcch_vars = ue->pdcch_vars[ue->current_thread_id[nr_tti_rx]][0];
|
NR_UE_PDCCH *pdcch_vars = ue->pdcch_vars[ue->current_thread_id[nr_tti_rx]][0];
|
||||||
uint16_t nb_symb_sch = 8; // to be updated by higher layer
|
uint16_t nb_symb_sch = 8; // to be updated by higher layer
|
||||||
uint8_t nb_symb_pdcch = pdcch_vars->coreset[0].duration;
|
uint8_t nb_symb_pdcch = pdcch_vars->coreset[0].duration;
|
||||||
|
uint8_t dci_cnt = 0;
|
||||||
|
|
||||||
LOG_D(PHY," ****** start RX-Chain for Frame.Slot %d.%d ****** \n", frame_rx%1024, nr_tti_rx);
|
LOG_D(PHY," ****** start RX-Chain for Frame.Slot %d.%d ****** \n", frame_rx%1024, nr_tti_rx);
|
||||||
|
|
||||||
@@ -4978,7 +4948,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
#ifdef NR_PDCCH_SCHED
|
#ifdef NR_PDCCH_SCHED
|
||||||
nr_gold_pdcch(ue,0, 2);
|
nr_gold_pdcch(ue,0, 2);
|
||||||
|
|
||||||
//if (nr_tti_rx==1){
|
|
||||||
LOG_D(PHY," ------ --> PDCCH ChannelComp/LLR Frame.slot %d.%d ------ \n", frame_rx%1024, nr_tti_rx);
|
LOG_D(PHY," ------ --> PDCCH ChannelComp/LLR Frame.slot %d.%d ------ \n", frame_rx%1024, nr_tti_rx);
|
||||||
for (uint16_t l=0; l<nb_symb_pdcch; l++) {
|
for (uint16_t l=0; l<nb_symb_pdcch; l++) {
|
||||||
|
|
||||||
@@ -4999,15 +4969,29 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,UE_nr_rxtx_proc_t *proc,uint8_t eN
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
//printf("phy procedure pdcch start measurement l =%d\n",l);
|
//printf("phy procedure pdcch start measurement l =%d\n",l);
|
||||||
nr_ue_measurement_procedures(l,ue,proc,eNB_id,(nr_tti_rx),mode);
|
//nr_ue_measurement_procedures(l,ue,proc,eNB_id,(nr_tti_rx),mode);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nr_ue_pdcch_procedures(eNB_id,ue,proc) == -1) {
|
dci_cnt = nr_ue_pdcch_procedures(eNB_id,ue,proc);
|
||||||
LOG_E(PHY,"[UE %d] Frame %d, nr_tti_rx %d: Error in pdcch procedures\n",ue->Mod_id,frame_rx,nr_tti_rx);
|
|
||||||
return(-1);
|
if (dci_cnt > 0) {
|
||||||
|
|
||||||
|
LOG_I(PHY,"[UE %d] Frame %d, nr_tti_rx %d: found %d DCIs\n",ue->Mod_id,frame_rx,nr_tti_rx,dci_cnt);
|
||||||
|
|
||||||
|
if (0/*ue->no_timing_correction==0*/) {
|
||||||
|
LOG_I(PHY,"start adjust sync slot = %d no timing %d\n", nr_tti_rx, ue->no_timing_correction);
|
||||||
|
nr_adjust_synch_ue(&ue->frame_parms,
|
||||||
|
ue,
|
||||||
|
eNB_id,
|
||||||
|
nr_tti_rx,
|
||||||
|
0,
|
||||||
|
16384);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
LOG_D(PHY,"[UE %d] Frame %d, nr_tti_rx %d: No DCIs found\n",ue->Mod_id,frame_rx,nr_tti_rx);
|
||||||
}
|
}
|
||||||
//}
|
|
||||||
#endif //NR_PDCCH_SCHED
|
#endif //NR_PDCCH_SCHED
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user