rf_driver: { name: "${trx.rf_dev_type}", args: "${trx.rf_dev_args}", sync: "${trx.rf_dev_sync}", % if trx.get('rx_ant', None) != None: rx_antenna: "${trx.rx_ant}", % endif % if trx.rf_dev_type == 'zmq': dl_sample_bits: 16, ul_sample_bits: 16, % endif }, tx_gain: ${trx.tx_gain}, /* TX gain (in dB) B2x0: 0 to 89.8 dB */ rx_gain: ${trx.rx_gain}, /* RX gain (in dB) B2x0: 0 to 73 dB */ // Only SDR and ZMQ devices require dedicated rf_port parameters % if trx.rf_dev_type != 'uhd': rf_ports: [ % if trx.rf_dev_type == 'sdr': // NSA specific configuration { sample_rate: 23.04, }, { sample_rate: 61.44, dl_freq: 3502.8, // Moves NR DL LO frequency -5.76 MHz ul_freq: 3502.8, // Moves NR UL LO frequency -5.76 MHz } % else: // default case for UHD and ZMQ usage <% # determine ports and sample rate from either eNB or UE object num_ports = 1 try: obj_sample_rate = enb.sample_rate num_ports = int(enb.num_cells) + int(enb.num_nr_cells) except AttributeError: obj_sample_rate = ue.sample_rate %> %for port in range(num_ports): { sample_rate: ${obj_sample_rate}, }, %endfor % endif ], % endif // only the B210 requires a sample offset % if "b200" in trx.rf_dev_args: tx_time_offset: -150, % else: tx_time_offset: 0, % endif