Workaround for issues with NTN and NR UE concurrent UL processing
- Allow setting number of used UL actors in NR UE - Disable the second UL actor in NTN GEO testcase
This commit is contained in:
@@ -110,7 +110,7 @@ services:
|
|||||||
- NET_ADMIN # for interface bringup
|
- NET_ADMIN # for interface bringup
|
||||||
- NET_RAW # for ping
|
- NET_RAW # for ping
|
||||||
environment:
|
environment:
|
||||||
USE_ADDITIONAL_OPTIONS: --band 254 -C 2488400000 --CO -873500000 -r 25 --numerology 0 --ssb 60 --rfsim --rfsimulator.prop_delay 238.74 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time
|
USE_ADDITIONAL_OPTIONS: --band 254 -C 2488400000 --CO -873500000 -r 25 --numerology 0 --ssb 60 --rfsim --rfsimulator.prop_delay 238.74 --rfsimulator.serveraddr 192.168.71.140 --num-ul-actors 1 --log_config.global_log_options level,nocolor,time
|
||||||
depends_on:
|
depends_on:
|
||||||
- oai-gnb
|
- oai-gnb
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
+3
-1
@@ -104,7 +104,9 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg);
|
|||||||
static void start_process_slot_tx(void* arg) {
|
static void start_process_slot_tx(void* arg) {
|
||||||
notifiedFIFO_elt_t *newTx = arg;
|
notifiedFIFO_elt_t *newTx = arg;
|
||||||
nr_rxtx_thread_data_t *curMsgTx = NotifiedFifoData(newTx);
|
nr_rxtx_thread_data_t *curMsgTx = NotifiedFifoData(newTx);
|
||||||
pushNotifiedFIFO(&curMsgTx->UE->ul_actors[curMsgTx->proc.nr_slot_tx % NUM_UL_ACTORS].fifo, newTx);
|
int num_ul_actors_to_use =
|
||||||
|
get_nrUE_params()->num_ul_actors == 0 ? NUM_UL_ACTORS : min(get_nrUE_params()->num_ul_actors, NUM_UL_ACTORS);
|
||||||
|
pushNotifiedFIFO(&curMsgTx->UE->ul_actors[curMsgTx->proc.nr_slot_tx % num_ul_actors_to_use].fifo, newTx);
|
||||||
}
|
}
|
||||||
|
|
||||||
static size_t dump_L1_UE_meas_stats(PHY_VARS_NR_UE *ue, char *output, size_t max_len)
|
static size_t dump_L1_UE_meas_stats(PHY_VARS_NR_UE *ue, char *output, size_t max_len)
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
#define CONFIG_HLP_NTN_INIT_TIME_DRIFT "Initial NTN DL time drift (feeder link and service link), given in µs/s\n"
|
#define CONFIG_HLP_NTN_INIT_TIME_DRIFT "Initial NTN DL time drift (feeder link and service link), given in µs/s\n"
|
||||||
#define CONFIG_HLP_AUTONOMOUS_TA "Autonomously update TA based on DL drift (useful if main contribution to DL drift is movement, e.g. LEO satellite)\n"
|
#define CONFIG_HLP_AUTONOMOUS_TA "Autonomously update TA based on DL drift (useful if main contribution to DL drift is movement, e.g. LEO satellite)\n"
|
||||||
#define CONFIG_HLP_AGC "Rx Gain control used for UE\n"
|
#define CONFIG_HLP_AGC "Rx Gain control used for UE\n"
|
||||||
|
#define CONFIG_HLP_NUM_UL_ACTORS "Number of UL actors to use. Set to 0 to use the default value\n"
|
||||||
|
|
||||||
/***************************************************************************************************************************************/
|
/***************************************************************************************************************************************/
|
||||||
/* command line options definitions, CMDLINE_XXXX_DESC macros are used to initialize paramdef_t arrays which are then used as argument
|
/* command line options definitions, CMDLINE_XXXX_DESC macros are used to initialize paramdef_t arrays which are then used as argument
|
||||||
@@ -66,6 +67,7 @@
|
|||||||
{"ntn-initial-time-drift", CONFIG_HLP_NTN_INIT_TIME_DRIFT, 0, .dblptr=&(nrUE_params.ntn_init_time_drift), .defdblval=0.0, TYPE_DOUBLE, 0}, \
|
{"ntn-initial-time-drift", CONFIG_HLP_NTN_INIT_TIME_DRIFT, 0, .dblptr=&(nrUE_params.ntn_init_time_drift), .defdblval=0.0, TYPE_DOUBLE, 0}, \
|
||||||
{"autonomous-ta", CONFIG_HLP_AUTONOMOUS_TA, PARAMFLAG_BOOL, .iptr=&(nrUE_params.autonomous_ta), .defintval=0, TYPE_INT, 0}, \
|
{"autonomous-ta", CONFIG_HLP_AUTONOMOUS_TA, PARAMFLAG_BOOL, .iptr=&(nrUE_params.autonomous_ta), .defintval=0, TYPE_INT, 0}, \
|
||||||
{"agc", CONFIG_HLP_AGC, PARAMFLAG_BOOL, .iptr=&(nrUE_params.agc), .defintval=0, TYPE_INT, 0}, \
|
{"agc", CONFIG_HLP_AGC, PARAMFLAG_BOOL, .iptr=&(nrUE_params.agc), .defintval=0, TYPE_INT, 0}, \
|
||||||
|
{"num-ul-actors", CONFIG_HLP_NUM_UL_ACTORS, 0, .iptr=&nrUE_params.num_ul_actors, .defintval=0, TYPE_INT, 0}, \
|
||||||
}
|
}
|
||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
@@ -101,6 +103,7 @@ typedef struct {
|
|||||||
double rx_gain_off;
|
double rx_gain_off;
|
||||||
int vcdflag;
|
int vcdflag;
|
||||||
int tx_max_power;
|
int tx_max_power;
|
||||||
|
int num_ul_actors;
|
||||||
} nrUE_params_t;
|
} nrUE_params_t;
|
||||||
extern uint64_t get_nrUE_optmask(void);
|
extern uint64_t get_nrUE_optmask(void);
|
||||||
extern uint64_t set_nrUE_optmask(uint64_t bitmask);
|
extern uint64_t set_nrUE_optmask(uint64_t bitmask);
|
||||||
|
|||||||
Reference in New Issue
Block a user