From 6e36b5405aecb33df7dc989c3230a5c8d7ca8f41 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Mon, 5 Sep 2022 13:33:00 +0100 Subject: [PATCH 1/2] Fix power calculation based on CSI-RS --- openair1/PHY/NR_UE_TRANSPORT/csi_rx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c b/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c index 43944b2fa8..bfa578edce 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c +++ b/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c @@ -270,7 +270,7 @@ uint32_t calc_power_csirs(const uint16_t *x, const fapi_nr_dl_config_csirs_pdu_r continue; } sum_x = sum_x + x[rb-csirs_config_pdu->start_rb]; - sum_x2 = sum_x2 + x[rb]*x[rb-csirs_config_pdu->start_rb]; + sum_x2 = sum_x2 + x[rb-csirs_config_pdu->start_rb]*x[rb-csirs_config_pdu->start_rb]; size++; } return sum_x2/size - (sum_x/size)*(sum_x/size); From 0cffceddb36780c57753a0e5025486aad7c028c4 Mon Sep 17 00:00:00 2001 From: luis_pereira87 Date: Tue, 6 Sep 2022 10:25:51 +0100 Subject: [PATCH 2/2] Address review comments and re-formatting the code using clang-format --- openair1/PHY/NR_UE_TRANSPORT/csi_rx.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c b/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c index bfa578edce..ae8b733301 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c +++ b/openair1/PHY/NR_UE_TRANSPORT/csi_rx.c @@ -261,19 +261,20 @@ int nr_get_csi_rs_signal(const PHY_VARS_NR_UE *ue, return 0; } -uint32_t calc_power_csirs(const uint16_t *x, const fapi_nr_dl_config_csirs_pdu_rel15_t *csirs_config_pdu) { +uint32_t calc_power_csirs(const uint16_t *x, const fapi_nr_dl_config_csirs_pdu_rel15_t *csirs_config_pdu) +{ uint64_t sum_x = 0; uint64_t sum_x2 = 0; uint16_t size = 0; - for (int rb = csirs_config_pdu->start_rb; rb < (csirs_config_pdu->start_rb+csirs_config_pdu->nr_of_rbs); rb++) { - if (csirs_config_pdu->freq_density <= 1 && csirs_config_pdu->freq_density != (rb % 2)) { + for (int rb = 0; rb < csirs_config_pdu->nr_of_rbs; rb++) { + if (csirs_config_pdu->freq_density <= 1 && csirs_config_pdu->freq_density != ((rb + csirs_config_pdu->start_rb) % 2)) { continue; } - sum_x = sum_x + x[rb-csirs_config_pdu->start_rb]; - sum_x2 = sum_x2 + x[rb-csirs_config_pdu->start_rb]*x[rb-csirs_config_pdu->start_rb]; + sum_x = sum_x + x[rb]; + sum_x2 = sum_x2 + x[rb] * x[rb]; size++; } - return sum_x2/size - (sum_x/size)*(sum_x/size); + return sum_x2 / size - (sum_x / size) * (sum_x / size); } int nr_csi_rs_channel_estimation(const PHY_VARS_NR_UE *ue,