Add measurement stats for rx_pdsch and ul_indication
This commit is contained in:
@@ -106,6 +106,7 @@
|
|||||||
{"phy_proc", &(UE->phy_proc[0]),0,RX_NB_TH},\
|
{"phy_proc", &(UE->phy_proc[0]),0,RX_NB_TH},\
|
||||||
{"phy_proc_rx", &(UE-> phy_proc_rx[0]),0,RX_NB_TH},\
|
{"phy_proc_rx", &(UE-> phy_proc_rx[0]),0,RX_NB_TH},\
|
||||||
{"phy_proc_tx", &(UE->phy_proc_tx),0,1},\
|
{"phy_proc_tx", &(UE->phy_proc_tx),0,1},\
|
||||||
|
{"ue_ul_indication_stats", &(UE->ue_ul_indication_stats),0,1},\
|
||||||
{"ofdm_mod_stats", &(UE->ofdm_mod_stats),0,1},\
|
{"ofdm_mod_stats", &(UE->ofdm_mod_stats),0,1},\
|
||||||
{"ulsch_encoding_stats", &(UE->ulsch_encoding_stats),0,1},\
|
{"ulsch_encoding_stats", &(UE->ulsch_encoding_stats),0,1},\
|
||||||
{"ulsch_modulation_stats", &(UE->ulsch_modulation_stats),0,1},\
|
{"ulsch_modulation_stats", &(UE->ulsch_modulation_stats),0,1},\
|
||||||
@@ -146,6 +147,7 @@
|
|||||||
{"ue_front_end_stat", &(UE->ue_front_end_stat[0]),0,RX_NB_TH},\
|
{"ue_front_end_stat", &(UE->ue_front_end_stat[0]),0,RX_NB_TH},\
|
||||||
{"ue_front_end_per_slot_stat", &(UE->ue_front_end_per_slot_stat[0][0]),0,RX_NB_TH,LTE_SLOTS_PER_SUBFRAME},\
|
{"ue_front_end_per_slot_stat", &(UE->ue_front_end_per_slot_stat[0][0]),0,RX_NB_TH,LTE_SLOTS_PER_SUBFRAME},\
|
||||||
{"pdcch_procedures_stat", &(UE->pdcch_procedures_stat[0]),0,RX_NB_TH},\
|
{"pdcch_procedures_stat", &(UE->pdcch_procedures_stat[0]),0,RX_NB_TH},\
|
||||||
|
{"rx_pdsch_stats", &(UE->rx_pdsch_stats), 0, 1}, \
|
||||||
{"pdsch_procedures_stat", &(UE->pdsch_procedures_stat[0]),0,RX_NB_TH},\
|
{"pdsch_procedures_stat", &(UE->pdsch_procedures_stat[0]),0,RX_NB_TH},\
|
||||||
{"pdsch_procedures_per_slot_stat", &(UE->pdsch_procedures_per_slot_stat[0][0]),0,RX_NB_TH,LTE_SLOTS_PER_SUBFRAME},\
|
{"pdsch_procedures_per_slot_stat", &(UE->pdsch_procedures_per_slot_stat[0][0]),0,RX_NB_TH,LTE_SLOTS_PER_SUBFRAME},\
|
||||||
{"dlsch_procedures_stat", &(UE->dlsch_procedures_stat[0]),0,RX_NB_TH},\
|
{"dlsch_procedures_stat", &(UE->dlsch_procedures_stat[0]),0,RX_NB_TH},\
|
||||||
|
|||||||
@@ -666,6 +666,7 @@ void processSlotTX(void *arg) {
|
|||||||
// trigger L2 to run ue_scheduler thru IF module
|
// trigger L2 to run ue_scheduler thru IF module
|
||||||
// [TODO] mapping right after NR initial sync
|
// [TODO] mapping right after NR initial sync
|
||||||
if(UE->if_inst != NULL && UE->if_inst->ul_indication != NULL) {
|
if(UE->if_inst != NULL && UE->if_inst->ul_indication != NULL) {
|
||||||
|
start_meas(&UE->ue_ul_indication_stats);
|
||||||
nr_uplink_indication_t ul_indication;
|
nr_uplink_indication_t ul_indication;
|
||||||
memset((void*)&ul_indication, 0, sizeof(ul_indication));
|
memset((void*)&ul_indication, 0, sizeof(ul_indication));
|
||||||
|
|
||||||
@@ -680,6 +681,7 @@ void processSlotTX(void *arg) {
|
|||||||
ul_indication.ue_sched_mode = rxtxD->ue_sched_mode;
|
ul_indication.ue_sched_mode = rxtxD->ue_sched_mode;
|
||||||
|
|
||||||
UE->if_inst->ul_indication(&ul_indication);
|
UE->if_inst->ul_indication(&ul_indication);
|
||||||
|
stop_meas(&UE->ue_ul_indication_stats);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((UE->mode != loop_through_memory) && (rxtxD->ue_sched_mode != NOT_PUSCH)) {
|
if ((UE->mode != loop_through_memory) && (rxtxD->ue_sched_mode != NOT_PUSCH)) {
|
||||||
|
|||||||
@@ -1004,6 +1004,8 @@ typedef struct {
|
|||||||
time_stats_t phy_proc_tx;
|
time_stats_t phy_proc_tx;
|
||||||
time_stats_t phy_proc_rx[RX_NB_TH];
|
time_stats_t phy_proc_rx[RX_NB_TH];
|
||||||
|
|
||||||
|
time_stats_t ue_ul_indication_stats;
|
||||||
|
|
||||||
uint32_t use_ia_receiver;
|
uint32_t use_ia_receiver;
|
||||||
|
|
||||||
time_stats_t ofdm_mod_stats;
|
time_stats_t ofdm_mod_stats;
|
||||||
@@ -1025,6 +1027,7 @@ typedef struct {
|
|||||||
time_stats_t pdsch_procedures_per_slot_stat[RX_NB_TH][LTE_SLOTS_PER_SUBFRAME];
|
time_stats_t pdsch_procedures_per_slot_stat[RX_NB_TH][LTE_SLOTS_PER_SUBFRAME];
|
||||||
time_stats_t dlsch_procedures_stat[RX_NB_TH];
|
time_stats_t dlsch_procedures_stat[RX_NB_TH];
|
||||||
|
|
||||||
|
time_stats_t rx_pdsch_stats;
|
||||||
time_stats_t ofdm_demod_stats;
|
time_stats_t ofdm_demod_stats;
|
||||||
time_stats_t dlsch_rx_pdcch_stats;
|
time_stats_t dlsch_rx_pdcch_stats;
|
||||||
time_stats_t rx_dft_stats;
|
time_stats_t rx_dft_stats;
|
||||||
|
|||||||
@@ -607,6 +607,7 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int gNB_
|
|||||||
first_symbol_with_data++;
|
first_symbol_with_data++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
start_meas(&ue->rx_pdsch_stats);
|
||||||
for (m = s0; m < (s1 + s0); m++) {
|
for (m = s0; m < (s1 + s0); m++) {
|
||||||
|
|
||||||
dual_stream_UE = 0;
|
dual_stream_UE = 0;
|
||||||
@@ -646,6 +647,7 @@ int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue, UE_nr_rxtx_proc_t *proc, int gNB_
|
|||||||
proc->first_symbol_available = 1;
|
proc->first_symbol_available = 1;
|
||||||
}
|
}
|
||||||
} // CRNTI active
|
} // CRNTI active
|
||||||
|
stop_meas(&ue->rx_pdsch_stats);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user