From c56b4bf515148dff13341930f411d290288d07e1 Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 14 Jul 2023 18:19:51 +0200 Subject: [PATCH] fix computation of absolute slot --- executables/nr-gnb.c | 13 ++++++------- executables/nr-ru.c | 6 +++--- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/executables/nr-gnb.c b/executables/nr-gnb.c index 3957d3fe05..33fe6b3f2a 100644 --- a/executables/nr-gnb.c +++ b/executables/nr-gnb.c @@ -117,10 +117,10 @@ void tx_func(void *param) int frame_tx = info->frame; int slot_tx = info->slot; int cumul_samples = gNB->frame_parms.get_samples_per_slot(0, &gNB->frame_parms); - int i = 0; - for (i = 1; i < gNB->frame_parms.slots_per_subframe / 2; i++) + int i = 1; + for (; i < gNB->frame_parms.slots_per_subframe / 2; i++) cumul_samples += gNB->frame_parms.get_samples_per_slot(i, &gNB->frame_parms); - int samples = cumul_samples / (i + 1); + int samples = cumul_samples / i; int absslot_tx = info->timestamp_tx / samples; int absslot_rx = absslot_tx - gNB->RU_list[0]->sl_ahead; int rt_prof_idx = absslot_rx % RT_PROF_DEPTH; @@ -182,12 +182,11 @@ void rx_func(void *param) int frame_tx = info->frame_tx; int slot_tx = info->slot_tx; nfapi_nr_config_request_scf_t *cfg = &gNB->gNB_config; - int cumul_samples = gNB->frame_parms.get_samples_per_slot(0, &gNB->frame_parms); - int i = 0; - for (i = 1; i < gNB->frame_parms.slots_per_subframe / 2; i++) + int i = 1; + for (; i < gNB->frame_parms.slots_per_subframe / 2; i++) cumul_samples += gNB->frame_parms.get_samples_per_slot(i, &gNB->frame_parms); - int samples = cumul_samples / (i + 1); + int samples = cumul_samples / i; int absslot_tx = info->timestamp_tx / samples; int absslot_rx = absslot_tx - gNB->RU_list[0]->sl_ahead; int rt_prof_idx = absslot_rx % RT_PROF_DEPTH; diff --git a/executables/nr-ru.c b/executables/nr-ru.c index 3cae919d9e..0426ee5405 100644 --- a/executables/nr-ru.c +++ b/executables/nr-ru.c @@ -1016,10 +1016,10 @@ void ru_tx_func(void *param) { char filename[40]; int cumul_samples = fp->get_samples_per_slot(0, fp); - int i = 0; - for (i = 1; i < fp->slots_per_subframe / 2; i++) + int i = 1; + for (; i < fp->slots_per_subframe / 2; i++) cumul_samples += fp->get_samples_per_slot(i, fp); - int samples = cumul_samples / (i + 1); + int samples = cumul_samples / i; int absslot_tx = info->timestamp_tx / samples; int absslot_rx = absslot_tx - ru->sl_ahead; int rt_prof_idx = absslot_rx % RT_PROF_DEPTH;