enb: refactor ue_max_rate() and move helper function back to sub classes
It turned out that the Amarisoft and SRS eNB scheduler produces
slightly different maximum data rates for both UL and DL.
Change-Id: I30fa7006906d101c53ba586fb06bced3945aa960
diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py
index e192530..33ee16b 100644
--- a/src/osmo_gsm_tester/obj/enb_srs.py
+++ b/src/osmo_gsm_tester/obj/enb_srs.py
@@ -232,4 +232,29 @@
rfemu_obj = rfemu.get_instance_by_type(rfemu_cfg['type'], rfemu_cfg)
return rfemu_obj
+ def ue_max_rate(self, downlink=True):
+ # The max rate for a single UE per PRB configuration in TM1 with MCS 28 QAM64
+ max_phy_rate_tm1_dl = { 6 : 3.5e6,
+ 15 : 11e6,
+ 25 : 18e6,
+ 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 downlink:
+ max_rate = max_phy_rate_tm1_dl[self.num_prb()]
+ else:
+ max_rate = max_phy_rate_tm1_ul[self.num_prb()]
+
+ # MIMO only supported for Downlink
+ if downlink and self._txmode > 2:
+ max_rate *= 2
+
+ return max_rate
+
# vim: expandtab tabstop=4 shiftwidth=4