Change in osmo-gsm-tester[master]: enb: add QAM64 support for UL

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

pespin gerrit-no-reply at lists.osmocom.org
Mon Nov 30 14:09:31 UTC 2020


pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21216 )

Change subject: enb: add QAM64 support for UL
......................................................................

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
---
M src/osmo_gsm_tester/core/schema.py
M src/osmo_gsm_tester/obj/enb_srs.py
M src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl
M src/osmo_gsm_tester/templates/srsue.conf.tmpl
A sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf
5 files changed, 25 insertions(+), 12 deletions(-)

Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved



diff --git a/src/osmo_gsm_tester/core/schema.py b/src/osmo_gsm_tester/core/schema.py
index 9d26b0f..d56d6ec 100644
--- a/src/osmo_gsm_tester/core/schema.py
+++ b/src/osmo_gsm_tester/core/schema.py
@@ -111,7 +111,7 @@
     raise ValueError('Unknown Cipher value: %r' % val)
 
 def modem_feature(val):
-    if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', 'dl_qam256'):
+    if val in ('sms', 'gprs', 'voice', 'ussd', 'sim', '2g', '3g', '4g', 'dl_qam256', 'ul_qam64'):
         return True
     raise ValueError('Unknown Modem Feature: %r' % val)
 
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()]
diff --git a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl
index 6d178c6..c738480 100644
--- a/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsenb_sib.conf.tmpl
@@ -66,7 +66,7 @@
             n_sb = 1;
             hopping_mode = "inter-subframe";
             pusch_hopping_offset = 2;
-            enable_64_qam = false; // 64QAM PUSCH is not currently enabled
+            enable_64_qam = ${enb.enable_ul_qam64};
             ul_rs =
             {
                 cyclic_shift = 0;
diff --git a/src/osmo_gsm_tester/templates/srsue.conf.tmpl b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
index 31642cd..120b938 100644
--- a/src/osmo_gsm_tester/templates/srsue.conf.tmpl
+++ b/src/osmo_gsm_tester/templates/srsue.conf.tmpl
@@ -150,10 +150,11 @@
 % if int(ue.num_carriers) > 1:
 ue_category       = 7
 release           = 10
-% elif "dl_qam256" in ue.features:
-ue_category       = 7
+% elif "dl_qam256" in ue.features or "ul_qam64" in ue.features:
+ue_category       = 8
 release           = 13
 ue_category_dl    = 14
+ue_category_ul    = 5
 % else:
 #ue_category       = 4
 #release           = 8
diff --git a/sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf b/sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf
new file mode 100644
index 0000000..446c966
--- /dev/null
+++ b/sysmocom/scenarios/cfg-enb-enable-ul-qam64.conf
@@ -0,0 +1,3 @@
+config:
+  enb:
+    enable_ul_qam64: true
\ No newline at end of file

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/21216
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-gsm-tester
Gerrit-Branch: master
Gerrit-Change-Id: I6ac2c9989a761e91b93d76c2507f55f0140b202d
Gerrit-Change-Number: 21216
Gerrit-PatchSet: 3
Gerrit-Owner: srs_andre <andre at softwareradiosystems.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201130/9e0d49cd/attachment.htm>


More information about the gerrit-log mailing list