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/.
srs_andre gerrit-no-reply at lists.osmocom.orgsrs_andre has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 ) Change subject: enb: refactored rf_args handling for ZMQ-based radio ...................................................................... enb: refactored rf_args handling for ZMQ-based radio this patch moves the rf_dev_args creation for both eNB types into the eNB base class, since they are identical. the patch also fixes the arguments for all CA and MIMO configurations Change-Id: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 --- M src/osmo_gsm_tester/obj/enb.py M src/osmo_gsm_tester/obj/enb_amarisoft.py M src/osmo_gsm_tester/obj/enb_srs.py 3 files changed, 57 insertions(+), 54 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-gsm-tester refs/changes/22/17922/1 diff --git a/src/osmo_gsm_tester/obj/enb.py b/src/osmo_gsm_tester/obj/enb.py index e0f7be0..3c1f771 100644 --- a/src/osmo_gsm_tester/obj/enb.py +++ b/src/osmo_gsm_tester/obj/enb.py @@ -99,6 +99,59 @@ def num_prb(self): return self._num_prb + #reference: srsLTE.git srslte_symbol_sz() + def num_prb2symbol_sz(self, num_prb): + if num_prb <= 6: + return 128 + if num_prb <= 15: + return 256 + if num_prb <= 25: + return 384 + if num_prb <= 50: + return 768 + if num_prb <= 75: + return 1024 + if num_prb <= 110: + return 1536 + raise log.Error('invalid num_prb %r', num_prb) + + def num_prb2base_srate(self, num_prb): + return self.num_prb2symbol_sz(num_prb) * 15 * 1000 + + def get_zmq_rf_dev_args(self): + base_srate = self.num_prb2base_srate(self.num_prb()) + # Define all 8 possible RF ports (2x CA with 2x2 MIMO) + rf_dev_args = 'fail_on_disconnect=true' \ + + ',tx_port0=tcp://' + self.addr() + ':2000' \ + + ',tx_port1=tcp://' + self.addr() + ':2002' \ + + ',tx_port2=tcp://' + self.addr() + ':2004' \ + + ',tx_port3=tcp://' + self.addr() + ':2006' \ + + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ + + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ + + ',rx_port2=tcp://' + self.ue.addr() + ':2005' \ + + ',rx_port3=tcp://' + self.ue.addr() + ':2007' + + if self._num_cells == 1: + # Single carrier + if self.num_ports() == 1: + # SISO + rf_dev_args += ',tx_freq0=2630e6,rx_freq0=2510e6' + elif self.num_ports() == 2: + # MIMO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,rx_freq0=2510e6,rx_freq1=2510e6' + elif self._num_cells == 2: + # 2x class + if self.num_ports() == 1: + # SISO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2650e6,rx_freq0=2510e6,rx_freq1=2530e6' + elif self.num_ports() == 2: + # MIMO + rf_dev_args += ',tx_freq0=2630e6,tx_freq1=2630e6,tx_freq2=2650e6,tx_freq3=2650e6,rx_freq0=2510e6,rx_freq1=2510e6,rx_freq2=2530e6,rx_freq3=2530e6' + + rf_dev_args += ',id=enb,base_srate=' + str(base_srate) + + return rf_dev_args + ################### # PUBLIC (test API included) ################### diff --git a/src/osmo_gsm_tester/obj/enb_amarisoft.py b/src/osmo_gsm_tester/obj/enb_amarisoft.py index bb48880..ec7063c 100644 --- a/src/osmo_gsm_tester/obj/enb_amarisoft.py +++ b/src/osmo_gsm_tester/obj/enb_amarisoft.py @@ -27,25 +27,6 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('uhd', 'zmq') -#reference: srsLTE.git srslte_symbol_sz() -def num_prb2symbol_sz(num_prb): - if num_prb <= 6: - return 128 - if num_prb <= 15: - return 256 - if num_prb <= 25: - return 384 - if num_prb <= 50: - return 768 - if num_prb <= 75: - return 1024 - if num_prb <= 110: - return 1536 - raise log.Error('invalid num_prb %r', num_prb) - -def num_prb2base_srate(num_prb): - return num_prb2symbol_sz(num_prb) * 15 * 1000 - class AmarisoftENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-amarisoftenb' @@ -174,15 +155,10 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - base_srate = num_prb2base_srate(self.num_prb()) - rf_dev_args = 'fail_on_disconnect=true' \ - + ',tx_port0=tcp://' + self.addr() + ':2000' \ - + ',tx_port1=tcp://' + self.addr() + ':2002' \ - + ',rx_port0=tcp://' + self.ue.addr() + ':2001' \ - + ',rx_port1=tcp://' + self.ue.addr() + ':2003' \ - + ',id=enb,base_srate=' + str(base_srate) + base_srate = self.num_prb2base_srate(self.num_prb()) + rf_dev_args = self.get_zmq_rf_dev_args() config.overlay(values, dict(enb=dict(sample_rate = base_srate / (1000*1000), - rf_dev_args=rf_dev_args))) + rf_dev_args = rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX if self._conf.get('rf_dev_type') == 'uhd' and values['enb'].get('rf_dev_args', None) is not None: diff --git a/src/osmo_gsm_tester/obj/enb_srs.py b/src/osmo_gsm_tester/obj/enb_srs.py index e657b04..243ffaa 100644 --- a/src/osmo_gsm_tester/obj/enb_srs.py +++ b/src/osmo_gsm_tester/obj/enb_srs.py @@ -27,25 +27,6 @@ def rf_type_valid(rf_type_str): return rf_type_str in ('zmq', 'uhd', 'soapy', 'bladerf') -#reference: srsLTE.git srslte_symbol_sz() -def num_prb2symbol_sz(num_prb): - if num_prb <= 6: - return 128 - if num_prb <= 15: - return 256 - if num_prb <= 25: - return 384 - if num_prb <= 50: - return 768 - if num_prb <= 75: - return 1024 - if num_prb <= 110: - return 1536 - raise log.Error('invalid num_prb %r', num_prb) - -def num_prb2base_srate(num_prb): - return num_prb2symbol_sz(num_prb) * 15 * 1000 - class srsENB(enb.eNodeB): REMOTE_DIR = '/osmo-gsm-tester-srsenb' @@ -194,14 +175,7 @@ # We need to set some specific variables programatically here to match IP addresses: if self._conf.get('rf_dev_type') == 'zmq': - base_srate = num_prb2base_srate(self.num_prb()) - rf_dev_args = 'fail_on_disconnect=true' \ - + ',tx_port=tcp://' + self.addr() + ':2000' \ - + ',tx_port2=tcp://' + self.addr() + ':2002' \ - + ',rx_port=tcp://' + self.ue.addr() + ':2001' \ - + ',rx_port2=tcp://' + self.ue.addr() + ':2003' \ - + ',tx_freq=2630e6,rx_freq=2510e6,tx_freq2=2650e6,rx_freq2=2530e6' \ - + ',id=enb,base_srate=' + str(base_srate) + rf_dev_args = self.get_zmq_rf_dev_args() config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args))) # Set UHD frame size as a function of the cell bandwidth on B2XX -- To view, visit https://gerrit.osmocom.org/c/osmo-gsm-tester/+/17922 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: I8ca3ed83e65dc07927385267e5970bc4f5b120d5 Gerrit-Change-Number: 17922 Gerrit-PatchSet: 1 Gerrit-Owner: srs_andre <andre at softwareradiosystems.com> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20200420/e74d63b0/attachment.htm>