| mac_cnfg = |
| { |
| phr_cnfg = |
| { |
| dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY |
| periodic_phr_timer = 50; |
| prohibit_phr_timer = 0; |
| }; |
| ulsch_cnfg = |
| { |
| max_harq_tx = 4; |
| periodic_bsr_timer = 20; // in ms |
| retx_bsr_timer = 320; // in ms |
| }; |
| |
| time_alignment_timer = -1; // -1 is infinity |
| }; |
| |
| phy_cnfg = |
| { |
| phich_cnfg = |
| { |
| duration = "Normal"; |
| resources = "1/6"; |
| }; |
| |
| pusch_cnfg_ded = |
| { |
| beta_offset_ack_idx = 6; |
| beta_offset_ri_idx = 6; |
| beta_offset_cqi_idx = 6; |
| }; |
| |
| // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource. |
| sched_request_cnfg = |
| { |
| dsr_trans_max = 64; |
| period = 20; // in ms |
| subframe = [1, 11, 21, 31]; // vector of subframe indices allowed for SR transmissions |
| |
| // number of PRBs on each extreme used for SR (total prb is twice this number) |
| % if int(enb['num_prb']) <= 6: |
| nof_prb = 1; |
| % else: |
| nof_prb = 2; |
| % endif |
| }; |
| cqi_report_cnfg = |
| { |
| mode = "periodic"; |
| simultaneousAckCQI = true; |
| period = 40; // in ms |
| subframe = [0, 10, 20, 30]; |
| % if int(enb['num_prb']) <= 6: |
| nof_prb = 1; |
| % else: |
| nof_prb = 2; |
| % endif |
| m_ri = 8; // RI period in CQI period |
| }; |
| }; |
| |
| cell_list = |
| ( |
| %for cell in enb.cell_list: |
| ${',' if loop.index != 0 else ''} |
| { |
| // rf_port = 0; Not yet implemented! |
| cell_id = ${cell.cell_id}; |
| tac = 0x0001; |
| pci = ${loop.index + 1}; |
| root_seq_idx = ${loop.index + 204}; |
| dl_earfcn = ${cell.dl_earfcn}; |
| //ul_earfcn = 20850; |
| ho_active = false; |
| |
| // CA cells |
| scell_list = ( |
| %for scell_id in cell.scell_list: |
| ${',' if loop.index != 0 else ''} |
| { |
| cell_id = ${scell_id}; |
| cross_carrier_scheduling = false; |
| scheduling_cell_id = ${cell.cell_id}; |
| ul_allowed = true; |
| } |
| %endfor |
| ) |
| |
| // Cells available for handover |
| meas_cell_list = |
| ( |
| %for ncell in enb.cell_list: |
| <% loop.my_num_items = 0 if loop.index == 0 else loop.my_num_items %> |
| %if ncell.cell_id in cell.ncell_list: |
| ${',' if loop.my_num_items != 0 else ''} |
| <% loop.my_num_items += 1 %> |
| { |
| eci = ${ncell.cell_id}; |
| dl_earfcn = ${ncell.dl_earfcn}; |
| pci = ${ncell.pci}; |
| } |
| %endif |
| %endfor |
| ); |
| |
| // ReportCfg (only A3 supported) |
| meas_report_desc = { |
| a3_report_type = "RSRP"; |
| a3_offset = 6; |
| a3_hysteresis = 0; |
| a3_time_to_trigger = 480; |
| rsrq_config = 4; |
| }; |
| } |
| %endfor |
| ); |