Commit 11c74a0b authored by Kirill Smelkov's avatar Kirill Smelkov

X keep icell_dict LTE/NR slices in icell_dict_lte and icell_dict_nr

We will need to analyze how many LTE/NR cells we have and it helps to
pre-build those dicts in the beginning.
parent 76870709
...@@ -18,9 +18,12 @@ ...@@ -18,9 +18,12 @@
{%- endif %} {%- endif %}
{#- do_lte/do_nr indicate whether we have LTE and/or NR cells #} {#- do_lte/do_nr indicate whether we have LTE and/or NR cells
{%- set do_lte = len(list(icell_dict|dictsort | selectattr('1._.cell_type', '==', 'lte'))) > 0 %} icell_dict_lte/icell_dict_nr keep LTE/NR parts of icell_dict registry #}
{%- set do_nr = len(list(icell_dict|dictsort | selectattr('1._.cell_type', '==', 'nr'))) > 0 %} {%- set icell_dict_lte = dict(icell_dict|dictsort | selectattr('1._.cell_type', '==', 'lte')) %}
{%- set icell_dict_nr = dict(icell_dict|dictsort | selectattr('1._.cell_type', '==', 'nr' )) %}
{%- set do_lte = len(icell_dict_lte) > 0 %}
{%- set do_nr = len(icell_dict_nr) > 0 %}
{#- handover_config emits handover configuration for specified cell #} {#- handover_config emits handover configuration for specified cell #}
...@@ -228,136 +231,134 @@ ...@@ -228,136 +231,134 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
{%- if do_lte %} {%- if do_lte %}
{%- for i, (cell_ref, icell) in enumerate(icell_dict|dictsort) %} {%- for i, (cell_ref, icell) in enumerate(icell_dict_lte|dictsort) %}
{%- set cell = icell['_'] %} {%- set cell = icell['_'] %}
{%- if cell.cell_type == 'lte' %} {%- set ru_ref = J(jcell_ru_ref(icell, icell_dict)) %}
{%- set ru_ref = J(jcell_ru_ref(icell, icell_dict)) %} {%- set iru = iru_dict[ru_ref] %}
{%- set iru = iru_dict[ru_ref] %} {%- set ru = iru['_'] %}
{%- set ru = iru['_'] %}
// {{ B(cell_ref) }} ({{ B(ru_ref) }}) // {{ B(cell_ref) }} ({{ B(ru_ref) }})
{ {
rf_port: {{ ru._rf_port }}, rf_port: {{ ru._rf_port }},
n_antenna_dl: {{ ru.n_antenna_dl }}, n_antenna_dl: {{ ru.n_antenna_dl }},
n_antenna_ul: {{ ru.n_antenna_ul }}, n_antenna_ul: {{ ru.n_antenna_ul }},
cell_id: {{ cell.cell_id }}, cell_id: {{ cell.cell_id }},
tac: {{ cell.tac }}, tac: {{ cell.tac }},
n_id_cell: {{ cell.pci }}, n_id_cell: {{ cell.pci }},
dl_earfcn: {{ cell.dl_earfcn }}, dl_earfcn: {{ cell.dl_earfcn }},
ul_earfcn: {{ cell.ul_earfcn }}, ul_earfcn: {{ cell.ul_earfcn }},
root_sequence_index: {{ cell.get('root_sequence_index', 204 + i) }}, root_sequence_index: {{ cell.get('root_sequence_index', 204 + i) }},
inactivity_timer: {{ cell.inactivity_timer }}, inactivity_timer: {{ cell.inactivity_timer }},
// Handover // Handover
{{- handover_config(cell_ref) }} {{- handover_config(cell_ref) }}
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{%- for cell2_ref, icell2 in icell_dict|dictsort %} {%- for cell2_ref, icell2 in icell_dict_lte|dictsort %}
{%- set cell2 = icell2['_'] %}
{%- if cell2_ref != cell_ref %}
{
cell_id: {{ cell2.cell_id }}, // + {{ B(cell2_ref) }}
cross_carrier_scheduling: false,
},
{%- endif %}
{%- endfor %}
],
{%- if do_nr %}
// Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [
{%- for cell2_ref, icell2 in icell_dict_nr|dictsort %}
{%- set cell2 = icell2['_'] %} {%- set cell2 = icell2['_'] %}
{%- if cell2_ref != cell_ref and cell2.cell_type == 'lte' %} {%- if cell2_ref != cell_ref %}
{ {
cell_id: {{ cell2.cell_id }}, // + {{ B(cell2_ref) }} cell_id: {{ cell2.cell_id }}, // + {{ B(cell2_ref) }}
cross_carrier_scheduling: false,
}, },
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
], ],
{%- endif %}
{%- if do_nr %}
// Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [
{%- for cell2_ref, icell2 in icell_dict|dictsort %}
{%- set cell2 = icell2['_'] %}
{%- if cell2_ref != cell_ref and cell2.cell_type == 'nr' %}
{
cell_id: {{ cell2.cell_id }}, // + {{ B(cell2_ref) }}
},
{%- endif %}
{%- endfor %}
],
{%- endif %}
// tune LTE parameters for the cell
{%- if ors %}
manual_ref_signal_power: true,
{%- endif %}
{%- set tdd = (cell.rf_mode == 'tdd') %}
{%- if tdd %}
uldl_config: {{
{'[Configuration 2] 5ms 2UL 6DL (default)': 2,
'[Configuration 6] 5ms 5UL 3DL (maximum uplink)': 6}
[cell.tdd_ul_dl_config]
}},
sp_config: 7,
{%- endif %}
{%- set n_rb_dl = J(jlte_n_rb_dl(cell.bandwidth)) %}
n_rb_dl: {{ n_rb_dl }},
si_coderate: {{ 0.30 if n_rb_dl == 6 else 0.20 }},
pdsch_dedicated: { // tune LTE parameters for the cell
p_a: {{ {4: -6, 2: -3}.get(ru.n_antenna_dl, 0) }}, {%- if ors %}
p_b: -1, manual_ref_signal_power: true,
}, {%- endif %}
{%- set tdd = (cell.rf_mode == 'tdd') %}
{%- if tdd %}
uldl_config: {{
{'[Configuration 2] 5ms 2UL 6DL (default)': 2,
'[Configuration 6] 5ms 5UL 3DL (maximum uplink)': 6}
[cell.tdd_ul_dl_config]
}},
sp_config: 7,
{%- endif %}
pdcch_format: {{ 1 if n_rb_dl == 6 else 2 }}, {%- set n_rb_dl = J(jlte_n_rb_dl(cell.bandwidth)) %}
prach_config_index: {{ 15 if n_rb_dl == 6 else 4 }}, n_rb_dl: {{ n_rb_dl }},
initial_cqi: {{ 5 if n_rb_dl == 6 else 3 }}, si_coderate: {{ 0.30 if n_rb_dl == 6 else 0.20 }},
pucch_dedicated: {
n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, {# XXX else "n1_pucch_an_cs_count must be > 0 for the CA Primary cell" #}
n3_pucch_an_n_rb: 3, {# XXX else "n3_pucch_an_n_rb must be > 0 for the CA Primary cell" #}
{%- if tdd %}
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
{%- endif %}
},
{%- if ru.n_antenna_dl >= 2 %} pdsch_dedicated: {
m_ri: 8, p_a: {{ {4: -6, 2: -3}.get(ru.n_antenna_dl, 0) }},
transmission_mode: 3, p_b: -1,
{%- endif %} },
srs_dedicated: { pdcch_format: {{ 1 if n_rb_dl == 6 else 2 }},
{%- if n_rb_dl == 6 %} prach_config_index: {{ 15 if n_rb_dl == 6 else 4 }},
srs_bandwidth_config: 7, initial_cqi: {{ 5 if n_rb_dl == 6 else 3 }},
srs_bandwidth: 1,
{%- elif n_rb_dl == 15 %} pucch_dedicated: {
srs_bandwidth_config: 6, n1_pucch_sr_count: 11,
srs_bandwidth: 1, cqi_pucch_n_rb: 1,
{%- elif n_rb_dl == 25 %} n1_pucch_an_cs_count: 8, {# XXX else "n1_pucch_an_cs_count must be > 0 for the CA Primary cell" #}
srs_bandwidth_config: 3, n3_pucch_an_n_rb: 3, {# XXX else "n3_pucch_an_n_rb must be > 0 for the CA Primary cell" #}
srs_bandwidth: 1, {%- if tdd %}
{%- elif n_rb_dl == 50 %} tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
srs_bandwidth_config: 2,
srs_bandwidth: 2,
{%- elif n_rb_dl == 75 %}
srs_bandwidth_config: 2,
srs_bandwidth: 2,
{%- else %}
srs_bandwidth_config: 2,
srs_bandwidth: 3,
{%- endif %} {%- endif %}
srs_subframe_config: 3, },
srs_period: 40,
srs_hopping_bandwidth: 0,
},
drb_config: "{{ B('%s-drb.cfg' % cell_ref) }}", {%- if ru.n_antenna_dl >= 2 %}
m_ri: 8,
transmission_mode: 3,
{%- endif %}
sib_sched_list: [ srs_dedicated: {
{ {%- if n_rb_dl == 6 %}
filename: "{{ B('%s-sib23.asn' % cell_ref) }}", srs_bandwidth_config: 7,
si_periodicity: 16, srs_bandwidth: 1,
}, {%- elif n_rb_dl == 15 %}
], srs_bandwidth_config: 6,
srs_bandwidth: 1,
{%- elif n_rb_dl == 25 %}
srs_bandwidth_config: 3,
srs_bandwidth: 1,
{%- elif n_rb_dl == 50 %}
srs_bandwidth_config: 2,
srs_bandwidth: 2,
{%- elif n_rb_dl == 75 %}
srs_bandwidth_config: 2,
srs_bandwidth: 2,
{%- else %}
srs_bandwidth_config: 2,
srs_bandwidth: 3,
{%- endif %}
srs_subframe_config: 3,
srs_period: 40,
srs_hopping_bandwidth: 0,
}, },
{%- endif %}
drb_config: "{{ B('%s-drb.cfg' % cell_ref) }}",
sib_sched_list: [
{
filename: "{{ B('%s-sib23.asn' % cell_ref) }}",
si_periodicity: 16,
},
],
},
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
], ],
...@@ -459,294 +460,292 @@ ...@@ -459,294 +460,292 @@
// NR cells // NR cells
nr_cell_list: [ nr_cell_list: [
{%- if do_nr %} {%- if do_nr %}
{%- for i, (cell_ref, icell) in enumerate(icell_dict|dictsort) %} {%- for i, (cell_ref, icell) in enumerate(icell_dict_nr|dictsort) %}
{%- set cell = icell['_'] %} {%- set cell = icell['_'] %}
{%- if cell.cell_type == 'nr' %} {%- set ru_ref = J(jcell_ru_ref(icell, icell_dict)) %}
{%- set ru_ref = J(jcell_ru_ref(icell, icell_dict)) %} {%- set iru = iru_dict[ru_ref] %}
{%- set iru = iru_dict[ru_ref] %} {%- set ru = iru['_'] %}
{%- set ru = iru['_'] %}
// {{ B(cell_ref) }} ({{ B(ru_ref) }}) // {{ B(cell_ref) }} ({{ B(ru_ref) }})
{ {
rf_port: {{ ru._rf_port }}, rf_port: {{ ru._rf_port }},
n_antenna_dl: {{ ru.n_antenna_dl }}, n_antenna_dl: {{ ru.n_antenna_dl }},
n_antenna_ul: {{ ru.n_antenna_ul }}, n_antenna_ul: {{ ru.n_antenna_ul }},
cell_id: {{ cell.cell_id }}, cell_id: {{ cell.cell_id }},
n_id_cell: {{ cell.pci }}, n_id_cell: {{ cell.pci }},
band: {{ cell.nr_band }}, band: {{ cell.nr_band }},
dl_nr_arfcn: {{ cell.dl_nr_arfcn }}, dl_nr_arfcn: {{ cell.dl_nr_arfcn }},
ul_nr_arfcn: {{ cell.ul_nr_arfcn }}, ul_nr_arfcn: {{ cell.ul_nr_arfcn }},
bandwidth: {{ cell.bandwidth }}, bandwidth: {{ cell.bandwidth }},
subcarrier_spacing: {{ cell.subcarrier_spacing }}, subcarrier_spacing: {{ cell.subcarrier_spacing }},
ssb_nr_arfcn: {{ cell.ssb_nr_arfcn }}, ssb_nr_arfcn: {{ cell.ssb_nr_arfcn }},
ssb_pos_bitmap: "{{ cell.ssb_pos_bitmap }}", ssb_pos_bitmap: "{{ cell.ssb_pos_bitmap }}",
root_sequence_index: {{ cell.get('root_sequence_index', 1 + i) }}, root_sequence_index: {{ cell.get('root_sequence_index', 1 + i) }},
inactivity_timer: {{ cell.inactivity_timer }}, inactivity_timer: {{ cell.inactivity_timer }},
// Handover // Handover
{{- handover_config(cell_ref) }} {{- handover_config(cell_ref) }}
// Carrier Aggregation: NR + NR // Carrier Aggregation: NR + NR
scell_list: [ scell_list: [
{%- for cell2_ref, icell2 in icell_dict|dictsort %} {%- for cell2_ref, icell2 in icell_dict_nr|dictsort %}
{%- set cell2 = icell2['_'] %} {%- set cell2 = icell2['_'] %}
{%- if cell2_ref != cell_ref and cell2.cell_type == 'nr' %} {%- if cell2_ref != cell_ref %}
{ {
cell_id: {{ cell2.cell_id }}, // + {{ B(cell2_ref) }} cell_id: {{ cell2.cell_id }}, // + {{ B(cell2_ref) }}
}, },
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
], ],
{#- NOTE: NR + LTE Dual Connectivity is setup via EN-DC only - via en_dc_scg_cell_list.
nr_dc_scg_cell_list sets up NR+NR Dual Connectivity #}
{#- NOTE: NR + LTE Dual Connectivity is setup via EN-DC only - via en_dc_scg_cell_list. // tune NR parameters for the cell
nr_dc_scg_cell_list sets up NR+NR Dual Connectivity #} {%- if ors %}
manual_ref_signal_power: true,
// tune NR parameters for the cell {%- if ors['one-watt'] %}
{%- if ors %} ss_pbch_block_power: {{ ru.tx_gain - 54 }},
manual_ref_signal_power: true, {%- else %}
{%- if ors['one-watt'] %} ss_pbch_block_power: {{ ru.tx_gain - 35 }},
ss_pbch_block_power: {{ ru.tx_gain - 54 }}, {%- endif -%}
{%- else %} {%- endif %}
ss_pbch_block_power: {{ ru.tx_gain - 35 }},
{%- endif -%} {%- set tdd = (cell.rf_mode == 'tdd') %}
{%- endif %} {%- set tdd_config =
{'5ms 2UL 7DL 4/6 (default)': 1,
{%- set tdd = (cell.rf_mode == 'tdd') %} '2.5ms 1UL 3DL 2/10': 2,
{%- set tdd_config = '5ms 8UL 1DL 2/10 (maximum uplink)': 3}
{'5ms 2UL 7DL 4/6 (default)': 1, [cell.tdd_ul_dl_config]
'2.5ms 1UL 3DL 2/10': 2, if tdd else None %}
'5ms 8UL 1DL 2/10 (maximum uplink)': 3}
[cell.tdd_ul_dl_config] {% if tdd_config == 1 %}
if tdd else None %} tdd_ul_dl_config: {
pattern1: {
{% if tdd_config == 1 %} period: 5,
tdd_ul_dl_config: { dl_slots: 7,
pattern1: { dl_symbols: 6,
period: 5, ul_slots: 2,
dl_slots: 7, ul_symbols: 4,
dl_symbols: 6,
ul_slots: 2,
ul_symbols: 4,
},
}, },
{% elif tdd_config == 2 %} },
tdd_ul_dl_config: { {% elif tdd_config == 2 %}
pattern1: { tdd_ul_dl_config: {
period: 2.5, pattern1: {
dl_slots: 3, period: 2.5,
dl_symbols: 10, dl_slots: 3,
ul_slots: 1, dl_symbols: 10,
ul_symbols: 2, ul_slots: 1,
}, ul_symbols: 2,
}, },
{% elif tdd_config == 3 %} },
tdd_ul_dl_config: { {% elif tdd_config == 3 %}
pattern1: { tdd_ul_dl_config: {
period: 5, /* in ms */ pattern1: {
dl_slots: 1, period: 5, /* in ms */
dl_symbols: 10, dl_slots: 1,
ul_slots: 8, dl_symbols: 10,
ul_symbols: 2, ul_slots: 8,
}, ul_symbols: 2,
}, },
{% endif %} },
{% endif %}
prach: { prach: {
{%- if ru.ru_type == 'sunwave' %} {%- if ru.ru_type == 'sunwave' %}
msg1_frequency_start: 0, msg1_frequency_start: 0,
{%- endif %} {%- endif %}
ra_response_window: {{ 20 if tdd else 10 }}, ra_response_window: {{ 20 if tdd else 10 }},
},
pdcch: {
{%- if ru.ru_type == 'sunwave' %}
n_rb_coreset0: 48,
n_symb_coreset0: 1,
dedicated_coreset: {
duration: 1,
},
{%- endif %}
{%- if tdd_config == 3 %}
uss: {
n_candidates: [ 0, 8, 1, 0, 0 ],
dci_0_1_and_1_1: true,
}, },
{%- else %}
uss: {
n_candidates: [ 0, 2, 1, 0, 0 ],
dci_0_1_and_1_1: true,
},
{%- endif %}
},
pdcch: { pdsch: {
{%- if ru.ru_type == 'sunwave' %} {%- if ru.ru_type == 'sunwave' %}
n_rb_coreset0: 48, k0: 0,
n_symb_coreset0: 1, k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
dedicated_coreset: { {%- elif tdd_config == 3 %}
duration: 1, k1: [4, 11],
{%- endif %}
},
pusch: {
{%- if ru.ru_type == 'sunwave' %}
k2: 4,
msg3_k2: 7,
{%- elif tdd_config == 3 %}
k2: [11, 12, 4, 5, 6, 7, 7, 8],
msg3_k2: 7,
{%- endif %}
},
csi_rs: {
nzp_csi_rs_resource: [
{
{%- if ru.n_antenna_dl == 1 %}
n_ports: 1,
frequency_domain_allocation: "row2",
bitmap: "100000000000",
cdm_type: "no_cdm",
{%- elif ru.n_antenna_dl == 2 %}
n_ports: 2,
frequency_domain_allocation: "other",
bitmap: "100000",
cdm_type: "fd_cdm2",
{%- elif ru.n_antenna_dl == 4 %}
n_ports: 4,
frequency_domain_allocation: "row4",
bitmap: "100",
cdm_type: "fd_cdm2",
{%- elif ru.n_antenna_dl == 8 %}
n_ports: 8,
frequency_domain_allocation: "other",
bitmap: "110011",
cdm_type: "fd_cdm2",
{%- else %}
{%- do ierror(iru, 'n_antenna_dl=%d is not supported' % ru.n_antenna_dl) %}
{%- endif %}
}, },
{%- endif %} {%- if tdd_config != 3 %}
{%- if tdd_config == 3 %} {
uss: { csi_rs_id: 1,
n_candidates: [ 0, 8, 1, 0, 0 ], n_ports: 1,
dci_0_1_and_1_1: true, frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
}, },
{%- else %} {
uss: { csi_rs_id: 3,
n_candidates: [ 0, 2, 1, 0, 0 ], n_ports: 1,
dci_0_1_and_1_1: true, frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
}, },
{%- endif %} {
}, csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{%- endif %}
],
pdsch: { nzp_csi_rs_resource_set: [
{%- if ru.ru_type == 'sunwave' %} {},
k0: 0, {%- if tdd_config != 3 %}
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], {
{%- elif tdd_config == 3 %} csi_rs_set_id: 1,
k1: [4, 11], nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
{%- endif %} repetition: false,
}, trs_info: true,
},
{%- endif %}
],
pusch: { csi_resource_config: [
{%- if ru.ru_type == 'sunwave' %} {},
k2: 4, {},
msg3_k2: 7, {%- if tdd_config != 3 %}
{%- elif tdd_config == 3 %} {
k2: [11, 12, 4, 5, 6, 7, 7, 8], csi_rsc_config_id: 2,
msg3_k2: 7, nzp_csi_rs_resource_set_list: [ 1 ],
{%- endif %} resource_type: "periodic",
}, },
{%- endif %}
],
csi_rs: { csi_report_config: [
nzp_csi_rs_resource: [ {
{ {%- if ru.n_antenna_dl > 1 %}
{%- if ru.n_antenna_dl == 1 %} codebook_config: {
n_ports: 1, codebook_type: "type1",
frequency_domain_allocation: "row2", sub_type: "typeI_SinglePanel",
bitmap: "100000000000", {%- if ru.n_antenna_dl == 2 %}
cdm_type: "no_cdm", {%- elif ru.n_antenna_dl == 4 %}
{%- elif ru.n_antenna_dl == 2 %} n1: 2,
n_ports: 2, n2: 1,
frequency_domain_allocation: "other", codebook_mode: 1,
bitmap: "100000", {%- elif ru.n_antenna_dl == 8 %}
cdm_type: "fd_cdm2", n1: 4,
{%- elif ru.n_antenna_dl == 4 %} n2: 1,
n_ports: 4, codebook_mode: 1,
frequency_domain_allocation: "row4",
bitmap: "100",
cdm_type: "fd_cdm2",
{%- elif ru.n_antenna_dl == 8 %}
n_ports: 8,
frequency_domain_allocation: "other",
bitmap: "110011",
cdm_type: "fd_cdm2",
{%- else %}
{%- do ierror(iru, 'n_antenna_dl=%d is not supported' % ru.n_antenna_dl) %}
{%- endif %}
},
{%- if tdd_config != 3 %}
{
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{%- endif %}
],
nzp_csi_rs_resource_set: [
{},
{%- if tdd_config != 3 %}
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
{%- endif %}
],
csi_resource_config: [
{},
{},
{%- if tdd_config != 3 %}
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
{%- endif %}
],
csi_report_config: [
{
{%- if ru.n_antenna_dl > 1 %}
codebook_config: {
codebook_type: "type1",
sub_type: "typeI_SinglePanel",
{%- if ru.n_antenna_dl == 2 %}
{%- elif ru.n_antenna_dl == 4 %}
n1: 2,
n2: 1,
codebook_mode: 1,
{%- elif ru.n_antenna_dl == 8 %}
n1: 4,
n2: 1,
codebook_mode: 1,
{%- endif %}
},
{%- endif %} {%- endif %}
}, },
], {%- endif %}
},
],
}, },
drb_config: "{{ B('%s-drb.cfg' % cell_ref) }}", drb_config: "{{ B('%s-drb.cfg' % cell_ref) }}",
}, },
{%- endif %}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
], ],
......
...@@ -33,22 +33,22 @@ ...@@ -33,22 +33,22 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
// CELL__a (__CELL__a__ru) // CELL__a (__CELL__a__ru)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 1, n_antenna_dl: 1,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x01, cell_id: 0x01,
tac: 0x1234, tac: 0x1234,
n_id_cell: 1, n_id_cell: 1,
dl_earfcn: 3350, dl_earfcn: 3350,
ul_earfcn: 21350, ul_earfcn: 21350,
root_sequence_index: 204, root_sequence_index: 204,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -88,69 +88,69 @@ ...@@ -88,69 +88,69 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{ {
cell_id: 0x02, // + CELL__b cell_id: 0x02, // + CELL__b
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
n_rb_dl: 25, n_rb_dl: 25,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: 0, p_a: 0,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
}, },
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 3, srs_bandwidth_config: 3,
srs_bandwidth: 1, srs_bandwidth: 1,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL__a-drb.cfg", drb_config: "CELL__a-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL__a-sib23.asn", filename: "CELL__a-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
// CELL__b (__CELL__a__ru) // CELL__b (__CELL__a__ru)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 1, n_antenna_dl: 1,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x02, cell_id: 0x02,
tac: 0x1234, tac: 0x1234,
n_id_cell: 1, n_id_cell: 1,
dl_earfcn: 3050, dl_earfcn: 3050,
ul_earfcn: 21050, ul_earfcn: 21050,
root_sequence_index: 205, root_sequence_index: 205,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -190,52 +190,52 @@ ...@@ -190,52 +190,52 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{ {
cell_id: 0x01, // + CELL__a cell_id: 0x01, // + CELL__a
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
n_rb_dl: 25, n_rb_dl: 25,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: 0, p_a: 0,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
}, },
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 3, srs_bandwidth_config: 3,
srs_bandwidth: 1, srs_bandwidth: 1,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL__b-drb.cfg", drb_config: "CELL__b-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL__b-sib23.asn", filename: "CELL__b-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
], ],
cell_default: { cell_default: {
plmn_list: [ plmn_list: [
......
...@@ -42,22 +42,22 @@ ...@@ -42,22 +42,22 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
// CELL__a (__CELL__a__ru) // CELL__a (__CELL__a__ru)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 4, n_antenna_dl: 4,
n_antenna_ul: 2, n_antenna_ul: 2,
cell_id: 0x01, cell_id: 0x01,
tac: 0x1234, tac: 0x1234,
n_id_cell: 1, n_id_cell: 1,
dl_earfcn: 38050, dl_earfcn: 38050,
ul_earfcn: 38050, ul_earfcn: 38050,
root_sequence_index: 204, root_sequence_index: 204,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -101,80 +101,80 @@ ...@@ -101,80 +101,80 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{
cell_id: 0x02, // + CELL__b
cross_carrier_scheduling: false,
},
],
// Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [
{ {
cell_id: 0x02, // + CELL__b cell_id: 0x03, // + CELL__c
cross_carrier_scheduling: false,
}, },
], ],
// Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [
{
cell_id: 0x03, // + CELL__c
},
],
// tune LTE parameters for the cell // tune LTE parameters for the cell
uldl_config: 2, uldl_config: 2,
sp_config: 7, sp_config: 7,
n_rb_dl: 25, n_rb_dl: 25,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: -6, p_a: -6,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */ tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
}, },
m_ri: 8, m_ri: 8,
transmission_mode: 3, transmission_mode: 3,
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 3, srs_bandwidth_config: 3,
srs_bandwidth: 1, srs_bandwidth: 1,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL__a-drb.cfg", drb_config: "CELL__a-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL__a-sib23.asn", filename: "CELL__a-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
// CELL__b (__CELL__a__ru) // CELL__b (__CELL__a__ru)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 4, n_antenna_dl: 4,
n_antenna_ul: 2, n_antenna_ul: 2,
cell_id: 0x02, cell_id: 0x02,
tac: 0x1234, tac: 0x1234,
n_id_cell: 2, n_id_cell: 2,
dl_earfcn: 38100, dl_earfcn: 38100,
ul_earfcn: 38100, ul_earfcn: 38100,
root_sequence_index: 205, root_sequence_index: 205,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -218,63 +218,63 @@ ...@@ -218,63 +218,63 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{
cell_id: 0x01, // + CELL__a
cross_carrier_scheduling: false,
},
],
// Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [
{ {
cell_id: 0x01, // + CELL__a cell_id: 0x03, // + CELL__c
cross_carrier_scheduling: false,
}, },
], ],
// Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [
{
cell_id: 0x03, // + CELL__c
},
],
// tune LTE parameters for the cell // tune LTE parameters for the cell
uldl_config: 2, uldl_config: 2,
sp_config: 7, sp_config: 7,
n_rb_dl: 25, n_rb_dl: 25,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: -6, p_a: -6,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */ tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
}, },
m_ri: 8, m_ri: 8,
transmission_mode: 3, transmission_mode: 3,
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 3, srs_bandwidth_config: 3,
srs_bandwidth: 1, srs_bandwidth: 1,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL__b-drb.cfg", drb_config: "CELL__b-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL__b-sib23.asn", filename: "CELL__b-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
], ],
cell_default: { cell_default: {
plmn_list: [ plmn_list: [
...@@ -369,27 +369,27 @@ ...@@ -369,27 +369,27 @@
// NR cells // NR cells
nr_cell_list: [ nr_cell_list: [
// CELL__c (__CELL__a__ru) // CELL__c (__CELL__a__ru)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 4, n_antenna_dl: 4,
n_antenna_ul: 2, n_antenna_ul: 2,
cell_id: 0x03, cell_id: 0x03,
n_id_cell: 3, n_id_cell: 3,
band: 41, band: 41,
dl_nr_arfcn: 523020, dl_nr_arfcn: 523020,
ul_nr_arfcn: 523020, ul_nr_arfcn: 523020,
bandwidth: 10, bandwidth: 10,
subcarrier_spacing: 30, subcarrier_spacing: 30,
ssb_nr_arfcn: 522990, ssb_nr_arfcn: 522990,
ssb_pos_bitmap: "10000000", ssb_pos_bitmap: "10000000",
root_sequence_index: 3, root_sequence_index: 1,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -438,152 +438,152 @@ ...@@ -438,152 +438,152 @@
}, },
], ],
// Carrier Aggregation: NR + NR // Carrier Aggregation: NR + NR
scell_list: [ scell_list: [
], ],
// tune NR parameters for the cell // tune NR parameters for the cell
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
period: 5, period: 5,
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 4, ul_symbols: 4,
},
}, },
},
prach: {
ra_response_window: 20,
},
prach: { pdcch: {
ra_response_window: 20, uss: {
n_candidates: [ 0, 2, 1, 0, 0 ],
dci_0_1_and_1_1: true,
}, },
},
pdsch: {
},
pusch: {
},
pdcch: { csi_rs: {
uss: { nzp_csi_rs_resource: [
n_candidates: [ 0, 2, 1, 0, 0 ], {
dci_0_1_and_1_1: true, n_ports: 4,
frequency_domain_allocation: "row4",
bitmap: "100",
cdm_type: "fd_cdm2",
}, },
}, {
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
],
pdsch: { nzp_csi_rs_resource_set: [
}, {},
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
],
pusch: { csi_resource_config: [
}, {},
{},
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
],
csi_rs: { csi_report_config: [
nzp_csi_rs_resource: [ {
{ codebook_config: {
n_ports: 4, codebook_type: "type1",
frequency_domain_allocation: "row4", sub_type: "typeI_SinglePanel",
bitmap: "100", n1: 2,
cdm_type: "fd_cdm2", n2: 1,
}, codebook_mode: 1,
{
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
],
nzp_csi_rs_resource_set: [
{},
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
],
csi_resource_config: [
{},
{},
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
],
csi_report_config: [
{
codebook_config: {
codebook_type: "type1",
sub_type: "typeI_SinglePanel",
n1: 2,
n2: 1,
codebook_mode: 1,
},
}, },
], },
],
}, },
drb_config: "CELL__c-drb.cfg", drb_config: "CELL__c-drb.cfg",
}, },
], ],
nr_cell_default: { nr_cell_default: {
ssb_period: 20, ssb_period: 20,
......
...@@ -38,22 +38,22 @@ ...@@ -38,22 +38,22 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
// CELL2 (RU__0002) // CELL2 (RU__0002)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 1, n_antenna_dl: 1,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x21, cell_id: 0x21,
tac: 0x1234, tac: 0x1234,
n_id_cell: 21, n_id_cell: 21,
dl_earfcn: 100, dl_earfcn: 100,
ul_earfcn: 18100, ul_earfcn: 18100,
root_sequence_index: 204, root_sequence_index: 204,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -93,69 +93,69 @@ ...@@ -93,69 +93,69 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{ {
cell_id: 0x22, // + CELL4 cell_id: 0x22, // + CELL4
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
n_rb_dl: 100, n_rb_dl: 100,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: 0, p_a: 0,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
}, },
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 2, srs_bandwidth_config: 2,
srs_bandwidth: 3, srs_bandwidth: 3,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL2-drb.cfg", drb_config: "CELL2-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL2-sib23.asn", filename: "CELL2-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
// CELL4 (RU__0004) // CELL4 (RU__0004)
{ {
rf_port: 1, rf_port: 1,
n_antenna_dl: 1, n_antenna_dl: 1,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x22, cell_id: 0x22,
tac: 0x1234, tac: 0x1234,
n_id_cell: 22, n_id_cell: 22,
dl_earfcn: 500, dl_earfcn: 500,
ul_earfcn: 18500, ul_earfcn: 18500,
root_sequence_index: 205, root_sequence_index: 205,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -195,52 +195,52 @@ ...@@ -195,52 +195,52 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
{ {
cell_id: 0x21, // + CELL2 cell_id: 0x21, // + CELL2
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
n_rb_dl: 100, n_rb_dl: 100,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: 0, p_a: 0,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
}, },
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 2, srs_bandwidth_config: 2,
srs_bandwidth: 3, srs_bandwidth: 3,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL4-drb.cfg", drb_config: "CELL4-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL4-sib23.asn", filename: "CELL4-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
], ],
cell_default: { cell_default: {
plmn_list: [ plmn_list: [
......
...@@ -47,22 +47,22 @@ ...@@ -47,22 +47,22 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
// CELL__a (RU1) // CELL__a (RU1)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 2, n_antenna_dl: 2,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x21, cell_id: 0x21,
tac: 0x1234, tac: 0x1234,
n_id_cell: 21, n_id_cell: 21,
dl_earfcn: 3350, dl_earfcn: 3350,
ul_earfcn: 21350, ul_earfcn: 21350,
root_sequence_index: 204, root_sequence_index: 204,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -97,56 +97,56 @@ ...@@ -97,56 +97,56 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
], ],
// Dual Connectivity: LTE + NR // Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [ en_dc_scg_cell_list: [
{ {
cell_id: 0x22, // + CELL__b cell_id: 0x22, // + CELL__b
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
n_rb_dl: 25, n_rb_dl: 25,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: -3, p_a: -3,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
}, },
m_ri: 8, m_ri: 8,
transmission_mode: 3, transmission_mode: 3,
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 3, srs_bandwidth_config: 3,
srs_bandwidth: 1, srs_bandwidth: 1,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL__a-drb.cfg", drb_config: "CELL__a-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL__a-sib23.asn", filename: "CELL__a-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
], ],
cell_default: { cell_default: {
plmn_list: [ plmn_list: [
...@@ -241,27 +241,27 @@ ...@@ -241,27 +241,27 @@
// NR cells // NR cells
nr_cell_list: [ nr_cell_list: [
// CELL__b (RU2) // CELL__b (RU2)
{ {
rf_port: 1, rf_port: 1,
n_antenna_dl: 2, n_antenna_dl: 2,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x22, cell_id: 0x22,
n_id_cell: 22, n_id_cell: 22,
band: 7, band: 7,
dl_nr_arfcn: 537200, dl_nr_arfcn: 537200,
ul_nr_arfcn: 513200, ul_nr_arfcn: 513200,
bandwidth: 5, bandwidth: 5,
subcarrier_spacing: 15, subcarrier_spacing: 15,
ssb_nr_arfcn: 537170, ssb_nr_arfcn: 537170,
ssb_pos_bitmap: "1000", ssb_pos_bitmap: "1000",
root_sequence_index: 2, root_sequence_index: 1,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -301,139 +301,139 @@ ...@@ -301,139 +301,139 @@
}, },
], ],
// Carrier Aggregation: NR + NR // Carrier Aggregation: NR + NR
scell_list: [ scell_list: [
], ],
// tune NR parameters for the cell
// tune NR parameters for the cell
prach: {
ra_response_window: 10,
},
prach: { pdcch: {
ra_response_window: 10, uss: {
n_candidates: [ 0, 2, 1, 0, 0 ],
dci_0_1_and_1_1: true,
}, },
},
pdsch: {
},
pusch: {
},
pdcch: { csi_rs: {
uss: { nzp_csi_rs_resource: [
n_candidates: [ 0, 2, 1, 0, 0 ], {
dci_0_1_and_1_1: true, n_ports: 2,
frequency_domain_allocation: "other",
bitmap: "100000",
cdm_type: "fd_cdm2",
}, },
}, {
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
],
pdsch: { nzp_csi_rs_resource_set: [
}, {},
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
],
pusch: { csi_resource_config: [
}, {},
{},
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
],
csi_rs: { csi_report_config: [
nzp_csi_rs_resource: [ {
{ codebook_config: {
n_ports: 2, codebook_type: "type1",
frequency_domain_allocation: "other", sub_type: "typeI_SinglePanel",
bitmap: "100000",
cdm_type: "fd_cdm2",
},
{
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
],
nzp_csi_rs_resource_set: [
{},
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
],
csi_resource_config: [
{},
{},
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
],
csi_report_config: [
{
codebook_config: {
codebook_type: "type1",
sub_type: "typeI_SinglePanel",
},
}, },
], },
],
}, },
drb_config: "CELL__b-drb.cfg", drb_config: "CELL__b-drb.cfg",
}, },
], ],
nr_cell_default: { nr_cell_default: {
ssb_period: 20, ssb_period: 20,
......
...@@ -43,22 +43,22 @@ ...@@ -43,22 +43,22 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
// CELL__a (RU1) // CELL__a (RU1)
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 2, n_antenna_dl: 2,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x01, cell_id: 0x01,
tac: 0x1234, tac: 0x1234,
n_id_cell: 1, n_id_cell: 1,
dl_earfcn: 38050, dl_earfcn: 38050,
ul_earfcn: 38050, ul_earfcn: 38050,
root_sequence_index: 204, root_sequence_index: 204,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -93,59 +93,59 @@ ...@@ -93,59 +93,59 @@
}, },
], ],
// Carrier Aggregation: LTE + LTE // Carrier Aggregation: LTE + LTE
scell_list: [ scell_list: [
], ],
// Dual Connectivity: LTE + NR // Dual Connectivity: LTE + NR
en_dc_scg_cell_list: [ en_dc_scg_cell_list: [
{ {
cell_id: 0x02, // + CELL__b cell_id: 0x02, // + CELL__b
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
uldl_config: 2, uldl_config: 2,
sp_config: 7, sp_config: 7,
n_rb_dl: 25, n_rb_dl: 25,
si_coderate: 0.2, si_coderate: 0.2,
pdsch_dedicated: { pdsch_dedicated: {
p_a: -3, p_a: -3,
p_b: -1, p_b: -1,
}, },
pdcch_format: 2, pdcch_format: 2,
prach_config_index: 4, prach_config_index: 4,
initial_cqi: 3, initial_cqi: 3,
pucch_dedicated: { pucch_dedicated: {
n1_pucch_sr_count: 11, n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1, cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8, n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3, n3_pucch_an_n_rb: 3,
tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */ tdd_ack_nack_feedback_mode: "multiplexing", /* TDD only */
}, },
m_ri: 8, m_ri: 8,
transmission_mode: 3, transmission_mode: 3,
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 3, srs_bandwidth_config: 3,
srs_bandwidth: 1, srs_bandwidth: 1,
srs_subframe_config: 3, srs_subframe_config: 3,
srs_period: 40, srs_period: 40,
srs_hopping_bandwidth: 0, srs_hopping_bandwidth: 0,
}, },
drb_config: "CELL__a-drb.cfg", drb_config: "CELL__a-drb.cfg",
sib_sched_list: [ sib_sched_list: [
{ {
filename: "CELL__a-sib23.asn", filename: "CELL__a-sib23.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
], ],
}, },
], ],
cell_default: { cell_default: {
plmn_list: [ plmn_list: [
...@@ -240,27 +240,27 @@ ...@@ -240,27 +240,27 @@
// NR cells // NR cells
nr_cell_list: [ nr_cell_list: [
// CELL__b (RU2) // CELL__b (RU2)
{ {
rf_port: 1, rf_port: 1,
n_antenna_dl: 2, n_antenna_dl: 2,
n_antenna_ul: 1, n_antenna_ul: 1,
cell_id: 0x02, cell_id: 0x02,
n_id_cell: 2, n_id_cell: 2,
band: 41, band: 41,
dl_nr_arfcn: 523020, dl_nr_arfcn: 523020,
ul_nr_arfcn: 523020, ul_nr_arfcn: 523020,
bandwidth: 10, bandwidth: 10,
subcarrier_spacing: 30, subcarrier_spacing: 30,
ssb_nr_arfcn: 522990, ssb_nr_arfcn: 522990,
ssb_pos_bitmap: "10000000", ssb_pos_bitmap: "10000000",
root_sequence_index: 2, root_sequence_index: 1,
inactivity_timer: 10000, inactivity_timer: 10000,
// Handover // Handover
ncell_list: [ ncell_list: [
// Intra-ENB HO // Intra-ENB HO
{ {
...@@ -300,149 +300,149 @@ ...@@ -300,149 +300,149 @@
}, },
], ],
// Carrier Aggregation: NR + NR // Carrier Aggregation: NR + NR
scell_list: [ scell_list: [
], ],
// tune NR parameters for the cell // tune NR parameters for the cell
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
period: 5, period: 5,
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 4, ul_symbols: 4,
},
}, },
},
prach: {
ra_response_window: 20,
},
prach: { pdcch: {
ra_response_window: 20, uss: {
n_candidates: [ 0, 2, 1, 0, 0 ],
dci_0_1_and_1_1: true,
}, },
},
pdsch: {
},
pusch: {
},
pdcch: { csi_rs: {
uss: { nzp_csi_rs_resource: [
n_candidates: [ 0, 2, 1, 0, 0 ], {
dci_0_1_and_1_1: true, n_ports: 2,
frequency_domain_allocation: "other",
bitmap: "100000",
cdm_type: "fd_cdm2",
}, },
}, {
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
],
pdsch: { nzp_csi_rs_resource_set: [
}, {},
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
],
pusch: { csi_resource_config: [
}, {},
{},
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
],
csi_rs: { csi_report_config: [
nzp_csi_rs_resource: [ {
{ codebook_config: {
n_ports: 2, codebook_type: "type1",
frequency_domain_allocation: "other", sub_type: "typeI_SinglePanel",
bitmap: "100000",
cdm_type: "fd_cdm2",
},
{
csi_rs_id: 1,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 2,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 11,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 3,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 4,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
{
csi_rs_id: 4,
n_ports: 1,
frequency_domain_allocation: "row1",
bitmap: "0001",
cdm_type: "no_cdm",
density: 3,
first_symb: 8,
rb_start: 0,
l_crb: -1,
power_control_offset: 0,
power_control_offset_ss: 0,
period: 40,
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
],
nzp_csi_rs_resource_set: [
{},
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
],
csi_resource_config: [
{},
{},
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
],
csi_report_config: [
{
codebook_config: {
codebook_type: "type1",
sub_type: "typeI_SinglePanel",
},
}, },
], },
],
}, },
drb_config: "CELL__b-drb.cfg", drb_config: "CELL__b-drb.cfg",
}, },
], ],
nr_cell_default: { nr_cell_default: {
ssb_period: 20, ssb_period: 20,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment