From 1f7ec847bce8980667d8fe4ea006c70e547acfe9 Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Tue, 16 Jul 2024 18:37:48 +0200 Subject: [PATCH 1/7] Remove tddflag. Frame type depends on band. --- executables/nr-uesoftmodem.c | 6 ------ executables/nr-uesoftmodem.h | 1 - 2 files changed, 7 deletions(-) diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 9e82c9aae8..61a7890fd0 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -115,7 +115,6 @@ extern int16_t nr_dlsch_demod_shift; static int tx_max_power[MAX_NUM_CCs] = {0}; int single_thread_flag = 1; -int tddflag = 0; int vcdflag = 0; double rx_gain_off = 0.0; @@ -303,11 +302,6 @@ void set_options(int CC_id, PHY_VARS_NR_UE *UE){ // Set FP variables - if (tddflag){ - fp->frame_type = TDD; - LOG_I(PHY, "Set UE frame_type %d\n", fp->frame_type); - } - fp->nb_antennas_rx = nrUE_params.nb_antennas_rx; fp->nb_antennas_tx = nrUE_params.nb_antennas_tx; fp->threequarter_fs = get_softmodem_params()->threequarter_fs; diff --git a/executables/nr-uesoftmodem.h b/executables/nr-uesoftmodem.h index 8e0650b4e4..df3d88449e 100644 --- a/executables/nr-uesoftmodem.h +++ b/executables/nr-uesoftmodem.h @@ -58,7 +58,6 @@ {"ue-max-power", NULL, 0, .iptr=&(tx_max_power[0]), .defintval=90, TYPE_INT, 0}, \ {"r" , CONFIG_HLP_PRB_SA, 0, .iptr=&(nrUE_params.N_RB_DL), .defintval=106, TYPE_UINT, 0}, \ {"ssb", CONFIG_HLP_SSC, 0, .iptr=&(nrUE_params.ssb_start_subcarrier), .defintval=516, TYPE_UINT16, 0}, \ - {"T" , CONFIG_HLP_TDD, PARAMFLAG_BOOL, .iptr=&tddflag, .defintval=0, TYPE_INT, 0}, \ {"if_freq" , CONFIG_HLP_IF_FREQ, 0, .u64ptr=&(nrUE_params.if_freq), .defuintval=0, TYPE_UINT64, 0}, \ {"if_freq_off" , CONFIG_HLP_IF_FREQ_OFF, 0, .iptr=&(nrUE_params.if_freq_off), .defuintval=0, TYPE_INT, 0}, \ {"chest-freq", CONFIG_HLP_CHESTFREQ, 0, .iptr=&(nrUE_params.chest_freq), .defintval=0, TYPE_INT, 0}, \ From dc91550e2c40d37d4e7404d605f29c73762c68b9 Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Tue, 16 Jul 2024 19:05:01 +0200 Subject: [PATCH 2/7] Remove unused flag single_thread_flag from softmodems. --- common/config/DOC/config/rtusage.md | 1 - executables/lte-enb.c | 10 +++------- executables/lte-softmodem.c | 4 ++-- executables/lte-softmodem.h | 2 +- executables/nr-gnb.c | 5 ++--- executables/nr-softmodem-common.h | 1 - executables/nr-softmodem.c | 5 ++--- executables/nr-softmodem.h | 3 +-- executables/nr-uesoftmodem.c | 1 - executables/nr-uesoftmodem.h | 1 - executables/softmodem-common.h | 4 ---- nfapi/oai_integration/aerial/fapi_vnf_p5.c | 1 - nfapi/oai_integration/aerial/fapi_vnf_p7.c | 1 - nfapi/oai_integration/nfapi_vnf.c | 12 +++++++----- openair1/PHY/TOOLS/calibration_test.c | 1 - openair1/PHY/defs_L1_NB_IoT.h | 1 - openair1/PHY/defs_eNB.h | 1 - openair1/PHY/defs_gNB.h | 1 - 18 files changed, 18 insertions(+), 37 deletions(-) diff --git a/common/config/DOC/config/rtusage.md b/common/config/DOC/config/rtusage.md index 6a092b340f..42ef93bffc 100644 --- a/common/config/DOC/config/rtusage.md +++ b/common/config/DOC/config/rtusage.md @@ -58,7 +58,6 @@ To get help on supported parameters you can use specific options: --emulate-rf: Emulated RF enabled(disable by defult) --clock: tells hardware to use a clock reference (0:internal, 1:external, 2:gpsdo) --wait-for-sync: Help string not specified - --single-thread-enable: Disables single-thread mode in lte-softmodem -C: Set the downlink frequency for all component carriers -a: Channel id offset -d: Enable soft scope and L1 and L2 stats (Xforms) diff --git a/executables/lte-enb.c b/executables/lte-enb.c index 5e686d6527..9c56c5f53e 100644 --- a/executables/lte-enb.c +++ b/executables/lte-enb.c @@ -134,7 +134,7 @@ static struct { extern double cpuf; -void init_eNB(int,int); +void init_eNB(int); void stop_eNB(int nb_inst); int wakeup_tx(PHY_VARS_eNB *eNB, int frame_rx, int subframe_rx, int frame_tx, int subframe_tx, uint64_t timestamp_tx); @@ -899,8 +899,6 @@ void init_eNB_proc(int inst) { pthread_cond_init( &proc->cond_prach_br, NULL); pthread_attr_init( &proc->attr_prach_br); - LOG_I(PHY,"eNB->single_thread_flag:%d\n", eNB->single_thread_flag); - if ((get_thread_parallel_conf() == PARALLEL_RU_L1_SPLIT) && NFAPI_MODE!=NFAPI_MODE_VNF) { pthread_create( &L1_proc->pthread, attr0, L1_thread, proc ); } else if ((get_thread_parallel_conf() == PARALLEL_RU_L1_TRX_SPLIT) && NFAPI_MODE!=NFAPI_MODE_VNF) { @@ -1224,8 +1222,7 @@ void init_eNB_afterRU(void) { } -void init_eNB(int single_thread_flag, - int wait_for_sync) { +void init_eNB(int wait_for_sync) { int CC_id; int inst; PHY_VARS_eNB *eNB; @@ -1244,8 +1241,7 @@ void init_eNB(int single_thread_flag, eNB = RC.eNB[inst][CC_id]; eNB->abstraction_flag = 0; - eNB->single_thread_flag = single_thread_flag; - LOG_I(PHY,"Initializing eNB %d CC_id %d single_thread_flag:%d\n",inst,CC_id,single_thread_flag); + LOG_I(PHY,"Initializing eNB %d CC_id %d\n",inst,CC_id); LOG_I(PHY,"Initializing eNB %d CC_id %d\n",inst,CC_id); LOG_I(PHY,"Registering with MAC interface module\n"); AssertFatal((eNB->if_inst = IF_Module_init(inst))!=NULL,"Cannot register interface"); diff --git a/executables/lte-softmodem.c b/executables/lte-softmodem.c index 43b1f5c675..e5530765a5 100644 --- a/executables/lte-softmodem.c +++ b/executables/lte-softmodem.c @@ -542,8 +542,8 @@ int main ( int argc, char **argv ) printf("RC.nb_L1_inst:%d\n", RC.nb_L1_inst); if (RC.nb_L1_inst > 0) { - printf("Initializing eNB threads single_thread_flag:%d wait_for_sync:%d\n", get_softmodem_params()->single_thread_flag,get_softmodem_params()->wait_for_sync); - init_eNB(get_softmodem_params()->single_thread_flag,get_softmodem_params()->wait_for_sync); + printf("Initializing eNB threads wait_for_sync:%d\n", get_softmodem_params()->wait_for_sync); + init_eNB(get_softmodem_params()->wait_for_sync); } for (int x=0; x < RC.nb_L1_inst; x++) for (int CC_id=0; CC_idabstraction_flag = 0; - gNB->single_thread_flag = single_thread_flag; /*nr_polar_init(&gNB->nrPolar_params, NR_POLAR_PBCH_MESSAGE_TYPE, NR_POLAR_PBCH_PAYLOAD_BITS, NR_POLAR_PBCH_AGGREGATION_LEVEL);*/ - LOG_I(PHY,"Initializing gNB %d single_thread_flag:%d\n",inst,gNB->single_thread_flag); + LOG_I(PHY,"Initializing gNB %d\n",inst); LOG_I(PHY,"Initializing gNB %d\n",inst); LOG_I(PHY,"Registering with MAC interface module (before %p)\n",gNB->if_inst); diff --git a/executables/nr-softmodem-common.h b/executables/nr-softmodem-common.h index e84ca015cc..56d92497cc 100644 --- a/executables/nr-softmodem-common.h +++ b/executables/nr-softmodem-common.h @@ -55,7 +55,6 @@ #define CONFIG_HLP_DMAMAP "use DMA memory mapping\n" #define CONFIG_HLP_EXCCLK "tells hardware to use a clock reference (0:internal(default), 1:external, 2:gpsdo)\n" #define CONFIG_HLP_USIM "use XOR autentication algo in case of test usim mode\n" -#define CONFIG_HLP_NOSNGLT "Disables single-thread mode in lte-softmodem\n" #define CONFIG_HLP_DLF "Set the downlink frequency for all component carriers\n" #define CONFIG_HLP_ULOFF "Set the uplink frequnecy offset for all component carriers\n" #define CONFIG_HLP_CHOFF "Channel id offset\n" diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index ac6a2e88bd..958161252a 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -106,7 +106,6 @@ int NB_UE_INST = 0; static int wait_for_sync = 0; unsigned int mmapped_dma=0; -int single_thread_flag=1; uint64_t downlink_frequency[MAX_NUM_CCs][4]; int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; @@ -697,8 +696,8 @@ int main( int argc, char **argv ) { printf("RC.nb_nr_L1_inst:%d\n", RC.nb_nr_L1_inst); if (RC.nb_nr_L1_inst > 0) { - printf("Initializing gNB threads single_thread_flag:%d wait_for_sync:%d\n", single_thread_flag,wait_for_sync); - init_gNB(single_thread_flag,wait_for_sync); + printf("Initializing gNB threads wait_for_sync:%d\n", wait_for_sync); + init_gNB(wait_for_sync); } printf("wait_gNBs()\n"); diff --git a/executables/nr-softmodem.h b/executables/nr-softmodem.h index 6f2a54f2e8..1047c56ffd 100644 --- a/executables/nr-softmodem.h +++ b/executables/nr-softmodem.h @@ -17,7 +17,6 @@ /*----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/ // clang-format off #define CMDLINE_PARAMS_DESC_GNB { \ - {"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, .iptr=&single_thread_flag, .defintval=1, TYPE_INT, 0}, \ {"m" , CONFIG_HLP_DLMCS_PHYTEST, 0, .uptr=&target_dl_mcs, .defintval=0, TYPE_UINT, 0}, \ {"l" , CONFIG_HLP_DLNL_PHYTEST, 0, .uptr=&target_dl_Nl, .defintval=0, TYPE_UINT, 0}, \ {"L" , CONFIG_HLP_ULNL_PHYTEST, 0, .uptr=&target_ul_Nl, .defintval=0, TYPE_UINT, 0}, \ @@ -42,7 +41,7 @@ extern uint64_t ulsch_slot_bitmap; extern char *uecap_file; // In nr-gnb.c -extern void init_gNB(int single_thread_flag,int wait_for_sync); +extern void init_gNB(int wait_for_sync); extern void stop_gNB(int); // In nr-ru.c diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 61a7890fd0..a36667f2b7 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -114,7 +114,6 @@ int oai_exit = 0; extern int16_t nr_dlsch_demod_shift; static int tx_max_power[MAX_NUM_CCs] = {0}; -int single_thread_flag = 1; int vcdflag = 0; double rx_gain_off = 0.0; diff --git a/executables/nr-uesoftmodem.h b/executables/nr-uesoftmodem.h index df3d88449e..9505bfd6b3 100644 --- a/executables/nr-uesoftmodem.h +++ b/executables/nr-uesoftmodem.h @@ -36,7 +36,6 @@ {"usrp-args", CONFIG_HLP_USRP_ARGS, 0, .strptr=&usrp_args, .defstrval="type=b200", TYPE_STRING, 0}, \ {"tx_subdev", CONFIG_HLP_TX_SUBDEV, 0, .strptr=&tx_subdev, .defstrval=NULL, TYPE_STRING, 0}, \ {"rx_subdev", CONFIG_HLP_RX_SUBDEV, 0, .strptr=&rx_subdev, .defstrval=NULL, TYPE_STRING, 0}, \ - {"single-thread-disable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, .iptr=&single_thread_flag, .defintval=1, TYPE_INT, 0}, \ {"dlsch-parallel", CONFIG_HLP_DLSCH_PARA, 0, .u8ptr=NULL, .defintval=0, TYPE_UINT8, 0}, \ {"offset-divisor", CONFIG_HLP_OFFSET_DIV, 0, .uptr=&nrUE_params.ofdm_offset_divisor, .defuintval=8, TYPE_UINT32, 0}, \ {"max-ldpc-iterations", CONFIG_HLP_MAX_LDPC_ITERATIONS, 0, .iptr=&nrUE_params.max_ldpc_iterations, .defuintval=8, TYPE_UINT8, 0}, \ diff --git a/executables/softmodem-common.h b/executables/softmodem-common.h index 61438e6b1d..a696c064a4 100644 --- a/executables/softmodem-common.h +++ b/executables/softmodem-common.h @@ -125,7 +125,6 @@ extern "C" #define SA softmodem_params.sa #define SL_MODE softmodem_params.sl_mode #define WAIT_FOR_SYNC softmodem_params.wait_for_sync -#define SINGLE_THREAD_FLAG softmodem_params.single_thread_flag #define CHAIN_OFFSET softmodem_params.chain_offset #define NUMEROLOGY softmodem_params.numerology #define BAND softmodem_params.band @@ -162,7 +161,6 @@ extern int usrp_tx_thread; {"time-source", CONFIG_HLP_TME, 0, .uptr=&TIMING_SOURCE, .defintval=0, TYPE_UINT, 0}, \ {"tune-offset", CONFIG_HLP_TUNE_OFFSET, 0, .dblptr=&TUNE_OFFSET, .defintval=0, TYPE_DOUBLE, 0}, \ {"wait-for-sync", NULL, PARAMFLAG_BOOL, .iptr=&WAIT_FOR_SYNC, .defintval=0, TYPE_INT, 0}, \ - {"single-thread-enable", CONFIG_HLP_NOSNGLT, PARAMFLAG_BOOL, .iptr=&SINGLE_THREAD_FLAG, .defintval=0, TYPE_INT, 0}, \ {"C" , CONFIG_HLP_DLF, 0, .u64ptr=&(downlink_frequency[0][0]), .defuintval=0, TYPE_UINT64, 0}, \ {"CO" , CONFIG_HLP_ULF, 0, .iptr=&(uplink_frequency_offset[0][0]), .defintval=0, TYPE_INT, 0}, \ {"a" , CONFIG_HLP_CHOFF, 0, .iptr=&CHAIN_OFFSET, .defintval=0, TYPE_INT, 0}, \ @@ -227,7 +225,6 @@ extern int usrp_tx_thread; { .s5 = { NULL } }, \ { .s5 = { NULL } }, \ { .s5 = { NULL } }, \ - { .s5 = { NULL } }, \ { .s3a = { config_checkstr_assign_integer, \ {"MONOLITHIC", "PNF", "VNF", "AERIAL","UE_STUB_PNF","UE_STUB_OFFNET","STANDALONE_PNF"}, \ {NFAPI_MONOLITHIC, NFAPI_MODE_PNF, NFAPI_MODE_VNF, NFAPI_MODE_AERIAL,NFAPI_UE_STUB_PNF,NFAPI_UE_STUB_OFFNET,NFAPI_MODE_STANDALONE_PNF}, \ @@ -328,7 +325,6 @@ typedef struct { uint8_t usim_test; int emulate_rf; int wait_for_sync; //eNodeB only - int single_thread_flag; //eNodeB only int chain_offset; int numerology; int band; diff --git a/nfapi/oai_integration/aerial/fapi_vnf_p5.c b/nfapi/oai_integration/aerial/fapi_vnf_p5.c index 20236a2a85..796f4054d3 100644 --- a/nfapi/oai_integration/aerial/fapi_vnf_p5.c +++ b/nfapi/oai_integration/aerial/fapi_vnf_p5.c @@ -38,7 +38,6 @@ extern RAN_CONTEXT_t RC; extern UL_RCC_IND_t UL_RCC_INFO; -extern int single_thread_flag; extern uint16_t sf_ahead; extern uint16_t slot_ahead; diff --git a/nfapi/oai_integration/aerial/fapi_vnf_p7.c b/nfapi/oai_integration/aerial/fapi_vnf_p7.c index 42a12d3cb4..790df64f94 100644 --- a/nfapi/oai_integration/aerial/fapi_vnf_p7.c +++ b/nfapi/oai_integration/aerial/fapi_vnf_p7.c @@ -35,7 +35,6 @@ extern RAN_CONTEXT_t RC; extern UL_RCC_IND_t UL_RCC_INFO; -extern int single_thread_flag; extern uint16_t sf_ahead; int aerial_wake_gNB_rxtx(PHY_VARS_gNB *gNB, uint16_t sfn, uint16_t slot) diff --git a/nfapi/oai_integration/nfapi_vnf.c b/nfapi/oai_integration/nfapi_vnf.c index dc9dd46b5c..c553053cd8 100644 --- a/nfapi/oai_integration/nfapi_vnf.c +++ b/nfapi/oai_integration/nfapi_vnf.c @@ -200,18 +200,21 @@ int vnf_unpack_vendor_extension_tlv(nfapi_tl_t *tl, uint8_t **ppReadPackedMessag } void install_nr_schedule_handlers(NR_IF_Module_t *if_inst); void install_schedule_handlers(IF_Module_t *if_inst); -extern int single_thread_flag; extern uint16_t sf_ahead; void oai_create_enb(void) { int bodge_counter=0; PHY_VARS_eNB *eNB = RC.eNB[0][0]; - NFAPI_TRACE(NFAPI_TRACE_INFO, "[VNF] RC.eNB[0][0]. Mod_id:%d CC_id:%d nb_CC[0]:%d abstraction_flag:%d single_thread_flag:%d if_inst:%p\n", eNB->Mod_id, eNB->CC_id, RC.nb_CC[0], eNB->abstraction_flag, - eNB->single_thread_flag, eNB->if_inst); + NFAPI_TRACE(NFAPI_TRACE_INFO, + "[VNF] RC.eNB[0][0]. Mod_id:%d CC_id:%d nb_CC[0]:%d abstraction_flag:%d if_inst:%p\n", + eNB->Mod_id, + eNB->CC_id, + RC.nb_CC[0], + eNB->abstraction_flag, + eNB->if_inst); eNB->Mod_id = bodge_counter; eNB->CC_id = bodge_counter; eNB->abstraction_flag = 0; - eNB->single_thread_flag = 0;//single_thread_flag; RC.nb_CC[bodge_counter] = 1; if (eNB->if_inst==0) { @@ -260,7 +263,6 @@ void oai_create_gnb(void) { gNB->Mod_id = bodge_counter; gNB->CC_id = bodge_counter; gNB->abstraction_flag = 0; - gNB->single_thread_flag = 0;//single_thread_flag; RC.nb_nr_CC[bodge_counter] = 1; if (gNB->if_inst==0) { diff --git a/openair1/PHY/TOOLS/calibration_test.c b/openair1/PHY/TOOLS/calibration_test.c index fe4320eb6c..1bb97b5a2f 100644 --- a/openair1/PHY/TOOLS/calibration_test.c +++ b/openair1/PHY/TOOLS/calibration_test.c @@ -8,7 +8,6 @@ int oai_exit=false; unsigned int mmapped_dma=0; -int single_thread_flag; uint32_t timing_advance; int8_t threequarter_fs; uint64_t downlink_frequency[MAX_NUM_CCs][4]; diff --git a/openair1/PHY/defs_L1_NB_IoT.h b/openair1/PHY/defs_L1_NB_IoT.h index 3eb0ed044f..163e9e3d2b 100644 --- a/openair1/PHY/defs_L1_NB_IoT.h +++ b/openair1/PHY/defs_L1_NB_IoT.h @@ -488,7 +488,6 @@ typedef struct PHY_VARS_eNB_NB_IoT_s { eth_params_t eth_params_n; /// Ethernet parameters for fronthaul interface (upper L1 to Radio head) eth_params_t eth_params; - int single_thread_flag; openair0_rf_map rf_map; int abstraction_flag; openair0_timestamp ts_offset; diff --git a/openair1/PHY/defs_eNB.h b/openair1/PHY/defs_eNB.h index b872148dd2..a10956114a 100644 --- a/openair1/PHY/defs_eNB.h +++ b/openair1/PHY/defs_eNB.h @@ -519,7 +519,6 @@ typedef struct PHY_VARS_eNB_s { uint8_t CC_id; uint8_t configured; L1_proc_t proc; - int single_thread_flag; int abstraction_flag; int num_RU; RU_t *RU_list[MAX_NUM_RU_PER_eNB]; diff --git a/openair1/PHY/defs_gNB.h b/openair1/PHY/defs_gNB.h index 3cd3266a0a..5f76f90f8d 100644 --- a/openair1/PHY/defs_gNB.h +++ b/openair1/PHY/defs_gNB.h @@ -545,7 +545,6 @@ typedef struct PHY_VARS_gNB_s { uint8_t CC_id; uint8_t configured; gNB_L1_proc_t proc; - int single_thread_flag; int abstraction_flag; int num_RU; RU_t *RU_list[MAX_NUM_RU_PER_gNB]; From 2ff12533213995dbe4d82321f1abe21bb8201d2f Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Sun, 7 Jul 2024 13:34:04 +0200 Subject: [PATCH 3/7] Move init_nr_bler_table out of nr-uesoftmodem.c --- executables/nr-uesoftmodem.c | 60 +------------------ openair1/SIMULATION/NR_PHY/dlsim.c | 2 - openair1/SIMULATION/NR_PHY/prachsim.c | 2 - openair1/SIMULATION/NR_PHY/psbchsim.c | 1 - openair1/SIMULATION/NR_PHY/ulsim.c | 2 - openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c | 56 +++++++++++++++++ openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.h | 1 + 7 files changed, 59 insertions(+), 65 deletions(-) diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index a36667f2b7..d78fe26206 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -165,10 +165,6 @@ unsigned int NTN_UE_Koffset = 0; */ uint8_t abstraction_flag=0; -nr_bler_struct nr_bler_data[NR_NUM_MCS]; - -static void init_bler_table(char*); - /*---------------------BMC: timespec helpers -----------------------------*/ struct timespec min_diff_time = { .tv_sec = 0, .tv_nsec = 0 }; @@ -421,9 +417,9 @@ static void get_channel_model_mode(configmodule_interface_t *cfg) int num_xp_antennas = *GNBParams[GNB_PDSCH_ANTENNAPORTS_XP_IDX].iptr; if (num_xp_antennas == 2) - init_bler_table("NR_MIMO2x2_AWGN_RESULTS_DIR"); + init_nr_bler_table("NR_MIMO2x2_AWGN_RESULTS_DIR"); else - init_bler_table("NR_AWGN_RESULTS_DIR"); + init_nr_bler_table("NR_AWGN_RESULTS_DIR"); } void start_oai_nrue_threads() @@ -639,55 +635,3 @@ int main(int argc, char **argv) return 0; } -// Read in each MCS file and build BLER-SINR-TB table -static void init_bler_table(char *env_string) { - memset(nr_bler_data, 0, sizeof(nr_bler_data)); - - const char *awgn_results_dir = getenv(env_string); - if (!awgn_results_dir) { - LOG_W(NR_MAC, "No %s\n", env_string); - return; - } - - for (unsigned int i = 0; i < NR_NUM_MCS; i++) { - char fName[1024]; - snprintf(fName, sizeof(fName), "%s/mcs%u_awgn_5G.csv", awgn_results_dir, i); - FILE *pFile = fopen(fName, "r"); - if (!pFile) { - LOG_E(NR_MAC, "%s: open %s: %s\n", __func__, fName, strerror(errno)); - continue; - } - size_t bufSize = 1024; - char * line = NULL; - char * token; - char * temp = NULL; - int nlines = 0; - while (getline(&line, &bufSize, pFile) > 0) { - if (!strncmp(line, "SNR", 3)) { - continue; - } - - if (nlines > NR_NUM_SINR) { - LOG_E(NR_MAC, "BLER FILE ERROR - num lines greater than expected - file: %s\n", fName); - abort(); - } - - token = strtok_r(line, ";", &temp); - int ncols = 0; - while (token != NULL) { - if (ncols > NUM_BLER_COL) { - LOG_E(NR_MAC, "BLER FILE ERROR - num of cols greater than expected\n"); - abort(); - } - - nr_bler_data[i].bler_table[nlines][ncols] = strtof(token, NULL); - ncols++; - - token = strtok_r(NULL, ";", &temp); - } - nlines++; - } - nr_bler_data[i].length = nlines; - fclose(pFile); - } -} diff --git a/openair1/SIMULATION/NR_PHY/dlsim.c b/openair1/SIMULATION/NR_PHY/dlsim.c index d6be222a9b..7747ffed26 100644 --- a/openair1/SIMULATION/NR_PHY/dlsim.c +++ b/openair1/SIMULATION/NR_PHY/dlsim.c @@ -119,8 +119,6 @@ void nr_derive_key(int alg_type, uint8_t alg_id, const uint8_t key[32], uint8_t void processSlotTX(void *arg) {} -nr_bler_struct nr_bler_data[NR_NUM_MCS]; - // needed for some functions openair0_config_t openair0_cfg[MAX_CARDS]; void update_ptrs_config(NR_CellGroupConfig_t *secondaryCellGroup, uint16_t *rbSize, uint8_t *mcsIndex,int8_t *ptrs_arg); diff --git a/openair1/SIMULATION/NR_PHY/prachsim.c b/openair1/SIMULATION/NR_PHY/prachsim.c index 785e8bb96f..f0dfa8c5bc 100644 --- a/openair1/SIMULATION/NR_PHY/prachsim.c +++ b/openair1/SIMULATION/NR_PHY/prachsim.c @@ -114,8 +114,6 @@ nrUE_params_t *get_nrUE_params(void) { return &nrUE_params; } -nr_bler_struct nr_bler_data[NR_NUM_MCS]; - void processSlotTX(void *arg) {} int NB_UE_INST = 1; configmodule_interface_t *uniqCfg = NULL; diff --git a/openair1/SIMULATION/NR_PHY/psbchsim.c b/openair1/SIMULATION/NR_PHY/psbchsim.c index f56735809d..684ed6d783 100644 --- a/openair1/SIMULATION/NR_PHY/psbchsim.c +++ b/openair1/SIMULATION/NR_PHY/psbchsim.c @@ -80,7 +80,6 @@ int8_t nr_mac_rrc_data_req_ue(const module_id_t Mod_idP, return 0; } -nr_bler_struct nr_bler_data[NR_NUM_MCS]; void get_nrUE_params(void) { return; diff --git a/openair1/SIMULATION/NR_PHY/ulsim.c b/openair1/SIMULATION/NR_PHY/ulsim.c index b191301513..d5374774d8 100644 --- a/openair1/SIMULATION/NR_PHY/ulsim.c +++ b/openair1/SIMULATION/NR_PHY/ulsim.c @@ -121,8 +121,6 @@ int DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER(module_id_t module_idP, return 0; } -nr_bler_struct nr_bler_data[NR_NUM_MCS]; - void nr_derive_key(int alg_type, uint8_t alg_id, const uint8_t key[32], uint8_t out[16]) { (void)alg_type; diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c b/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c index 52aedfbccc..8a6bd3118c 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c +++ b/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.c @@ -23,6 +23,8 @@ #include "executables/softmodem-common.h" #include "NR_MAC_UE/mac_proto.h" + +nr_bler_struct nr_bler_data[NR_NUM_MCS]; slot_rnti_mcs_s slot_rnti_mcs[NUM_NFAPI_SLOT]; void read_channel_param(const nfapi_nr_dl_tti_pdsch_pdu_rel15_t * pdu, int slot, int index) { @@ -204,3 +206,57 @@ int get_mcs_from_sinr(nr_bler_struct *nr_bler_data, float sinr) LOG_E(NR_MAC, "Unable to get an MCS value.\n"); abort(); } + +// Read in each MCS file and build BLER-SINR-TB table +void init_nr_bler_table(const char *env_string) +{ + memset(nr_bler_data, 0, sizeof(nr_bler_data)); + + const char *awgn_results_dir = getenv(env_string); + if (!awgn_results_dir) { + LOG_W(NR_MAC, "No %s\n", env_string); + return; + } + + for (unsigned int i = 0; i < NR_NUM_MCS; i++) { + char fName[1024]; + snprintf(fName, sizeof(fName), "%s/mcs%u_awgn_5G.csv", awgn_results_dir, i); + FILE *pFile = fopen(fName, "r"); + if (!pFile) { + LOG_E(NR_MAC, "%s: open %s: %s\n", __func__, fName, strerror(errno)); + continue; + } + size_t bufSize = 1024; + char *line = NULL; + char *token; + char *temp = NULL; + int nlines = 0; + while (getline(&line, &bufSize, pFile) > 0) { + if (!strncmp(line, "SNR", 3)) { + continue; + } + + if (nlines > NR_NUM_SINR) { + LOG_E(NR_MAC, "BLER FILE ERROR - num lines greater than expected - file: %s\n", fName); + abort(); + } + + token = strtok_r(line, ";", &temp); + int ncols = 0; + while (token != NULL) { + if (ncols > NUM_BLER_COL) { + LOG_E(NR_MAC, "BLER FILE ERROR - num of cols greater than expected\n"); + abort(); + } + + nr_bler_data[i].bler_table[nlines][ncols] = strtof(token, NULL); + ncols++; + + token = strtok_r(NULL, ";", &temp); + } + nlines++; + } + nr_bler_data[i].length = nlines; + fclose(pFile); + } +} diff --git a/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.h b/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.h index 6658eec595..02907f9940 100644 --- a/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.h +++ b/openair2/NR_UE_PHY_INTERFACE/NR_Packet_Drop.h @@ -77,5 +77,6 @@ float get_bler_val(uint8_t mcs, int sinr); bool should_drop_transport_block(int slot, uint16_t rnti); bool is_channel_modeling(void); int get_mcs_from_sinr(nr_bler_struct *nr_bler_data, float sinr); +void init_nr_bler_table(const char *env_string); #endif From ead066d630fd07a52177de0698a7cbb344237149 Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Tue, 16 Jul 2024 21:44:06 +0200 Subject: [PATCH 4/7] Remove unused abstraction_flag from NR UE --- executables/nr-ue.c | 5 +---- executables/nr-uesoftmodem.c | 7 +------ executables/nr-uesoftmodem.h | 2 +- 3 files changed, 3 insertions(+), 11 deletions(-) diff --git a/executables/nr-ue.c b/executables/nr-ue.c index 447c99182b..37fc3390d8 100644 --- a/executables/nr-ue.c +++ b/executables/nr-ue.c @@ -138,11 +138,8 @@ static void *nrL1_UE_stats_thread(void *param) return NULL; } -void init_nr_ue_vars(PHY_VARS_NR_UE *ue, - uint8_t UE_id, - uint8_t abstraction_flag) +void init_nr_ue_vars(PHY_VARS_NR_UE *ue, uint8_t UE_id) { - int nb_connected_gNB = 1; ue->Mod_id = UE_id; diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index d78fe26206..a4e02a56aa 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -160,11 +160,6 @@ uint32_t N_RB_DL = 106; // NTN cellSpecificKoffset-r17, but in slots for DL SCS unsigned int NTN_UE_Koffset = 0; -/* see file openair2/LAYER2/MAC/main.c for why abstraction_flag is needed - * this is very hackish - find a proper solution - */ -uint8_t abstraction_flag=0; - /*---------------------BMC: timespec helpers -----------------------------*/ struct timespec min_diff_time = { .tv_sec = 0, .tv_nsec = 0 }; @@ -563,7 +558,7 @@ int main(int argc, char **argv) } UE[CC_id]->sl_mode = get_softmodem_params()->sl_mode; - init_nr_ue_vars(UE[CC_id], inst, abstraction_flag); + init_nr_ue_vars(UE[CC_id], inst); if (UE[CC_id]->sl_mode) { AssertFatal(UE[CC_id]->sl_mode == 2, "Only Sidelink mode 2 supported. Mode 1 not yet supported\n"); diff --git a/executables/nr-uesoftmodem.h b/executables/nr-uesoftmodem.h index 9505bfd6b3..5f01bfdf3a 100644 --- a/executables/nr-uesoftmodem.h +++ b/executables/nr-uesoftmodem.h @@ -103,6 +103,6 @@ extern void reset_opp_meas(void); extern void print_opp_meas(void); void start_oai_nrue_threads(void); void *UE_thread(void *arg); -void init_nr_ue_vars(PHY_VARS_NR_UE *ue, uint8_t UE_id, uint8_t abstraction_flag); +void init_nr_ue_vars(PHY_VARS_NR_UE *ue, uint8_t UE_id); void init_nrUE_standalone_thread(int ue_idx); #endif From 19033ca822cd86a699afd71d8645ab0b8a7e0596 Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Tue, 16 Jul 2024 21:48:37 +0200 Subject: [PATCH 5/7] Remove num_missed_slots from softmodems and some extra unused functions from NRUE. --- executables/lte-softmodem.c | 2 -- executables/lte-softmodem.h | 1 - executables/lte-uesoftmodem.c | 2 -- executables/nr-softmodem-common.h | 1 - executables/nr-softmodem.c | 2 -- executables/nr-uesoftmodem.c | 24 ------------------------ 6 files changed, 32 deletions(-) diff --git a/executables/lte-softmodem.c b/executables/lte-softmodem.c index e5530765a5..4b278bec4b 100644 --- a/executables/lte-softmodem.c +++ b/executables/lte-softmodem.c @@ -143,8 +143,6 @@ char channels[128] = "0"; int rx_input_level_dBm; int otg_enabled; -uint64_t num_missed_slots=0; // counter for the number of missed slots - RU_t **RCconfig_RU(int nb_RU,int nb_L1_inst,PHY_VARS_eNB ***eNB,uint64_t *ru_mask,pthread_mutex_t *ru_mutex,pthread_cond_t *ru_cond); RU_t **RCconfig_RU(int nb_RU,int nb_L1_inst,PHY_VARS_eNB ***eNB,uint64_t *ru_mask,pthread_mutex_t *ru_mutex,pthread_cond_t *ru_cond); diff --git a/executables/lte-softmodem.h b/executables/lte-softmodem.h index 2bd7576e16..678327ddb5 100644 --- a/executables/lte-softmodem.h +++ b/executables/lte-softmodem.h @@ -122,7 +122,6 @@ extern uint64_t downlink_frequency[MAX_NUM_CCs][4]; extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; extern int rx_input_level_dBm; -extern uint64_t num_missed_slots; // counter for the number of missed slots extern int oaisim_flag; extern int oai_exit; diff --git a/executables/lte-uesoftmodem.c b/executables/lte-uesoftmodem.c index 600722f651..9336698bac 100644 --- a/executables/lte-uesoftmodem.c +++ b/executables/lte-uesoftmodem.c @@ -143,8 +143,6 @@ int rx_input_level_dBm; static LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs]; -uint64_t num_missed_slots=0; // counter for the number of missed slots - // prototypes from function implemented in lte-ue.c, probably should be elsewhere in a include file. extern void init_UE_stub_single_thread(int nb_inst,int eMBMS_active, int uecap_xer_in, char *emul_iface); extern PHY_VARS_UE *init_ue_vars(LTE_DL_FRAME_PARMS *frame_parms, uint8_t UE_id, uint8_t abstraction_flag); diff --git a/executables/nr-softmodem-common.h b/executables/nr-softmodem-common.h index 56d92497cc..1ef5e4ecfe 100644 --- a/executables/nr-softmodem-common.h +++ b/executables/nr-softmodem-common.h @@ -134,7 +134,6 @@ extern uint64_t downlink_frequency[MAX_NUM_CCs][4]; extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; extern int rx_input_level_dBm; -extern uint64_t num_missed_slots; // counter for the number of missed slots extern int oaisim_flag; extern int oai_exit; diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index 958161252a..9f67b1cada 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -141,8 +141,6 @@ int rx_input_level_dBm; int otg_enabled; -uint64_t num_missed_slots=0; // counter for the number of missed slots - #include extern void reset_opp_meas(void); diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index a4e02a56aa..7575d37e3b 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -151,7 +151,6 @@ double cpuf; int chain_offset = 0; int card_offset = 0; -uint64_t num_missed_slots = 0; // counter for the number of missed slots int numerology = 0; int oaisim_flag = 0; int emulate_rf = 0; @@ -160,29 +159,6 @@ uint32_t N_RB_DL = 106; // NTN cellSpecificKoffset-r17, but in slots for DL SCS unsigned int NTN_UE_Koffset = 0; -/*---------------------BMC: timespec helpers -----------------------------*/ - -struct timespec min_diff_time = { .tv_sec = 0, .tv_nsec = 0 }; -struct timespec max_diff_time = { .tv_sec = 0, .tv_nsec = 0 }; - -struct timespec clock_difftime(struct timespec start, struct timespec end) { - struct timespec temp; - - if ((end.tv_nsec-start.tv_nsec)<0) { - temp.tv_sec = end.tv_sec-start.tv_sec-1; - temp.tv_nsec = 1000000000+end.tv_nsec-start.tv_nsec; - } else { - temp.tv_sec = end.tv_sec-start.tv_sec; - temp.tv_nsec = end.tv_nsec-start.tv_nsec; - } - - return temp; -} - -void print_difftimes(void) { - LOG_I(HW,"difftimes min = %lu ns ; max = %lu ns\n", min_diff_time.tv_nsec, max_diff_time.tv_nsec); -} - int create_tasks_nrue(uint32_t ue_nb) { LOG_D(NR_RRC, "%s(ue_nb:%d)\n", __FUNCTION__, ue_nb); itti_wait_ready(1); From b2a46e3b76f258b322c65c4870c3eff38d6bc35b Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Tue, 16 Jul 2024 21:59:01 +0200 Subject: [PATCH 6/7] Remove unused variables from softmodems, focusing on NR UE: chain_offset, card_offset, numerology, oaisim_flag, dumpframe, rx_input_level_dBm, emulate_rf --- executables/lte-enb.c | 2 -- executables/lte-softmodem.c | 1 - executables/lte-softmodem.h | 1 - executables/lte-uesoftmodem.c | 1 - executables/nr-softmodem-common.h | 3 --- executables/nr-softmodem.c | 2 -- executables/nr-uesoftmodem.c | 13 ++----------- 7 files changed, 2 insertions(+), 21 deletions(-) diff --git a/executables/lte-enb.c b/executables/lte-enb.c index 9c56c5f53e..8f50dfc63d 100644 --- a/executables/lte-enb.c +++ b/executables/lte-enb.c @@ -107,8 +107,6 @@ extern int oai_exit; extern int transmission_mode; -extern int oaisim_flag; - #include "executables/thread-common.h" //extern PARALLEL_CONF_t get_thread_parallel_conf(void); //extern WORKER_CONF_t get_thread_worker_conf(void); diff --git a/executables/lte-softmodem.c b/executables/lte-softmodem.c index 4b278bec4b..a895b7b614 100644 --- a/executables/lte-softmodem.c +++ b/executables/lte-softmodem.c @@ -157,7 +157,6 @@ eth_params_t *eth_params; double cpuf; -int oaisim_flag=0; /* hardcoded into gtp_itf.cpp */ bool sdap_data_req(protocol_ctxt_t *ctxt_p, diff --git a/executables/lte-softmodem.h b/executables/lte-softmodem.h index 678327ddb5..6bc6d27f21 100644 --- a/executables/lte-softmodem.h +++ b/executables/lte-softmodem.h @@ -123,7 +123,6 @@ extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; extern int rx_input_level_dBm; -extern int oaisim_flag; extern int oai_exit; extern openair0_config_t openair0_cfg[MAX_CARDS]; diff --git a/executables/lte-uesoftmodem.c b/executables/lte-uesoftmodem.c index 9336698bac..fa32d877f6 100644 --- a/executables/lte-uesoftmodem.c +++ b/executables/lte-uesoftmodem.c @@ -165,7 +165,6 @@ double cpuf; extern char uecap_xer[1024]; char uecap_xer_in=0; -int oaisim_flag=0; /* see file openair2/LAYER2/MAC/main.c for why abstraction_flag is needed * this is very hackish - find a proper solution diff --git a/executables/nr-softmodem-common.h b/executables/nr-softmodem-common.h index 1ef5e4ecfe..41c3b60682 100644 --- a/executables/nr-softmodem-common.h +++ b/executables/nr-softmodem-common.h @@ -133,9 +133,6 @@ extern int sync_var; extern uint64_t downlink_frequency[MAX_NUM_CCs][4]; extern int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; -extern int rx_input_level_dBm; - -extern int oaisim_flag; extern int oai_exit; extern openair0_config_t openair0_cfg[MAX_CARDS]; diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c index 9f67b1cada..f0a3e71464 100644 --- a/executables/nr-softmodem.c +++ b/executables/nr-softmodem.c @@ -137,8 +137,6 @@ uint8_t dci_Format = 0; uint8_t nb_antenna_tx = 1; uint8_t nb_antenna_rx = 1; -int rx_input_level_dBm; - int otg_enabled; #include diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 7575d37e3b..8e7ce84b2e 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -124,12 +124,10 @@ char *rrc_config_path = NULL; char *reconfig_file = NULL; char *rbconfig_file = NULL; char *uecap_file = NULL; -int dumpframe = 0; uint64_t downlink_frequency[MAX_NUM_CCs][4]; int32_t uplink_frequency_offset[MAX_NUM_CCs][4]; uint64_t sidelink_frequency[MAX_NUM_CCs][4]; -int rx_input_level_dBm; #if MAX_NUM_CCs == 1 rx_gain_t rx_gain_mode[MAX_NUM_CCs][4] = {{max_gain,max_gain,max_gain,max_gain}}; @@ -147,13 +145,6 @@ openair0_config_t openair0_cfg[MAX_CARDS]; int16_t node_synch_ref[MAX_NUM_CCs]; int otg_enabled; double cpuf; - - -int chain_offset = 0; -int card_offset = 0; -int numerology = 0; -int oaisim_flag = 0; -int emulate_rf = 0; uint32_t N_RB_DL = 106; // NTN cellSpecificKoffset-r17, but in slots for DL SCS @@ -251,8 +242,8 @@ void set_options(int CC_id, PHY_VARS_NR_UE *UE){ UE->rx_total_gain_dB = (int)rx_gain[CC_id][0] + rx_gain_off; UE->tx_total_gain_dB = (int)tx_gain[CC_id][0]; UE->tx_power_max_dBm = tx_max_power[CC_id]; - UE->rf_map.card = card_offset; - UE->rf_map.chain = CC_id + chain_offset; + UE->rf_map.card = 0; + UE->rf_map.chain = CC_id + 0; UE->max_ldpc_iterations = nrUE_params.max_ldpc_iterations; UE->ldpc_offload_enable = nrUE_params.ldpc_offload_flag; UE->UE_scan_carrier = nrUE_params.UE_scan_carrier; From 93280a3e75c759aa07aa0d50e4ee8b0c3b40584b Mon Sep 17 00:00:00 2001 From: Bartosz Podrygajlo Date: Tue, 16 Jul 2024 22:22:35 +0200 Subject: [PATCH 7/7] Remove unused nr_dlsch_demod_shift command line parameter from NR UE --- executables/nr-softmodem-common.h | 1 - executables/nr-uesoftmodem.c | 1 - executables/nr-uesoftmodem.h | 1 - openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c | 7 ------- 4 files changed, 10 deletions(-) diff --git a/executables/nr-softmodem-common.h b/executables/nr-softmodem-common.h index 41c3b60682..21dd057a64 100644 --- a/executables/nr-softmodem-common.h +++ b/executables/nr-softmodem-common.h @@ -49,7 +49,6 @@ #define CONFIG_HLP_UESCAN "set UE to scan all possible GSCN in current bandwidth\n" #define CONFIG_HLP_UEFO "set UE to enable estimation and compensation of frequency offset\n" #define CONFIG_HLP_DUMPFRAME "dump UE received frame to rxsig_frame0.dat and exit\n" -#define CONFIG_HLP_DLSHIFT "dynamic shift for LLR compuation for TM3/4 (default 0)\n" #define CONFIG_HLP_PHYTST "test UE phy layer, mac disabled\n" #define CONFIG_HLP_DORA "test gNB and UE with RA procedures\n" #define CONFIG_HLP_DMAMAP "use DMA memory mapping\n" diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c index 8e7ce84b2e..105ffdbbaa 100644 --- a/executables/nr-uesoftmodem.c +++ b/executables/nr-uesoftmodem.c @@ -111,7 +111,6 @@ RAN_CONTEXT_t RC; int oai_exit = 0; -extern int16_t nr_dlsch_demod_shift; static int tx_max_power[MAX_NUM_CCs] = {0}; int vcdflag = 0; diff --git a/executables/nr-uesoftmodem.h b/executables/nr-uesoftmodem.h index 5f01bfdf3a..9d14a8d74b 100644 --- a/executables/nr-uesoftmodem.h +++ b/executables/nr-uesoftmodem.h @@ -40,7 +40,6 @@ {"offset-divisor", CONFIG_HLP_OFFSET_DIV, 0, .uptr=&nrUE_params.ofdm_offset_divisor, .defuintval=8, TYPE_UINT32, 0}, \ {"max-ldpc-iterations", CONFIG_HLP_MAX_LDPC_ITERATIONS, 0, .iptr=&nrUE_params.max_ldpc_iterations, .defuintval=8, TYPE_UINT8, 0}, \ {"ldpc-offload-enable", CONFIG_HLP_LDPC_OFFLOAD, PARAMFLAG_BOOL, .iptr=&(nrUE_params.ldpc_offload_flag), .defintval=0, TYPE_INT, 0}, \ - {"nr-dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, .iptr=(int32_t *)&nr_dlsch_demod_shift, .defintval=0, TYPE_INT, 0}, \ {"V" , CONFIG_HLP_VCD, PARAMFLAG_BOOL, .iptr=&vcdflag, .defintval=0, TYPE_INT, 0}, \ {"uecap_file", CONFIG_HLP_UECAP_FILE, 0, .strptr=&uecap_file, .defstrval="./uecap_ports1.xml", TYPE_STRING, 0}, \ {"rrc_config_path", CONFIG_HLP_RRC_CFG_PATH, 0, .strptr=&rrc_config_path, .defstrval=NULL, TYPE_STRING, 0}, \ diff --git a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c index be69351d8f..7476309ad8 100644 --- a/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c +++ b/openair1/PHY/NR_UE_TRANSPORT/nr_dlsch_demodulation.c @@ -42,13 +42,6 @@ #include "openair1/PHY/TOOLS/phy_scope_interface.h" #include "nfapi/open-nFAPI/nfapi/public_inc/nfapi_nr_interface.h" -/* dynamic shift for LLR computation for TM3/4 - * set as command line argument, see lte-softmodem.c - * default value: 0 - */ -int32_t nr_dlsch_demod_shift = 0; -//int16_t interf_unaw_shift = 13; - // #define DEBUG_HARQ(a...) printf(a) #define DEBUG_HARQ(...) //#define DEBUG_DLSCH_DEMOD