mirror of https://github.com/PentHertz/srsLTE.git
Exposed maximum number of iterations
This commit is contained in:
parent
3be50e3206
commit
d65828054a
|
@ -116,6 +116,8 @@ int srslte_sch_init(srslte_sch_t *q) {
|
||||||
goto clean;
|
goto clean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
q->max_iterations = SRSLTE_PDSCH_MAX_TDEC_ITERS;
|
||||||
|
|
||||||
srslte_rm_turbo_gentables();
|
srslte_rm_turbo_gentables();
|
||||||
|
|
||||||
// Allocate int16 for reception (LLRs)
|
// Allocate int16 for reception (LLRs)
|
||||||
|
@ -169,6 +171,9 @@ void srslte_sch_free(srslte_sch_t *q) {
|
||||||
bzero(q, sizeof(srslte_sch_t));
|
bzero(q, sizeof(srslte_sch_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void srslte_sch_set_max_noi(srslte_sch_t *q, uint32_t max_iterations) {
|
||||||
|
q->max_iterations = max_iterations;
|
||||||
|
}
|
||||||
|
|
||||||
float srslte_sch_average_noi(srslte_sch_t *q) {
|
float srslte_sch_average_noi(srslte_sch_t *q) {
|
||||||
return q->average_nof_iterations;
|
return q->average_nof_iterations;
|
||||||
|
@ -437,7 +442,7 @@ static int decode_tb(srslte_sch_t *q,
|
||||||
early_stop = true;
|
early_stop = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
} while (q->nof_iterations < SRSLTE_PDSCH_MAX_TDEC_ITERS && !early_stop);
|
} while (q->nof_iterations < q->max_iterations && !early_stop);
|
||||||
q->average_nof_iterations = SRSLTE_VEC_EMA((float) q->nof_iterations, q->average_nof_iterations, 0.2);
|
q->average_nof_iterations = SRSLTE_VEC_EMA((float) q->nof_iterations, q->average_nof_iterations, 0.2);
|
||||||
|
|
||||||
INFO("CB#%d: cb_len: %d, rlen: %d, wp: %d, rp: %d, E: %d, n_iters=%d\n", i,
|
INFO("CB#%d: cb_len: %d, rlen: %d, wp: %d, rp: %d, E: %d, n_iters=%d\n", i,
|
||||||
|
|
|
@ -344,7 +344,7 @@ int srslte_ue_ul_pucch_encode(srslte_ue_ul_t *q, srslte_uci_data_t uci_data,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (q->normalize_en) {
|
if (q->normalize_en) {
|
||||||
float norm_factor = (float) 0.6*q->cell.nof_prb/5;
|
float norm_factor = (float) 0.8*q->cell.nof_prb/5;
|
||||||
srslte_vec_sc_prod_cfc(output_signal, norm_factor, output_signal, SRSLTE_SF_LEN_PRB(q->cell.nof_prb));
|
srslte_vec_sc_prod_cfc(output_signal, norm_factor, output_signal, SRSLTE_SF_LEN_PRB(q->cell.nof_prb));
|
||||||
}
|
}
|
||||||
ret = SRSLTE_SUCCESS;
|
ret = SRSLTE_SUCCESS;
|
||||||
|
|
Loading…
Reference in New Issue