enb: add QAM64 support for UL
* add new UE feature
* enable in srsue.conf.templ
* add new table for maximum rates
* add config scenario to enable SIB option for QAM64
Change-Id: I6ac2c9989a761e91b93d76c2507f55f0140b202d
diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py
index 8319ba4..7fde719 100644
--- a/src/osmo_gsm_tester/obj/enb_srs.py
+++ b/src/osmo_gsm_tester/obj/enb_srs.py
@@ -31,6 +31,7 @@
def on_register_schemas():
config_schema = {
'enable_pcap': schema.BOOL_STR,
+ 'enable_ul_qam64': schema.BOOL_STR,
'log_all_level': schema.STR,
}
schema.register_config_schema('enb', config_schema)
@@ -191,6 +192,7 @@
self.enable_pcap = util.str2bool(values['enb'].get('enable_pcap', 'false'))
config.overlay(values, dict(enb={'enable_pcap': self.enable_pcap}))
+ config.overlay(values, dict(enb={'enable_ul_qam64': util.str2bool(values['enb'].get('enable_ul_qam64', 'false'))}))
config.overlay(values, dict(enb={'enable_dl_awgn': util.str2bool(values['enb'].get('enable_dl_awgn', 'false'))}))
config.overlay(values, dict(enb={'rf_dev_sync': values['enb'].get('rf_dev_sync', None)}))
@@ -269,8 +271,6 @@
return rfemu_obj
def ue_max_rate(self, downlink=True, num_carriers=1):
-
-
# The max rate for a single UE per PRB configuration in TM1 with MCS 28
if 'dl_qam256' in self.ue.features():
max_phy_rate_tm1_dl = {6: 5.9e6,
@@ -286,12 +286,21 @@
50: 36e6,
75: 55e6,
100: 75e6}
- max_phy_rate_tm1_ul = { 6 : 1.7e6,
- 15 : 4.7e6,
- 25 : 10e6,
- 50 : 23e6,
- 75 : 34e6,
- 100 : 51e6 }
+
+ if 'ul_qam64' in self.ue.features():
+ max_phy_rate_tm1_ul = { 6 : 2.7e6,
+ 15 : 6.5e6,
+ 25 : 14e6,
+ 50 : 32e6,
+ 75 : 34e6,
+ 100 : 70e6 }
+ else:
+ max_phy_rate_tm1_ul = { 6 : 1.7e6,
+ 15 : 4.7e6,
+ 25 : 10e6,
+ 50 : 23e6,
+ 75 : 34e6,
+ 100 : 51e6 }
if downlink:
max_rate = max_phy_rate_tm1_dl[self.num_prb()]