From efeb5384904ad2febb7ca5fce8e8a03d032a2fb1 Mon Sep 17 00:00:00 2001 From: francescomani <email@francescomani.it> Date: Tue, 23 Apr 2024 12:20:42 +0200 Subject: [PATCH] harmonize usage of frequency range structures --- common/utils/nr/nr_common.h | 5 ----- executables/nr-ru.c | 2 +- openair1/PHY/INIT/nr_parms.c | 12 ++++++------ openair1/PHY/NR_UE_ESTIMATION/nr_adjust_synch_ue.c | 2 +- openair1/PHY/defs_nr_common.h | 2 +- openair1/SCHED_NR/phy_procedures_nr_gNB.c | 8 ++++---- openair1/SIMULATION/NR_PHY/pbchsim.c | 6 +++--- openair1/SIMULATION/NR_PHY/prachsim.c | 4 ++-- 8 files changed, 18 insertions(+), 23 deletions(-) diff --git a/common/utils/nr/nr_common.h b/common/utils/nr/nr_common.h index fb3abd12479..f5eccfc7ecf 100644 --- a/common/utils/nr/nr_common.h +++ b/common/utils/nr/nr_common.h @@ -79,11 +79,6 @@ static inline const char *rnti_types(nr_rnti_type_t rr) #define NR_MAX_NB_LAYERS 4 // 8 -typedef enum { - nr_FR1 = 0, - nr_FR2 -} nr_frequency_range_e; - typedef struct nr_bandentry_s { int16_t band; uint64_t ul_min; diff --git a/executables/nr-ru.c b/executables/nr-ru.c index 96c9e55e751..87c4683738e 100644 --- a/executables/nr-ru.c +++ b/executables/nr-ru.c @@ -841,7 +841,7 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) { flags_burst = proc->first_tx == 1 ? TX_BURST_START : TX_BURST_MIDDLE; } - if (fp->freq_range == nr_FR2) + if (fp->freq_range == FR2) flags_gpio = get_gpio_flags(ru, slot); const int flags = flags_burst | (flags_gpio << 4); diff --git a/openair1/PHY/INIT/nr_parms.c b/openair1/PHY/INIT/nr_parms.c index dc516d7f24b..c96754fe746 100644 --- a/openair1/PHY/INIT/nr_parms.c +++ b/openair1/PHY/INIT/nr_parms.c @@ -252,7 +252,7 @@ void nr_init_frame_parms(nfapi_nr_config_request_scf_t* cfg, NR_DL_FRAME_PARMS * fp->get_samples_slot_timestamp = &get_samples_slot_timestamp; fp->get_slot_from_timestamp = &get_slot_from_timestamp; fp->samples_per_frame = 10 * fp->samples_per_subframe; - fp->freq_range = (fp->dl_CarrierFreq < 6e9)? nr_FR1 : nr_FR2; + fp->freq_range = (fp->dl_CarrierFreq < 6e9)? FR1 : FR2; fp->Ncp = Ncp; @@ -341,12 +341,12 @@ int nr_init_frame_parms_ue(NR_DL_FRAME_PARMS *fp, fp->get_samples_per_slot = &get_samples_per_slot; fp->get_samples_slot_timestamp = &get_samples_slot_timestamp; fp->samples_per_frame = 10 * fp->samples_per_subframe; - fp->freq_range = (fp->dl_CarrierFreq < 6e9)? nr_FR1 : nr_FR2; + fp->freq_range = (fp->dl_CarrierFreq < 6e9)? FR1 : FR2; uint8_t sco = 0; - if (((fp->freq_range == nr_FR1) && (config->ssb_table.ssb_subcarrier_offset < 24)) || - ((fp->freq_range == nr_FR2) && (config->ssb_table.ssb_subcarrier_offset < 12))) { - if (fp->freq_range == nr_FR1) + if (((fp->freq_range == FR1) && (config->ssb_table.ssb_subcarrier_offset < 24)) || + ((fp->freq_range == FR2) && (config->ssb_table.ssb_subcarrier_offset < 12))) { + if (fp->freq_range == FR1) sco = config->ssb_table.ssb_subcarrier_offset>>config->ssb_config.scs_common; else sco = config->ssb_table.ssb_subcarrier_offset; @@ -379,7 +379,7 @@ void nr_init_frame_parms_ue_sa(NR_DL_FRAME_PARMS *frame_parms, uint64_t downlink frame_parms->numerology_index = mu; frame_parms->dl_CarrierFreq = downlink_frequency; frame_parms->ul_CarrierFreq = downlink_frequency + delta_duplex; - frame_parms->freq_range = (frame_parms->dl_CarrierFreq < 6e9)? nr_FR1 : nr_FR2; + frame_parms->freq_range = (frame_parms->dl_CarrierFreq < 6e9)? FR1 : FR2; frame_parms->N_RB_UL = frame_parms->N_RB_DL; frame_parms->nr_band = nr_band; diff --git a/openair1/PHY/NR_UE_ESTIMATION/nr_adjust_synch_ue.c b/openair1/PHY/NR_UE_ESTIMATION/nr_adjust_synch_ue.c index bcac18a60b4..61c12d145ab 100644 --- a/openair1/PHY/NR_UE_ESTIMATION/nr_adjust_synch_ue.c +++ b/openair1/PHY/NR_UE_ESTIMATION/nr_adjust_synch_ue.c @@ -71,7 +71,7 @@ int nr_adjust_synch_ue(NR_DL_FRAME_PARMS *frame_parms, int diff = ue->max_pos_avg >> 15; - if (frame_parms->freq_range==nr_FR2) + if (frame_parms->freq_range == FR2) sync_offset = 2; else sync_offset = 0; diff --git a/openair1/PHY/defs_nr_common.h b/openair1/PHY/defs_nr_common.h index 121ef0d3c18..3d0f2efa88d 100644 --- a/openair1/PHY/defs_nr_common.h +++ b/openair1/PHY/defs_nr_common.h @@ -139,7 +139,7 @@ typedef uint32_t (*get_samples_slot_timestamp_t)(int slot, const NR_DL_FRAME_PAR struct NR_DL_FRAME_PARMS { /// frequency range - nr_frequency_range_e freq_range; + frequency_range_t freq_range; // /// Placeholder to replace overlapping fields below // nfapi_nr_rf_config_t rf_config; /// Placeholder to replace SSB overlapping fields below diff --git a/openair1/SCHED_NR/phy_procedures_nr_gNB.c b/openair1/SCHED_NR/phy_procedures_nr_gNB.c index 291e063aa4b..886482bc5dd 100644 --- a/openair1/SCHED_NR/phy_procedures_nr_gNB.c +++ b/openair1/SCHED_NR/phy_procedures_nr_gNB.c @@ -71,10 +71,10 @@ void nr_common_signal_procedures(PHY_VARS_gNB *gNB,int frame,int slot, nfapi_nr_ // for FR2 offsetToPointA is expressed in terms of 60 kHz SCS and k_SSB expressed in terms of the subcarrier spacing provided // by the higher-layer parameter subCarrierSpacingCommon const int scs = cfg->ssb_config.scs_common.value; - const int prb_offset = (fp->freq_range == nr_FR1) ? ssb_pdu.ssb_pdu_rel15.ssbOffsetPointA >> scs - : ssb_pdu.ssb_pdu_rel15.ssbOffsetPointA >> (scs - 2); + const int prb_offset = (fp->freq_range == FR1) ? ssb_pdu.ssb_pdu_rel15.ssbOffsetPointA >> scs + : ssb_pdu.ssb_pdu_rel15.ssbOffsetPointA >> (scs - 2); const int sc_offset = - (fp->freq_range == nr_FR1) ? ssb_pdu.ssb_pdu_rel15.SsbSubcarrierOffset >> scs : ssb_pdu.ssb_pdu_rel15.SsbSubcarrierOffset; + (fp->freq_range == FR1) ? ssb_pdu.ssb_pdu_rel15.SsbSubcarrierOffset >> scs : ssb_pdu.ssb_pdu_rel15.SsbSubcarrierOffset; fp->ssb_start_subcarrier = (12 * prb_offset + sc_offset); if (fp->print_ue_help_cmdline_log && get_softmodem_params()->sa) { @@ -134,7 +134,7 @@ void nr_common_signal_procedures(PHY_VARS_gNB *gNB,int frame,int slot, nfapi_nr_ #endif // Beam_id is currently used only for FR2 - if (fp->freq_range==nr_FR2){ + if (fp->freq_range == FR2){ LOG_D(PHY,"slot %d, ssb_index %d, beam %d\n",slot,ssb_index,cfg->ssb_table.ssb_beam_id_list[ssb_index].beam_id.value); for (int j=0;j<fp->symbols_per_slot;j++) gNB->common_vars.beam_id[0][slot*fp->symbols_per_slot+j] = cfg->ssb_table.ssb_beam_id_list[ssb_index].beam_id.value; diff --git a/openair1/SIMULATION/NR_PHY/pbchsim.c b/openair1/SIMULATION/NR_PHY/pbchsim.c index acfa696b24c..9ab5456613f 100644 --- a/openair1/SIMULATION/NR_PHY/pbchsim.c +++ b/openair1/SIMULATION/NR_PHY/pbchsim.c @@ -487,7 +487,7 @@ int main(int argc, char **argv) frame_parms->N_RB_DL = N_RB_DL; frame_parms->Nid_cell = Nid_cell; frame_parms->ssb_type = nr_ssb_type_C; - frame_parms->freq_range = mu<2 ? nr_FR1 : nr_FR2; + frame_parms->freq_range = mu<2 ? FR1 : FR2; nr_phy_config_request_sim_pbchsim(gNB,N_RB_DL,N_RB_DL,mu,Nid_cell,SSB_positions); gNB->gNB_config.tdd_table.tdd_period.value = 6; @@ -620,8 +620,8 @@ int main(int argc, char **argv) for (i=0; i<frame_parms->Lmax; i++) { if((SSB_positions >> i) & 0x01) { - const int sc_offset = frame_parms->freq_range == nr_FR1 ? ssb_subcarrier_offset<<mu : ssb_subcarrier_offset; - const int prb_offset = frame_parms->freq_range == nr_FR1 ? gNB->gNB_config.ssb_table.ssb_offset_point_a.value<<mu : gNB->gNB_config.ssb_table.ssb_offset_point_a.value << (mu - 2); + const int sc_offset = frame_parms->freq_range == FR1 ? ssb_subcarrier_offset<<mu : ssb_subcarrier_offset; + const int prb_offset = frame_parms->freq_range == FR1 ? gNB->gNB_config.ssb_table.ssb_offset_point_a.value<<mu : gNB->gNB_config.ssb_table.ssb_offset_point_a.value << (mu - 2); msgDataTx.ssb[i].ssb_pdu.ssb_pdu_rel15.bchPayload = 0x55dd33; msgDataTx.ssb[i].ssb_pdu.ssb_pdu_rel15.SsbBlockIndex = i; msgDataTx.ssb[i].ssb_pdu.ssb_pdu_rel15.SsbSubcarrierOffset = sc_offset; diff --git a/openair1/SIMULATION/NR_PHY/prachsim.c b/openair1/SIMULATION/NR_PHY/prachsim.c index 71f92aebd35..9586cf2d64e 100644 --- a/openair1/SIMULATION/NR_PHY/prachsim.c +++ b/openair1/SIMULATION/NR_PHY/prachsim.c @@ -422,7 +422,7 @@ int main(int argc, char **argv){ frame_parms->N_RB_UL = N_RB_UL; frame_parms->threequarter_fs = threequarter_fs; frame_parms->frame_type = TDD; - frame_parms->freq_range = (mu != 3 ? nr_FR1 : nr_FR2); + frame_parms->freq_range = (mu != 3 ? FR1 : FR2); frame_parms->numerology_index = mu; nr_phy_config_request_sim(gNB, N_RB_UL, N_RB_UL, mu, Nid_cell, SSB_positions); @@ -447,7 +447,7 @@ int main(int argc, char **argv){ frame_parms->Ncp, frame_parms->samples_per_subframe, frame_parms->frame_type == FDD ? "FDD" : "TDD", - frame_parms->freq_range == nr_FR1 ? "FR1" : "FR2"); + frame_parms->freq_range == FR1 ? "FR1" : "FR2"); ru->nr_frame_parms = frame_parms; ru->if_south = LOCAL_RF; -- GitLab