Apply delay compensation only when delay is different from 0

This commit is contained in:
rmagueta
2025-01-14 11:34:22 +01:00
committed by Laurent THOMAS
parent 6384517c01
commit dc5f4bf868
+6 -4
View File
@@ -1102,12 +1102,14 @@ void nr_decode_pucch2(PHY_VARS_gNB *gNB,
c16_t ch_temp[128] __attribute__((aligned(32))) = {0};
delay_t delay = {0};
nr_est_delay(128, ch_ls, ch_temp, &delay);
int delay_idx = get_delay_idx(delay.est_delay, MAX_DELAY_COMP);
c16_t *delay_table = frame_parms->delay_table128[delay_idx];
// Apply delay compensation on the input
for (int aa = 0; aa < Prx; aa++)
mult_complex_vectors(rp[aa][symb], delay_table, rp[aa][symb], nb_re_pucch, 8);
if (delay.est_delay != 0) {
int delay_idx = get_delay_idx(delay.est_delay, MAX_DELAY_COMP);
c16_t *delay_table = frame_parms->delay_table128[delay_idx];
for (int aa = 0; aa < Prx; aa++)
mult_complex_vectors(rp[aa][symb], delay_table, rp[aa][symb], nb_re_pucch, 8);
}
// extract again DMRS, and signal, after delay compensation
for (int aa = 0; aa < Prx; aa++) {