Merge remote-tracking branch 'origin/fix_nr_ulsim' into develop-NR_SA_F1AP_5GRECORDS
# Conflicts: # openair1/SCHED_NR/phy_procedures_nr_gNB.c
This commit is contained in:
@@ -525,7 +525,7 @@ void phy_procedures_gNB_common_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
|
int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx) {
|
||||||
/* those variables to log T_GNB_PHY_PUCCH_PUSCH_IQ only when we try to decode */
|
/* those variables to log T_GNB_PHY_PUCCH_PUSCH_IQ only when we try to decode */
|
||||||
int pucch_decode_done = 0;
|
int pucch_decode_done = 0;
|
||||||
int pusch_decode_done = 0;
|
int pusch_decode_done = 0;
|
||||||
@@ -663,10 +663,10 @@ void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
|
|||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_NR_RX_PUSCH,1);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_NR_RX_PUSCH,1);
|
||||||
start_meas(&gNB->rx_pusch_stats);
|
start_meas(&gNB->rx_pusch_stats);
|
||||||
no_sig = nr_rx_pusch(gNB, ULSCH_id, frame_rx, slot_rx, harq_pid);
|
no_sig = nr_rx_pusch(gNB, ULSCH_id, frame_rx, slot_rx, harq_pid);
|
||||||
if (no_sig && (get_softmodem_params()->phy_test == 0)) {
|
if (no_sig) {
|
||||||
LOG_D(PHY, "PUSCH not detected in frame %d, slot %d\n", frame_rx, slot_rx);
|
LOG_D(PHY, "PUSCH not detected in frame %d, slot %d\n", frame_rx, slot_rx);
|
||||||
nr_fill_indication(gNB, frame_rx, slot_rx, ULSCH_id, harq_pid, 1);
|
nr_fill_indication(gNB, frame_rx, slot_rx, ULSCH_id, harq_pid, 1);
|
||||||
return;
|
return 1;
|
||||||
}
|
}
|
||||||
gNB->pusch_vars[ULSCH_id]->ulsch_power_tot=0;
|
gNB->pusch_vars[ULSCH_id]->ulsch_power_tot=0;
|
||||||
gNB->pusch_vars[ULSCH_id]->ulsch_noise_power_tot=0;
|
gNB->pusch_vars[ULSCH_id]->ulsch_noise_power_tot=0;
|
||||||
@@ -712,4 +712,5 @@ void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx)
|
|||||||
}
|
}
|
||||||
|
|
||||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_UESPEC_RX,0);
|
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_gNB_UESPEC_RX,0);
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ void fill_ul_rb_mask(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx);
|
|||||||
void nr_set_ssb_first_subcarrier(nfapi_nr_config_request_scf_t *cfg, NR_DL_FRAME_PARMS *fp);
|
void nr_set_ssb_first_subcarrier(nfapi_nr_config_request_scf_t *cfg, NR_DL_FRAME_PARMS *fp);
|
||||||
void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB, int frame_tx, int slot_tx, int do_meas);
|
void phy_procedures_gNB_TX(PHY_VARS_gNB *gNB, int frame_tx, int slot_tx, int do_meas);
|
||||||
void phy_procedures_gNB_common_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx);
|
void phy_procedures_gNB_common_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx);
|
||||||
void phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx);
|
int phy_procedures_gNB_uespec_RX(PHY_VARS_gNB *gNB, int frame_rx, int slot_rx);
|
||||||
void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot);
|
void L1_nr_prach_procedures(PHY_VARS_gNB *gNB,int frame,int slot);
|
||||||
void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame,int slot,nfapi_nr_dl_tti_ssb_pdu ssb_pdu);
|
void nr_common_signal_procedures (PHY_VARS_gNB *gNB,int frame,int slot,nfapi_nr_dl_tti_ssb_pdu ssb_pdu);
|
||||||
void nr_feptx_ofdm(RU_t *ru,int frame_tx,int tti_tx);
|
void nr_feptx_ofdm(RU_t *ru,int frame_tx,int tti_tx);
|
||||||
|
|||||||
@@ -320,7 +320,7 @@ int main(int argc, char **argv)
|
|||||||
if ( load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY) == 0 ) {
|
if ( load_configmodule(argc,argv,CONFIG_ENABLECMDLINEONLY) == 0 ) {
|
||||||
exit_fun("[NR_ULSIM] Error, configuration module init failed\n");
|
exit_fun("[NR_ULSIM] Error, configuration module init failed\n");
|
||||||
}
|
}
|
||||||
|
int ul_proc_error = 0; // uplink processing checking status flag
|
||||||
//logInit();
|
//logInit();
|
||||||
randominit(0);
|
randominit(0);
|
||||||
|
|
||||||
@@ -1125,6 +1125,11 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
phy_procedures_nrUE_TX(UE, &UE_proc, gNB_id);
|
phy_procedures_nrUE_TX(UE, &UE_proc, gNB_id);
|
||||||
|
|
||||||
|
/* We need to call common sending function to send signal */
|
||||||
|
LOG_D(PHY, "Sending Uplink data \n");
|
||||||
|
nr_ue_pusch_common_procedures(UE,
|
||||||
|
slot,
|
||||||
|
&UE->frame_parms,1);
|
||||||
|
|
||||||
if (n_trials==1) {
|
if (n_trials==1) {
|
||||||
LOG_M("txsig0.m","txs0", UE->common_vars.txdata[0],frame_parms->samples_per_subframe*10,1,1);
|
LOG_M("txsig0.m","txs0", UE->common_vars.txdata[0],frame_parms->samples_per_subframe*10,1,1);
|
||||||
@@ -1196,7 +1201,7 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
phy_procedures_gNB_common_RX(gNB, frame, slot);
|
phy_procedures_gNB_common_RX(gNB, frame, slot);
|
||||||
|
|
||||||
phy_procedures_gNB_uespec_RX(gNB, frame, slot);
|
ul_proc_error = phy_procedures_gNB_uespec_RX(gNB, frame, slot);
|
||||||
|
|
||||||
if (n_trials==1 && round==0) {
|
if (n_trials==1 && round==0) {
|
||||||
LOG_M("rxsig0.m","rx0",&gNB->common_vars.rxdata[0][slot_offset],slot_length,1,1);
|
LOG_M("rxsig0.m","rx0",&gNB->common_vars.rxdata[0][slot_offset],slot_length,1,1);
|
||||||
@@ -1226,9 +1231,9 @@ int main(int argc, char **argv)
|
|||||||
&gNB->pusch_vars[0]->llr[0],(nb_symb_sch-1)*NR_NB_SC_PER_RB * pusch_pdu->rb_size * mod_order,1,0);
|
&gNB->pusch_vars[0]->llr[0],(nb_symb_sch-1)*NR_NB_SC_PER_RB * pusch_pdu->rb_size * mod_order,1,0);
|
||||||
}
|
}
|
||||||
////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
if (gNB->ulsch[0][0]->last_iteration_cnt >=
|
if ((gNB->ulsch[0][0]->last_iteration_cnt >=
|
||||||
gNB->ulsch[0][0]->max_ldpc_iterations+1) {
|
gNB->ulsch[0][0]->max_ldpc_iterations+1) || ul_proc_error == 1) {
|
||||||
error_flag = 1;
|
error_flag = 1;
|
||||||
n_errors[round]++;
|
n_errors[round]++;
|
||||||
crc_status = 1;
|
crc_status = 1;
|
||||||
|
|||||||
Reference in New Issue
Block a user