From dea42f7e4aef7951e7c22b449d9a4e5d8e52e5a4 Mon Sep 17 00:00:00 2001 From: francescomani Date: Fri, 20 Feb 2026 09:49:11 +0100 Subject: [PATCH] remove some unnecessary use of NB_ANTENNAS_RX at UE --- executables/nr-ue.c | 2 +- openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h | 2 +- openair1/PHY/NR_UE_TRANSPORT/sss_nr.c | 29 +++++++++---------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 88a8ff84c8..4c5a480386 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -726,7 +726,6 @@ void *UE_thread(void *arg) PHY_VARS_NR_UE *UE = (PHY_VARS_NR_UE *)arg; const NR_DL_FRAME_PARMS *fp = &UE->frame_parms; // int tx_enabled = 0; - c16_t *rxp[fp->nb_antennas_rx]; enum stream_status_e stream_status = STREAM_STATUS_UNSYNC; fapi_nr_config_request_t *cfg = &UE->nrUE_config; sl_nr_phy_config_request_t *sl_cfg = NULL; @@ -780,6 +779,7 @@ void *UE_thread(void *arg) readFrame(UE, &tmp, duration_rx_to_tx, true); } + c16_t *rxp[fp->nb_antennas_rx]; while (!oai_exit) { if (syncRunning) { notifiedFIFO_elt_t *res = pollNotifiedFIFO(&nf); diff --git a/openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h b/openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h index 4a67f2956e..3f7bd0d63e 100644 --- a/openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h +++ b/openair1/PHY/NR_UE_ESTIMATION/nr_estimation.h @@ -122,7 +122,7 @@ void nr_ue_ssb_rsrp_measurements(PHY_VARS_NR_UE *ue, typedef struct { UE_nr_rxtx_proc_t proc; PHY_VARS_NR_UE *ue; - c16_t *rxdata[NB_ANTENNAS_RX]; + c16_t **rxdata; uint32_t rxdata_size; c16_t rxdata_ant[]; } nr_meas_task_args_t; diff --git a/openair1/PHY/NR_UE_TRANSPORT/sss_nr.c b/openair1/PHY/NR_UE_TRANSPORT/sss_nr.c index da27ca8603..0c0173b64d 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/sss_nr.c +++ b/openair1/PHY/NR_UE_TRANSPORT/sss_nr.c @@ -189,8 +189,8 @@ void insert_sss_nr(int16_t *sss_time, static int pss_ch_est_nr(const NR_DL_FRAME_PARMS *frame_parms, int nid2, - c16_t pss_ext[NB_ANTENNAS_RX][LENGTH_PSS_NR], - c16_t sss_ext[NB_ANTENNAS_RX][LENGTH_SSS_NR]) + c16_t pss_ext[frame_parms->nb_antennas_rx][LENGTH_PSS_NR], + c16_t sss_ext[frame_parms->nb_antennas_rx][LENGTH_SSS_NR]) { int16_t *pss = get_primary_synchro_nr2(nid2); @@ -250,15 +250,14 @@ static int pss_ch_est_nr(const NR_DL_FRAME_PARMS *frame_parms, * *********************************************************************/ -static int do_pss_sss_extract_nr( - const NR_DL_FRAME_PARMS *frame_parms, - c16_t pss_ext[NB_ANTENNAS_RX][LENGTH_PSS_NR], - c16_t sss_ext[NB_ANTENNAS_RX][LENGTH_SSS_NR], - uint8_t doPss, - uint8_t doSss, - uint8_t subframe, - int ssb_start_subcarrier, - c16_t rxdataF[][frame_parms->samples_per_slot_wCP]) // add flag to indicate extracting only PSS, only SSS, or both +static int do_pss_sss_extract_nr(const NR_DL_FRAME_PARMS *frame_parms, + c16_t pss_ext[frame_parms->nb_antennas_rx][LENGTH_PSS_NR], + c16_t sss_ext[frame_parms->nb_antennas_rx][LENGTH_SSS_NR], + uint8_t doPss, + uint8_t doSss, + uint8_t subframe, + int ssb_start_subcarrier, + c16_t rxdataF[][frame_parms->samples_per_slot_wCP]) // add flag to indicate extracting only PSS, only SSS, or both { AssertFatal(frame_parms->nb_antennas_rx > 0, "UB as sss_ext is not set to any value\n"); @@ -331,8 +330,8 @@ static int do_pss_sss_extract_nr( *********************************************************************/ static int pss_sss_extract_nr(const NR_DL_FRAME_PARMS *frame_parms, - c16_t pss_ext[NB_ANTENNAS_RX][LENGTH_PSS_NR], - c16_t sss_ext[NB_ANTENNAS_RX][LENGTH_SSS_NR], + c16_t pss_ext[frame_parms->nb_antennas_rx][LENGTH_PSS_NR], + c16_t sss_ext[frame_parms->nb_antennas_rx][LENGTH_SSS_NR], uint8_t subframe, int ssb_start_subcarrier, c16_t rxdataF[][frame_parms->samples_per_slot_wCP]) @@ -371,8 +370,8 @@ bool rx_sss_nr(const NR_DL_FRAME_PARMS *frame_parms, c16_t rxdataF[][frame_parms->samples_per_slot_wCP]) { uint8_t i; - c16_t pss_ext[NB_ANTENNAS_RX][LENGTH_PSS_NR] = {0}; - c16_t sss_ext[NB_ANTENNAS_RX][LENGTH_SSS_NR] = {0}; + c16_t pss_ext[frame_parms->nb_antennas_rx][LENGTH_PSS_NR]; + c16_t sss_ext[frame_parms->nb_antennas_rx][LENGTH_SSS_NR]; uint8_t Nid2 = GET_NID2(nid2); uint16_t Nid1; uint8_t phase;