No need to pass dlsch_parallel into nr_ue_dlsch_procedures() as it is not needed inside nr_dlsch_decoding()
This commit is contained in:
+1
-1
@@ -636,7 +636,7 @@ static void UE_synch(void *arg) {
|
|||||||
uint64_t dl_carrier, ul_carrier;
|
uint64_t dl_carrier, ul_carrier;
|
||||||
nr_get_carrier_frequencies(UE, &dl_carrier, &ul_carrier);
|
nr_get_carrier_frequencies(UE, &dl_carrier, &ul_carrier);
|
||||||
|
|
||||||
if (nr_initial_sync(&syncD->proc, UE, 2, get_softmodem_params()->sa, get_nrUE_params()->nr_dlsch_parallel) == 0) {
|
if (nr_initial_sync(&syncD->proc, UE, 2, get_softmodem_params()->sa) == 0) {
|
||||||
freq_offset = UE->common_vars.freq_offset; // frequency offset computed with pss in initial sync
|
freq_offset = UE->common_vars.freq_offset; // frequency offset computed with pss in initial sync
|
||||||
hw_slot_offset = ((UE->rx_offset<<1) / UE->frame_parms.samples_per_subframe * UE->frame_parms.slots_per_subframe) +
|
hw_slot_offset = ((UE->rx_offset<<1) / UE->frame_parms.samples_per_subframe * UE->frame_parms.slots_per_subframe) +
|
||||||
round((float)((UE->rx_offset<<1) % UE->frame_parms.samples_per_subframe)/UE->frame_parms.samples_per_slot0);
|
round((float)((UE->rx_offset<<1) % UE->frame_parms.samples_per_subframe)/UE->frame_parms.samples_per_slot0);
|
||||||
|
|||||||
@@ -196,8 +196,7 @@ char prefix_string[2][9] = {"NORMAL","EXTENDED"};
|
|||||||
|
|
||||||
int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
|
int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
|
||||||
PHY_VARS_NR_UE *ue,
|
PHY_VARS_NR_UE *ue,
|
||||||
int n_frames, int sa,
|
int n_frames, int sa)
|
||||||
int dlsch_parallel)
|
|
||||||
{
|
{
|
||||||
|
|
||||||
int32_t sync_pos, sync_pos_frame; // k_ssb, N_ssb_crb, sync_pos2,
|
int32_t sync_pos, sync_pos_frame; // k_ssb, N_ssb_crb, sync_pos2,
|
||||||
@@ -528,8 +527,7 @@ int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
|
|||||||
SI_PDSCH,
|
SI_PDSCH,
|
||||||
ue->dlsch_SI[gnb_id],
|
ue->dlsch_SI[gnb_id],
|
||||||
NULL,
|
NULL,
|
||||||
&ue->dlsch_SI_errors[gnb_id],
|
&ue->dlsch_SI_errors[gnb_id]);
|
||||||
dlsch_parallel);
|
|
||||||
|
|
||||||
// deactivate dlsch once dlsch proc is done
|
// deactivate dlsch once dlsch proc is done
|
||||||
ue->dlsch_SI[gnb_id]->active = 0;
|
ue->dlsch_SI[gnb_id]->active = 0;
|
||||||
|
|||||||
@@ -1423,8 +1423,7 @@ void generate_RIV_tables(void);
|
|||||||
int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
|
int nr_initial_sync(UE_nr_rxtx_proc_t *proc,
|
||||||
PHY_VARS_NR_UE *phy_vars_ue,
|
PHY_VARS_NR_UE *phy_vars_ue,
|
||||||
int n_frames,
|
int n_frames,
|
||||||
int sa,
|
int sa);
|
||||||
int dlsch_parallel);
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\brief This function gets the carrier frequencies either from FP or command-line-set global variables, depending on the availability of the latter
|
\brief This function gets the carrier frequencies either from FP or command-line-set global variables, depending on the availability of the latter
|
||||||
|
|||||||
@@ -425,8 +425,7 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
|||||||
PDSCH_t pdsch,
|
PDSCH_t pdsch,
|
||||||
NR_UE_DLSCH_t *dlsch0,
|
NR_UE_DLSCH_t *dlsch0,
|
||||||
NR_UE_DLSCH_t *dlsch1,
|
NR_UE_DLSCH_t *dlsch1,
|
||||||
int *dlsch_errors,
|
int *dlsch_errors);
|
||||||
uint8_t dlsch_parallel);
|
|
||||||
|
|
||||||
int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue,
|
int nr_ue_pdsch_procedures(PHY_VARS_NR_UE *ue,
|
||||||
UE_nr_rxtx_proc_t *proc,
|
UE_nr_rxtx_proc_t *proc,
|
||||||
|
|||||||
@@ -658,8 +658,7 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
|||||||
PDSCH_t pdsch,
|
PDSCH_t pdsch,
|
||||||
NR_UE_DLSCH_t *dlsch0,
|
NR_UE_DLSCH_t *dlsch0,
|
||||||
NR_UE_DLSCH_t *dlsch1,
|
NR_UE_DLSCH_t *dlsch1,
|
||||||
int *dlsch_errors,
|
int *dlsch_errors) {
|
||||||
uint8_t dlsch_parallel) {
|
|
||||||
|
|
||||||
if (dlsch0==NULL)
|
if (dlsch0==NULL)
|
||||||
AssertFatal(0,"dlsch0 should be defined at this level \n");
|
AssertFatal(0,"dlsch0 should be defined at this level \n");
|
||||||
@@ -788,12 +787,9 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
|||||||
harq_pid,
|
harq_pid,
|
||||||
pdsch==PDSCH?1:0,
|
pdsch==PDSCH?1:0,
|
||||||
dlsch0->harq_processes[harq_pid]->TBS>256?1:0);
|
dlsch0->harq_processes[harq_pid]->TBS>256?1:0);
|
||||||
if( dlsch_parallel) {
|
|
||||||
LOG_T(PHY,"dlsch decoding is parallelized, ret = %d\n", ret);
|
LOG_T(PHY,"dlsch decoding, ret = %d\n", ret);
|
||||||
}
|
|
||||||
else {
|
|
||||||
LOG_T(PHY,"Sequential dlsch decoding , ret = %d\n", ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(ret<dlsch0->max_ldpc_iterations+1)
|
if(ret<dlsch0->max_ldpc_iterations+1)
|
||||||
dec = true;
|
dec = true;
|
||||||
@@ -868,13 +864,7 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
|||||||
harq_pid,
|
harq_pid,
|
||||||
pdsch==PDSCH?1:0,//proc->decoder_switch,
|
pdsch==PDSCH?1:0,//proc->decoder_switch,
|
||||||
dlsch1->harq_processes[harq_pid]->TBS>256?1:0);
|
dlsch1->harq_processes[harq_pid]->TBS>256?1:0);
|
||||||
if(dlsch_parallel) {
|
LOG_T(PHY,"CW dlsch decoding, ret1 = %d\n", ret1);
|
||||||
LOG_T(PHY,"CW dlsch decoding is parallelized, ret1 = %d\n", ret1);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
|
|
||||||
LOG_T(PHY,"CWW sequential dlsch decoding, ret1 = %d\n", ret1);
|
|
||||||
}
|
|
||||||
|
|
||||||
stop_meas(&ue->dlsch_decoding_stats[proc->thread_id]);
|
stop_meas(&ue->dlsch_decoding_stats[proc->thread_id]);
|
||||||
if (cpumeas(CPUMEAS_GETSTATE)) {
|
if (cpumeas(CPUMEAS_GETSTATE)) {
|
||||||
@@ -1570,8 +1560,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
SI_PDSCH,
|
SI_PDSCH,
|
||||||
ue->dlsch_SI[gNB_id],
|
ue->dlsch_SI[gNB_id],
|
||||||
NULL,
|
NULL,
|
||||||
&ue->dlsch_SI_errors[gNB_id],
|
&ue->dlsch_SI_errors[gNB_id]);
|
||||||
dlsch_parallel);
|
|
||||||
|
|
||||||
// deactivate dlsch once dlsch proc is done
|
// deactivate dlsch once dlsch proc is done
|
||||||
ue->dlsch_SI[gNB_id]->active = 0;
|
ue->dlsch_SI[gNB_id]->active = 0;
|
||||||
@@ -1595,8 +1584,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
P_PDSCH,
|
P_PDSCH,
|
||||||
ue->dlsch_p[gNB_id],
|
ue->dlsch_p[gNB_id],
|
||||||
NULL,
|
NULL,
|
||||||
&ue->dlsch_p_errors[gNB_id],
|
&ue->dlsch_p_errors[gNB_id]);
|
||||||
dlsch_parallel);
|
|
||||||
|
|
||||||
// deactivate dlsch once dlsch proc is done
|
// deactivate dlsch once dlsch proc is done
|
||||||
ue->dlsch_p[gNB_id]->active = 0;
|
ue->dlsch_p[gNB_id]->active = 0;
|
||||||
@@ -1619,8 +1607,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
RA_PDSCH,
|
RA_PDSCH,
|
||||||
ue->dlsch_ra[gNB_id],
|
ue->dlsch_ra[gNB_id],
|
||||||
NULL,
|
NULL,
|
||||||
&ue->dlsch_ra_errors[gNB_id],
|
&ue->dlsch_ra_errors[gNB_id]);
|
||||||
dlsch_parallel);
|
|
||||||
|
|
||||||
// deactivate dlsch once dlsch proc is done
|
// deactivate dlsch once dlsch proc is done
|
||||||
ue->dlsch_ra[gNB_id]->active = 0;
|
ue->dlsch_ra[gNB_id]->active = 0;
|
||||||
@@ -1642,8 +1629,7 @@ int phy_procedures_nrUE_RX(PHY_VARS_NR_UE *ue,
|
|||||||
PDSCH,
|
PDSCH,
|
||||||
ue->dlsch[proc->thread_id][gNB_id][0],
|
ue->dlsch[proc->thread_id][gNB_id][0],
|
||||||
ue->dlsch[proc->thread_id][gNB_id][1],
|
ue->dlsch[proc->thread_id][gNB_id][1],
|
||||||
&ue->dlsch_errors[gNB_id],
|
&ue->dlsch_errors[gNB_id]);
|
||||||
dlsch_parallel);
|
|
||||||
|
|
||||||
stop_meas(&ue->dlsch_procedures_stat[proc->thread_id]);
|
stop_meas(&ue->dlsch_procedures_stat[proc->thread_id]);
|
||||||
if (cpumeas(CPUMEAS_GETSTATE)) {
|
if (cpumeas(CPUMEAS_GETSTATE)) {
|
||||||
|
|||||||
@@ -91,8 +91,7 @@ bool nr_ue_dlsch_procedures(PHY_VARS_NR_UE *ue,
|
|||||||
PDSCH_t pdsch,
|
PDSCH_t pdsch,
|
||||||
NR_UE_DLSCH_t *dlsch0,
|
NR_UE_DLSCH_t *dlsch0,
|
||||||
NR_UE_DLSCH_t *dlsch1,
|
NR_UE_DLSCH_t *dlsch1,
|
||||||
int *dlsch_errors,
|
int *dlsch_errors) {
|
||||||
uint8_t dlsch_parallel) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -714,7 +713,7 @@ int main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
if (UE->is_synchronized == 0) {
|
if (UE->is_synchronized == 0) {
|
||||||
UE_nr_rxtx_proc_t proc={0};
|
UE_nr_rxtx_proc_t proc={0};
|
||||||
ret = nr_initial_sync(&proc, UE, 1, 0, 0);
|
ret = nr_initial_sync(&proc, UE, 1, 0);
|
||||||
printf("nr_initial_sync1 returns %d\n",ret);
|
printf("nr_initial_sync1 returns %d\n",ret);
|
||||||
if (ret<0) n_errors++;
|
if (ret<0) n_errors++;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user