* fix issues foe multi UE scenarios in MAC
* add target MCS for DL and UL for LTE softmodem * make RLC message print for ITTI an option git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5762 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -301,6 +301,10 @@ static int mbox_bounds[20] = {8,16,24,30,38,46,54,60,68,7
|
||||
static LTE_DL_FRAME_PARMS *frame_parms[MAX_NUM_CCs];
|
||||
|
||||
int multi_thread=1;
|
||||
// this allows
|
||||
uint32_t target_dl_mcs = 28;
|
||||
uint32_t target_ul_mcs = 8;
|
||||
|
||||
|
||||
int16_t glog_level=LOG_DEBUG;
|
||||
int16_t glog_verbosity=LOG_MED;
|
||||
@@ -1735,7 +1739,7 @@ static void get_options (int argc, char **argv) {
|
||||
{"no-L2-connect", no_argument, NULL, LONG_OPTION_NO_L2_CONNECT},
|
||||
{NULL, 0, NULL, 0}};
|
||||
|
||||
while ((c = getopt_long (argc, argv, "C:dK:g:G:qO:SUVRMr:s:",long_options,NULL)) != -1) {
|
||||
while ((c = getopt_long (argc, argv, "C:dK:g:G:qO:m:SUVRMr:s:t:",long_options,NULL)) != -1) {
|
||||
switch (c) {
|
||||
case LONG_OPTION_ULSCH_MAX_CONSECUTIVE_ERRORS:
|
||||
ULSCH_max_consecutive_errors = atoi(optarg);
|
||||
@@ -1805,6 +1809,13 @@ static void get_options (int argc, char **argv) {
|
||||
case 'U':
|
||||
UE_flag = 1;
|
||||
break;
|
||||
|
||||
case 'm':
|
||||
target_dl_mcs = atoi (optarg);
|
||||
break;
|
||||
case 't':
|
||||
target_ul_mcs = atoi (optarg);
|
||||
break;
|
||||
|
||||
case 'V':
|
||||
ouput_vcd = 1;
|
||||
@@ -2240,9 +2251,9 @@ int main(int argc, char **argv) {
|
||||
NB_INST=1;
|
||||
|
||||
openair_daq_vars.ue_dl_rb_alloc=0x1fff;
|
||||
openair_daq_vars.target_ue_dl_mcs=20;
|
||||
openair_daq_vars.target_ue_dl_mcs=target_dl_mcs;
|
||||
openair_daq_vars.ue_ul_nb_rb=6;
|
||||
openair_daq_vars.target_ue_ul_mcs=6;
|
||||
openair_daq_vars.target_ue_ul_mcs=target_ul_mcs;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
|
||||
<TOPOLOGY_CONFIG>
|
||||
<AREA>
|
||||
<X_m>500</X_m>
|
||||
<Y_m>500</Y_m>
|
||||
<X_m>1000</X_m>
|
||||
<Y_m>1000</Y_m>
|
||||
</AREA>
|
||||
<MOBILITY>
|
||||
<UE_MOBILITY>
|
||||
@@ -77,8 +77,8 @@
|
||||
<OWD_RADIO_ACCESS>enable</OWD_RADIO_ACCESS> <!-- option: enable, disable. If enable owd curve shows the one way radio access delay, else it shows end to end owd -->
|
||||
</PERFORMANCE_METRICS>
|
||||
<LOG> <!-- set the global log level -->
|
||||
<LEVEL>info</LEVEL>
|
||||
<VERBOSITY>low</VERBOSITY>
|
||||
<LEVEL>debug</LEVEL>
|
||||
<VERBOSITY>medium</VERBOSITY>
|
||||
<INTERVAL>1</INTERVAL>
|
||||
</LOG>
|
||||
<SEED_VALUE>0</SEED_VALUE> <!-- value 0 means randomly generated by OAI -->
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
<OAI_EMULATION>
|
||||
<ENVIRONMENT_SYSTEM_CONFIG>
|
||||
<FADING>
|
||||
<FREE_SPACE_MODEL_PARAMETERS>
|
||||
<PATHLOSS_EXPONENT>2.0</PATHLOSS_EXPONENT>
|
||||
</FREE_SPACE_MODEL_PARAMETERS>
|
||||
<SMALL_SCALE>AWGN</SMALL_SCALE>
|
||||
</FADING>
|
||||
<SYSTEM_FREQUENCY_GHz>1.9</SYSTEM_FREQUENCY_GHz>
|
||||
</ENVIRONMENT_SYSTEM_CONFIG>
|
||||
|
||||
<TOPOLOGY_CONFIG>
|
||||
<AREA>
|
||||
<X_m>1000</X_m>
|
||||
<Y_m>1000</Y_m>
|
||||
</AREA>
|
||||
<MOBILITY>
|
||||
<UE_MOBILITY>
|
||||
<RANDOM_UE_DISTRIBUTION>
|
||||
<NUMBER_OF_NODES>1</NUMBER_OF_NODES>
|
||||
</RANDOM_UE_DISTRIBUTION>
|
||||
<UE_MOBILITY_TYPE>STATIC</UE_MOBILITY_TYPE> <!-- STATIC -->
|
||||
</UE_MOBILITY>
|
||||
<eNB_MOBILITY>
|
||||
<eNB_INITIAL_DISTRIBUTION>random</eNB_INITIAL_DISTRIBUTION>
|
||||
<RANDOM_eNB_DISTRIBUTION>
|
||||
<NUMBER_OF_CELLS>1</NUMBER_OF_CELLS>
|
||||
</RANDOM_eNB_DISTRIBUTION>
|
||||
<eNB_MOBILITY_TYPE>STATIC</eNB_MOBILITY_TYPE>
|
||||
</eNB_MOBILITY>
|
||||
</MOBILITY>
|
||||
</TOPOLOGY_CONFIG>
|
||||
|
||||
<APPLICATION_CONFIG>
|
||||
<!-- Basic configuration of a customized traffic : one state-->
|
||||
<CUSTOMIZED_TRAFFIC>
|
||||
<SOURCE_ID>0</SOURCE_ID>
|
||||
<TRANSPORT_PROTOCOL>udp</TRANSPORT_PROTOCOL> <!-- OPTIONS: tcp (default), udp -->
|
||||
<IP_VERSION>ipv4</IP_VERSION> <!-- OPTIONS: ipv4 (default), ipv6 -->
|
||||
<DESTINATION_ID>1</DESTINATION_ID>
|
||||
<FLOW_START_ms>1000</FLOW_START_ms> <!-- indicates the start time of the app or the actual duration of the traffic-->
|
||||
<FLOW_DURATION_ms>10000</FLOW_DURATION_ms> <!-- indicates the start time of the app or the actual duration of the traffic-->
|
||||
|
||||
<BACKGROUND_TRAFFIC>disable</BACKGROUND_TRAFFIC> <!-- options: enable, disable. If enable, it generates a background traffic corresponding to the traffic direction-->
|
||||
<IDT_DIST>fixed</IDT_DIST> <!-- available distributions: none (default), uniform, poission, gaussian, exponential,pareto, cauchy,fixed, weibull, gammav-->
|
||||
<IDT_MIN_ms>1</IDT_MIN_ms> <!--Minimum IDT values in milliseconds-->
|
||||
<IDT_MAX_ms>1</IDT_MAX_ms> <!--Minimum IDT values in milliseconds-->
|
||||
<SIZE_DIST>fixed</SIZE_DIST> <!-- available distributions: none (default), uniform, poission, gaussian, exponential,pareto, cauchy,fixed, weibull, gammav-->
|
||||
<SIZE_MIN_byte>1000</SIZE_MIN_byte> <!--Minimum PAYLOAD size values in bytes-->
|
||||
<SIZE_MAX_byte>2000</SIZE_MAX_byte> <!--MAximum PAYLOAD size values in bytes-->
|
||||
</CUSTOMIZED_TRAFFIC>
|
||||
|
||||
<CUSTOMIZED_TRAFFIC>
|
||||
<SOURCE_ID>1</SOURCE_ID>
|
||||
<TRANSPORT_PROTOCOL>udp</TRANSPORT_PROTOCOL> <!-- OPTIONS: tcp (default), udp -->
|
||||
<IP_VERSION>ipv6</IP_VERSION> <!-- OPTIONS: ipv4 (default), ipv6 -->
|
||||
<DESTINATION_ID>0</DESTINATION_ID>
|
||||
<FLOW_START_ms>1000</FLOW_START_ms> <!-- indicates the start time of the app or the actual duration of the traffic-->
|
||||
<FLOW_DURATION_ms>10000</FLOW_DURATION_ms> <!-- indicates the start time of the app or the actual duration of the traffic-->
|
||||
<BACKGROUND_TRAFFIC>disable</BACKGROUND_TRAFFIC> <!-- options: enable, disable. If enable, it generates a background traffic corresponding to the traffic direction-->
|
||||
<IDT_DIST>uniform</IDT_DIST> <!-- available distributions: none (default), uniform, poission, gaussian, exponential,pareto, cauchy,fixed, weibull, gammav-->
|
||||
<IDT_MIN_ms>100</IDT_MIN_ms> <!--Minimum IDT values in milliseconds-->
|
||||
<IDT_MAX_ms>150</IDT_MAX_ms> <!--Minimum IDT values in milliseconds-->
|
||||
<SIZE_DIST>uniform</SIZE_DIST> <!-- available distributions: none (default), uniform, poission, gaussian, exponential,pareto, cauchy,fixed, weibull, gammav-->
|
||||
<SIZE_MIN_byte>256</SIZE_MIN_byte> <!--Minimum PAYLOAD size values in bytes-->
|
||||
<SIZE_MAX_byte>768</SIZE_MAX_byte> <!--Maximum PAYLOAD size values in bytes-->
|
||||
</CUSTOMIZED_TRAFFIC>
|
||||
|
||||
</APPLICATION_CONFIG>
|
||||
|
||||
<EMULATION_CONFIG>
|
||||
<EMULATION_TIME_ms>15000</EMULATION_TIME_ms> <!--if 0 set to infinity-->
|
||||
<CURVE>disable</CURVE> <!-- option: enable, disable. If CURVE is enabled, graphes are ploted in real time (UL and DL) of WOD and throughput measurement for each packet -->
|
||||
<PERFORMANCE_METRICS>
|
||||
<THROUGHPUT>enable</THROUGHPUT> <!-- option: enable, disable. If enable, throughput measurements are plotted in real time-->
|
||||
<LATENCY>enable</LATENCY> <!-- option: enable, disable. If enable, latency measurements are plotted in real time-->
|
||||
<OWD_RADIO_ACCESS>enable</OWD_RADIO_ACCESS> <!-- option: enable, disable. If enable owd curve shows the one way radio access delay, else it shows end to end owd -->
|
||||
</PERFORMANCE_METRICS>
|
||||
<LOG> <!-- set the global log level -->
|
||||
<LEVEL>debug</LEVEL>
|
||||
<VERBOSITY>medium</VERBOSITY>
|
||||
<INTERVAL>1</INTERVAL>
|
||||
</LOG>
|
||||
<SEED_VALUE>0</SEED_VALUE> <!-- value 0 means randomly generated by OAI -->
|
||||
|
||||
</EMULATION_CONFIG>
|
||||
|
||||
<PROFILE>MEDIEVAL_OTG_1</PROFILE>
|
||||
</OAI_EMULATION>
|
||||
|
||||
@@ -19,6 +19,7 @@ linux = $(shell if [ `uname` = "Linux" ] ; then echo "1" ; else echo "0" ; fi)
|
||||
|
||||
ifdef DEBUG
|
||||
CFLAGS += -g -ggdb -DDEBUG_PHY -DDEBUG_MEAS
|
||||
CFLAGS += -DTRACE_RLC_UM_PDU
|
||||
else
|
||||
CFLAGE += -O2
|
||||
endif
|
||||
|
||||
@@ -91,7 +91,7 @@ int for_times = 0;
|
||||
static char *conf_config_file_name = NULL;
|
||||
uint16_t Nid_cell = 0; //needed by init_lte_vars
|
||||
int nb_antennas_rx = 2; // //
|
||||
uint8_t target_dl_mcs = 0; // not set
|
||||
uint8_t target_dl_mcs = 16; // max mcs used by MAC scheduler
|
||||
uint8_t rate_adaptation_flag = 0;
|
||||
uint8_t set_sinr = 0;
|
||||
double snr_dB=0, sinr_dB=0;
|
||||
@@ -468,6 +468,7 @@ void get_simulation_options(int argc, char *argv[]) {
|
||||
|
||||
case 'm':
|
||||
target_dl_mcs = atoi (optarg);
|
||||
printf("Max target downlink MCS used by MAC scheduler is set to %d\n", target_dl_mcs);
|
||||
break;
|
||||
|
||||
case 'M':
|
||||
@@ -559,7 +560,8 @@ void get_simulation_options(int argc, char *argv[]) {
|
||||
|
||||
case 't':
|
||||
target_ul_mcs = atoi (optarg);
|
||||
break;
|
||||
printf("Max target uplink MCS used by MAC scheduler is set to %d\n", target_ul_mcs);
|
||||
break;
|
||||
|
||||
case 'T':
|
||||
oai_emulation.info.otg_enabled = 1;
|
||||
@@ -840,8 +842,8 @@ void init_openair1(void) {
|
||||
openair_daq_vars.rx_gain_mode = DAQ_AGC_ON;
|
||||
|
||||
openair_daq_vars.dlsch_transmission_mode = oai_emulation.info.transmission_mode[0];
|
||||
|
||||
openair_daq_vars.target_ue_dl_mcs = target_dl_mcs;
|
||||
#warning "NN->FK: OAI EMU channel abstraction does not work for MCS higher than"
|
||||
openair_daq_vars.target_ue_dl_mcs = cmin(target_dl_mcs,16);
|
||||
openair_daq_vars.target_ue_ul_mcs = target_ul_mcs;
|
||||
openair_daq_vars.ue_dl_rb_alloc=0x1fff;
|
||||
openair_daq_vars.ue_ul_nb_rb=6;
|
||||
|
||||
@@ -77,7 +77,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug):
|
||||
oai.send('make cleanall;')
|
||||
oai.send('make cleanasn1;')
|
||||
oai.send('rm -f ./oaisim.rel8.'+host)
|
||||
oai.send_expect_false('make -j4' + tee, makerr1, 1500)
|
||||
oai.send_expect_false('make -j4 JF=1' + tee, makerr1, 1500)
|
||||
oai.send('cp ./oaisim ./oaisim.rel8.'+host)
|
||||
except log.err, e:
|
||||
log.fail(case, test, name, conf, e.value, diag, logfile,trace)
|
||||
@@ -99,7 +99,7 @@ def execute(oai, user, pw, host, logfile,logdir,debug):
|
||||
oai.send_expect_false('make nasmesh_fix' + tee, makerr1, 60)
|
||||
trace = logdir + '/log_' + case + test + '_2.txt;'
|
||||
tee = ' 2>&1 | tee ' + trace
|
||||
oai.send_expect_false('make NAS=1 -j4' + tee, makerr1, 1500)
|
||||
oai.send_expect_false('make NAS=1 JF=1 -j4' + tee, makerr1, 1500)
|
||||
oai.send('cp ./oaisim ./oaisim.rel8.nas.'+host)
|
||||
|
||||
except log.err, e:
|
||||
|
||||
Reference in New Issue
Block a user