<p>srs_andre <strong>submitted</strong> this change.</p><p><a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534">View Change</a></p><div style="white-space:pre-wrap">Approvals:
  Jenkins Builder: Verified
  pespin: Looks good to me, approved

</div><pre style="font-family: monospace,monospace; white-space: pre-wrap;">enb: refactor ue_max_rate() and move helper function back to sub classes<br><br>It turned out that the Amarisoft and SRS eNB scheduler produces<br>slightly different maximum data rates for both UL and DL.<br><br>Change-Id: I30fa7006906d101c53ba586fb06bced3945aa960<br>---<br>M src/osmo_gsm_tester/obj/enb.py<br>M src/osmo_gsm_tester/obj/enb_amarisoft.py<br>M src/osmo_gsm_tester/obj/enb_srs.py<br>3 files changed, 50 insertions(+), 25 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py</span><br><span>index 6814ee8..699b66f 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/enb.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/enb.py</span><br><span>@@ -220,29 +220,4 @@</span><br><span>     def addr(self):</span><br><span>         return self._run_node.run_addr()</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-    def ue_max_rate(self, downlink=True):</span><br><span style="color: hsl(0, 100%, 40%);">-        # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64</span><br><span style="color: hsl(0, 100%, 40%);">-        max_phy_rate_tm1_dl = { 6 : 3.5e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               15 : 11e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               25 : 18e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               50 : 36e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               75 : 55e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               100 : 75e6 }</span><br><span style="color: hsl(0, 100%, 40%);">-        max_phy_rate_tm1_ul = { 6 : 0.9e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               15 : 4.7e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               25 : 10e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               50 : 23e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               75 : 34e6,</span><br><span style="color: hsl(0, 100%, 40%);">-                               100 : 51e6 }</span><br><span style="color: hsl(0, 100%, 40%);">-        if downlink:</span><br><span style="color: hsl(0, 100%, 40%);">-            max_rate = max_phy_rate_tm1_dl[self.num_prb()]</span><br><span style="color: hsl(0, 100%, 40%);">-        else:</span><br><span style="color: hsl(0, 100%, 40%);">-            max_rate = max_phy_rate_tm1_ul[self.num_prb()]</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        #TODO: calculate for non-standard prb numbers.</span><br><span style="color: hsl(0, 100%, 40%);">-        if downlink and self._txmode > 2:</span><br><span style="color: hsl(0, 100%, 40%);">-            max_rate *= 2</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span style="color: hsl(0, 100%, 40%);">-        return max_rate</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> # vim: expandtab tabstop=4 shiftwidth=4</span><br><span>diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py</span><br><span>index 8f624e6..3602f31 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/enb_amarisoft.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py</span><br><span>@@ -233,4 +233,29 @@</span><br><span>         rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg)</span><br><span>         return rfemu_obj</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def ue_max_rate(self, downlink=True):</span><br><span style="color: hsl(120, 100%, 40%);">+        # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64</span><br><span style="color: hsl(120, 100%, 40%);">+        max_phy_rate_tm1_dl = { 6 : 3.2e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               15 : 9.2e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               25 : 18e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               50 : 36e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               75 : 55e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               100 : 75e6 }</span><br><span style="color: hsl(120, 100%, 40%);">+        max_phy_rate_tm1_ul = { 6 : 2.0e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               15 : 5.1e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               25 : 10e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               50 : 21e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               75 : 32e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               100 : 51e6 }</span><br><span style="color: hsl(120, 100%, 40%);">+        if downlink:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_rate = max_phy_rate_tm1_dl[self.num_prb()]</span><br><span style="color: hsl(120, 100%, 40%);">+        else:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_rate = max_phy_rate_tm1_ul[self.num_prb()]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        # MIMO only supported for Downlink</span><br><span style="color: hsl(120, 100%, 40%);">+        if downlink and self._txmode > 2:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_rate *= 2</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        return max_rate</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # vim: expandtab tabstop=4 shiftwidth=4</span><br><span>diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py</span><br><span>index e192530..33ee16b 100644</span><br><span>--- a/src/osmo_gsm_tester/obj/enb_srs.py</span><br><span>+++ b/src/osmo_gsm_tester/obj/enb_srs.py</span><br><span>@@ -232,4 +232,29 @@</span><br><span>         rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg)</span><br><span>         return rfemu_obj</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+    def ue_max_rate(self, downlink=True):</span><br><span style="color: hsl(120, 100%, 40%);">+        # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64</span><br><span style="color: hsl(120, 100%, 40%);">+        max_phy_rate_tm1_dl = { 6 : 3.5e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               15 : 11e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               25 : 18e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               50 : 36e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               75 : 55e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               100 : 75e6 }</span><br><span style="color: hsl(120, 100%, 40%);">+        max_phy_rate_tm1_ul = { 6 : 1.7e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               15 : 4.7e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               25 : 10e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               50 : 23e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               75 : 34e6,</span><br><span style="color: hsl(120, 100%, 40%);">+                               100 : 51e6 }</span><br><span style="color: hsl(120, 100%, 40%);">+        if downlink:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_rate = max_phy_rate_tm1_dl[self.num_prb()]</span><br><span style="color: hsl(120, 100%, 40%);">+        else:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_rate = max_phy_rate_tm1_ul[self.num_prb()]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        # MIMO only supported for Downlink</span><br><span style="color: hsl(120, 100%, 40%);">+        if downlink and self._txmode > 2:</span><br><span style="color: hsl(120, 100%, 40%);">+            max_rate *= 2</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+        return max_rate</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> # vim: expandtab tabstop=4 shiftwidth=4</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534">change 18534</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-gsm-tester/+/18534"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-gsm-tester </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: I30fa7006906d101c53ba586fb06bced3945aa960 </div>
<div style="display:none"> Gerrit-Change-Number: 18534 </div>
<div style="display:none"> Gerrit-PatchSet: 4 </div>
<div style="display:none"> Gerrit-Owner: srs_andre <andre@softwareradiosystems.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins Builder </div>
<div style="display:none"> Gerrit-Reviewer: pespin <pespin@sysmocom.de> </div>
<div style="display:none"> Gerrit-Reviewer: srs_andre <andre@softwareradiosystems.com> </div>
<div style="display:none"> Gerrit-MessageType: merged </div>