Commit bbdbba1e authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 5cbe3f48
...@@ -4,16 +4,15 @@ ...@@ -4,16 +4,15 @@
rf_driver: { rf_driver: {
name: "sdr", name: "sdr",
args: "dev0=/dev/sdr1", args: "dev0=/dev/sdr0,dev1=/dev/sdr1",
rx_antenna:"tx_rx", rx_antenna:"tx_rx",
tdd_tx_mod: 1, tdd_tx_mod: 1,
}, },
tx_gain: [51, 51, 51, 51],
tx_gain: 67, rx_gain: [52, 52],
rx_gain: 60,
com_addr: "127.0.1.2:9001", com_addr: "127.0.1.2:9001",
// XXX only if slapparameter_dict.get('mme_list') || has LTE cell ? // XXX only if slapparameter_dict.get('mme_list') || has LTE cell ?
...@@ -43,16 +42,16 @@ ...@@ -43,16 +42,16 @@
// LTE cells // LTE cells
cell_list: [ cell_list: [
// CELL3_a // CELL1_a
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 1, n_antenna_dl: 4,
n_antenna_ul: 1, n_antenna_ul: 2,
cell_id: 0x01, cell_id: 0x01,
tac: 0x0001, tac: 0x0001,
n_id_cell: 1, n_id_cell: 1,
dl_earfcn: 3350, dl_earfcn: 38050,
root_sequence_index: 204, root_sequence_index: 204,
// Handover XXX same code for both LTE and NR // Handover XXX same code for both LTE and NR
...@@ -60,11 +59,26 @@ ...@@ -60,11 +59,26 @@
// Intra-ENB HO // Intra-ENB HO
{ {
rat: "eutra", rat: "eutra",
cell_id: 0x1A2D002, // -> CELL3_b cell_id: 0x1A2D002, // -> CELL1_b
n_id_cell: 1, n_id_cell: 2,
dl_earfcn: 3050, dl_earfcn: 38100,
tac: 0x0001, tac: 0x0001,
}, },
{
rat: "nr",
nr_cell_id: 0x1234503, // -> CELL1_c
n_id_cell: 3,
gnb_id_bits
dl_nr_arfcn
ssb_nr_arfcn ... + lte.default_ssb_nr_arfcn(cell2.dl_nr_arfcn)
ul_nr_arfcn
tac
band
ssb_subcarrier_spacing: 30,
ssb_period: 20,
ssb_offset: 0,
ssb_duration: 1,
},
// Inter-ENB HO // Inter-ENB HO
...@@ -73,18 +87,20 @@ ...@@ -73,18 +87,20 @@
// Carrier Aggregation // XXX + CA LTE-NR // Carrier Aggregation // XXX + CA LTE-NR
scell_list: [ scell_list: [
{ {
cell_id: 0x02, // + CELL3_b cell_id: 0x02, // + CELL1_b
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
uldl_config: 2,
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: 0, p_a: -6,
p_b: -1, p_b: -1,
}, },
...@@ -97,7 +113,10 @@ ...@@ -97,7 +113,10 @@
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 */
}, },
m_ri: 8,
transmission_mode: 3,
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 2, srs_bandwidth_config: 2,
...@@ -135,7 +154,7 @@ ...@@ -135,7 +154,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 5, sn_FieldLength: 5,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -170,7 +189,7 @@ ...@@ -170,7 +189,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -203,7 +222,7 @@ ...@@ -203,7 +222,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -237,7 +256,7 @@ ...@@ -237,7 +256,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -276,7 +295,7 @@ ...@@ -276,7 +295,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 5, sn_FieldLength: 5,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -311,7 +330,7 @@ ...@@ -311,7 +330,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -346,7 +365,7 @@ ...@@ -346,7 +365,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -381,7 +400,7 @@ ...@@ -381,7 +400,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -416,7 +435,7 @@ ...@@ -416,7 +435,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -450,7 +469,7 @@ ...@@ -450,7 +469,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -484,7 +503,7 @@ ...@@ -484,7 +503,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -522,7 +541,7 @@ ...@@ -522,7 +541,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -557,7 +576,7 @@ ...@@ -557,7 +576,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -592,7 +611,7 @@ ...@@ -592,7 +611,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -608,16 +627,16 @@ ...@@ -608,16 +627,16 @@
] ]
}, },
// CELL3_b // CELL1_b
{ {
rf_port: 0, rf_port: 0,
n_antenna_dl: 1, n_antenna_dl: 4,
n_antenna_ul: 1, n_antenna_ul: 2,
cell_id: 0x02, cell_id: 0x02,
tac: 0x0001, tac: 0x0001,
n_id_cell: 1, n_id_cell: 2,
dl_earfcn: 3050, dl_earfcn: 38100,
root_sequence_index: 205, root_sequence_index: 205,
// Handover XXX same code for both LTE and NR // Handover XXX same code for both LTE and NR
...@@ -625,11 +644,26 @@ ...@@ -625,11 +644,26 @@
// Intra-ENB HO // Intra-ENB HO
{ {
rat: "eutra", rat: "eutra",
cell_id: 0x1A2D001, // -> CELL3_a cell_id: 0x1A2D001, // -> CELL1_a
n_id_cell: 1, n_id_cell: 1,
dl_earfcn: 3350, dl_earfcn: 38050,
tac: 0x0001, tac: 0x0001,
}, },
{
rat: "nr",
nr_cell_id: 0x1234503, // -> CELL1_c
n_id_cell: 3,
gnb_id_bits
dl_nr_arfcn
ssb_nr_arfcn ... + lte.default_ssb_nr_arfcn(cell2.dl_nr_arfcn)
ul_nr_arfcn
tac
band
ssb_subcarrier_spacing: 30,
ssb_period: 20,
ssb_offset: 0,
ssb_duration: 1,
},
// Inter-ENB HO // Inter-ENB HO
...@@ -638,18 +672,20 @@ ...@@ -638,18 +672,20 @@
// Carrier Aggregation // XXX + CA LTE-NR // Carrier Aggregation // XXX + CA LTE-NR
scell_list: [ scell_list: [
{ {
cell_id: 0x01, // + CELL3_a cell_id: 0x01, // + CELL1_a
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
], ],
// tune LTE parameters for the cell // tune LTE parameters for the cell
uldl_config: 2,
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: 0, p_a: -6,
p_b: -1, p_b: -1,
}, },
...@@ -662,7 +698,10 @@ ...@@ -662,7 +698,10 @@
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 */
}, },
m_ri: 8,
transmission_mode: 3,
srs_dedicated: { srs_dedicated: {
srs_bandwidth_config: 2, srs_bandwidth_config: 2,
...@@ -700,7 +739,7 @@ ...@@ -700,7 +739,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 5, sn_FieldLength: 5,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -735,7 +774,7 @@ ...@@ -735,7 +774,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -768,7 +807,7 @@ ...@@ -768,7 +807,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -802,7 +841,7 @@ ...@@ -802,7 +841,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -841,7 +880,7 @@ ...@@ -841,7 +880,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 5, sn_FieldLength: 5,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -876,7 +915,7 @@ ...@@ -876,7 +915,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -911,7 +950,7 @@ ...@@ -911,7 +950,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -946,7 +985,7 @@ ...@@ -946,7 +985,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -981,7 +1020,7 @@ ...@@ -981,7 +1020,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -1015,7 +1054,7 @@ ...@@ -1015,7 +1054,7 @@
}, },
dl_um: { dl_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
t_Reordering: 35, t_Reordering: 65,
}, },
}, },
logical_channel_config: { logical_channel_config: {
...@@ -1049,7 +1088,7 @@ ...@@ -1049,7 +1088,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -1087,7 +1126,7 @@ ...@@ -1087,7 +1126,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -1122,7 +1161,7 @@ ...@@ -1122,7 +1161,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
...@@ -1157,7 +1196,7 @@ ...@@ -1157,7 +1196,7 @@
maxRetxThreshold: 32, maxRetxThreshold: 32,
}, },
dl_am: { dl_am: {
t_Reordering: 35, t_Reordering: 65,
t_StatusProhibit: 10, t_StatusProhibit: 10,
}, },
}, },
......
...@@ -186,8 +186,10 @@ ...@@ -186,8 +186,10 @@
XXX belowe we continue as if sdr and cpri are both supported by enb simultaneously #} XXX belowe we continue as if sdr and cpri are both supported by enb simultaneously #}
{%- set dev_argv = [] %} {%- set dev_argv = [] %}
{%- set ru_sdr_dict = {} %} {# dev -> ru for ru with ru_type = sdr #} {%- set ru_sdr_dict = {} %} {#- dev -> ru for ru with ru_type = sdr #}
{%- set ru_cpri_dict = {} %} {# dev -> ru for ru with link_kind = cpri #} {%- set ru_cpri_dict = {} %} {#- dev -> ru for ru with link_kind = cpri #}
{%- set tx_gainv = [] %} {#- tx_gain by tx channel #}
{%- set rx_gainv = [] %} {#- rx_gain by tx channel #}
{%- for rf_port, (ru_ref, iru) in enumerate(iru_dict|dictsort) %} {%- for rf_port, (ru_ref, iru) in enumerate(iru_dict|dictsort) %}
{%- set ru = iru['_'] %} {%- set ru = iru['_'] %}
{%- do ru.update({'_rf_port': rf_port}) %} {%- do ru.update({'_rf_port': rf_port}) %}
...@@ -208,6 +210,8 @@ ...@@ -208,6 +210,8 @@
{%- else %} {%- else %}
{%- do bug('unreachable') %} {%- do bug('unreachable') %}
{%- endif %} {%- endif %}
{%- do tx_gainv.extend([ru.tx_gain]*ru.n_antenna_dl) %}
{%- do rx_gainv.extend([ru.rx_gain]*ru.n_antenna_ul) %}
{%- endfor %} {%- endfor %}
args: "{{dev_argv | join(',')}}", args: "{{dev_argv | join(',')}}",
...@@ -244,11 +248,8 @@ ...@@ -244,11 +248,8 @@
{%- endif %} {%- endif %}
}, },
// XXX handle tx_gain/rx_gain from RU tx_gain: {{ tx_gainv }},
{# TODO amarisoft doc says tx_gain/rx_gain are per-channel -> allow separate configuration rx_gain: {{ rx_gainv }},
NOTE one RF port can consist of multiple DL and multiple UL channels #}
tx_gain: {{ tx_gain }},
rx_gain: {{ rx_gain }},
{%- if slapparameter_dict.get('websocket_password', '') %} {%- if slapparameter_dict.get('websocket_password', '') %}
......
...@@ -177,9 +177,9 @@ def iRU3_SDR1_fLTE2(): ...@@ -177,9 +177,9 @@ def iRU3_SDR1_fLTE2():
#iRU1_SDR_tLTE2_tNR() iRU1_SDR_tLTE2_tNR()
#iRU2_LOPCOMM_fLTE_fNR() #iRU2_LOPCOMM_fLTE_fNR()
iRU3_SDR1_fLTE2() #iRU3_SDR1_fLTE2()
jshared_instance_list = json.dumps(shared_instance_list) jshared_instance_list = json.dumps(shared_instance_list)
......
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