SRSENB: PUCCH TA measurement only available with detected PUCCH

master
Xavier Arteaga 4 years ago committed by Xavier Arteaga
parent 3aec23f7d8
commit 1843c9efbc

@ -214,12 +214,6 @@ static int get_pucch(srslte_enb_ul_t* q, srslte_ul_sf_cfg_t* ul_sf, srslte_pucch
return SRSLTE_ERROR; return SRSLTE_ERROR;
} }
// Copy measurements
if (cfg->meas_ta_en) {
pucch_res.ta_valid = !(isnan(q->chest_res.ta_us) || isinf(q->chest_res.ta_us));
pucch_res.ta_us = q->chest_res.ta_us;
}
ret = srslte_pucch_decode(&q->pucch, ul_sf, cfg, &q->chest_res, q->sf_symbols, &pucch_res); ret = srslte_pucch_decode(&q->pucch, ul_sf, cfg, &q->chest_res, q->sf_symbols, &pucch_res);
if (ret < SRSLTE_SUCCESS) { if (ret < SRSLTE_SUCCESS) {
ERROR("Error decoding PUCCH\n"); ERROR("Error decoding PUCCH\n");
@ -235,6 +229,12 @@ static int get_pucch(srslte_enb_ul_t* q, srslte_ul_sf_cfg_t* ul_sf, srslte_pucch
// Check correlation value, keep maximum // Check correlation value, keep maximum
if (i == 0 || pucch_res.correlation > res->correlation) { if (i == 0 || pucch_res.correlation > res->correlation) {
// Copy measurements only if PUCCH was decoded succesfully
if (cfg->meas_ta_en) {
pucch_res.ta_valid = !(isnan(q->chest_res.ta_us) || isinf(q->chest_res.ta_us));
pucch_res.ta_us = q->chest_res.ta_us;
}
*res = pucch_res; *res = pucch_res;
} }
} }

Loading…
Cancel
Save