lte: update UHD device args for MIMO usage

the USRP B210 device args were not ideal for MIMO configs for
both Amarisoft and srsLTE.

Change-Id: I3785bb96eb7c10a6b10b3d1a86fa71d1f787a7a3
This commit is contained in:
Andre Puschmann 2020-09-23 17:07:07 +02:00
parent 0908ceb0eb
commit 0e00f38aa2
3 changed files with 47 additions and 19 deletions

View File

@ -183,16 +183,24 @@ class AmarisoftENB(enb.eNodeB):
rf_dev_args = values['enb'].get('rf_dev_args', '')
rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
if self._num_prb < 25:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
elif self._num_prb == 25:
rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
elif self._num_prb > 25:
rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
if self._txmode == 1:
# SISO config
if self._num_prb < 25:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
elif self._num_prb == 25:
rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
else:
rf_dev_args += ''
else:
# MIMO config
if self._num_prb == 6:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
else:
rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
if self._num_prb > 50:
# Reduce over the wire format to sc12
rf_dev_args += ',otw_format=sc12'
if self._num_prb > 50:
# Reduce over the wire format to sc12
rf_dev_args += ',otw_format=sc12'
config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))

View File

@ -207,12 +207,23 @@ class srsENB(enb.eNodeB, srslte_common):
rf_dev_args = values['enb'].get('rf_dev_args', '')
rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
if self._num_prb < 25:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
elif self._num_prb == 25:
rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
elif self._num_prb > 25:
if self._num_prb == 75:
rf_dev_args += 'master_clock_rate=15.36e6,'
if self._txmode <= 2:
# SISO config
if self._num_prb < 25:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
elif self._num_prb == 25:
rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
else:
rf_dev_args += ''
else:
# MIMO config
rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
if self._num_prb > 50:
# Reduce over the wire format to sc12
rf_dev_args += ',otw_format=sc12'
config.overlay(values, dict(enb=dict(rf_dev_args=rf_dev_args)))

View File

@ -306,12 +306,21 @@ class srsUE(MS, srslte_common):
rf_dev_args = values['ue'].get('rf_dev_args', '')
rf_dev_args += ',' if rf_dev_args != '' and not rf_dev_args.endswith(',') else ''
if self.enb.num_prb() < 25:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
elif self.enb.num_prb() == 25:
rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
elif self.enb.num_prb() > 50:
if self.enb.num_prb() == 75:
rf_dev_args += 'master_clock_rate=15.36e6,'
if self.enb.num_ports() == 1:
# SISO config
if self.enb.num_prb() < 25:
rf_dev_args += 'send_frame_size=512,recv_frame_size=512'
elif self.enb.num_prb() == 25:
rf_dev_args += 'send_frame_size=1024,recv_frame_size=1024'
else:
rf_dev_args += ''
else:
# MIMO config
rf_dev_args += 'num_recv_frames=64,num_send_frames=64'
# For the UE the otw12 format doesn't seem to work very well
config.overlay(values, dict(ue=dict(rf_dev_args=rf_dev_args)))