Reverted PDCCH threshold

master
Xavier Arteaga 3 years ago committed by Andre Puschmann
parent d46be09663
commit 5ddc974beb

@ -377,15 +377,6 @@ int srsran_pdcch_decode_msg(srsran_pdcch_t* q, srsran_dl_sf_cfg_t* sf, srsran_dc
uint32_t nof_bits = srsran_dci_format_sizeof(&q->cell, sf, dci_cfg, msg->format);
uint32_t e_bits = PDCCH_FORMAT_NOF_BITS(msg->location.L);
// Set threshold to 2/3 of absolute LLRs maximum for this candidate if bigger than 0.3. Otherwise set the
// threshold to 0.3.
uint32_t max_i = srsran_vec_max_abs_fi(&q->llr[msg->location.ncce * 72], e_bits);
if (max_i >= e_bits) {
ERROR("The impossible happened %d>=%d", max_i, e_bits);
return SRSRAN_ERROR;
}
double threshold = SRSRAN_MAX(0.3f, (2.0 / 3.0) * fabsf(q->llr[msg->location.ncce * 72 + max_i]));
// Compute absolute mean of the LLRs
double mean = 0;
for (int i = 0; i < e_bits; i++) {
@ -393,7 +384,7 @@ int srsran_pdcch_decode_msg(srsran_pdcch_t* q, srsran_dl_sf_cfg_t* sf, srsran_dc
}
mean /= e_bits;
if (mean > threshold) {
if (mean > 0.3f) {
ret = srsran_pdcch_dci_decode(q, &q->llr[msg->location.ncce * 72], msg->payload, e_bits, nof_bits, &msg->rnti);
if (ret == SRSRAN_SUCCESS) {
msg->nof_bits = nof_bits;
@ -412,12 +403,7 @@ int srsran_pdcch_decode_msg(srsran_pdcch_t* q, srsran_dl_sf_cfg_t* sf, srsran_dc
mean,
msg->rnti);
} else {
INFO("Skipping DCI: nCCE=%d, L=%d, msg_len=%d, mean=%f, thr=%f",
msg->location.ncce,
msg->location.L,
nof_bits,
mean,
threshold);
INFO("Skipping DCI: nCCE=%d, L=%d, msg_len=%d, mean=%f", msg->location.ncce, msg->location.L, nof_bits, mean);
}
}
} else if (msg != NULL) {

Loading…
Cancel
Save