Commit 76655434 authored by Kirill Smelkov's avatar Kirill Smelkov

X Prepare for 3·RU CA test

parent 26354f99
...@@ -9,17 +9,18 @@ ...@@ -9,17 +9,18 @@
name: "sdr", name: "sdr",
// RU_0002 1T1R // RU_0002 1T1R
// RU_0004 1T1R // RU_0004 1T1R
args: "dev0=/dev/sdr0@0,dev1=/dev/sdr0@1", // RU_XXXX 1T1R
cpri_mapping: "hw,hw", args: "dev0=/dev/sdr0@0,dev1=/dev/sdr0@1,dev2=/dev/sdr0@2",
cpri_mult: "8,8", cpri_mapping: "hw,hw,hw",
cpri_rx_delay: "25.11,25.11", cpri_mult: "8,8,8",
cpri_tx_delay: "14.71,14.71", cpri_rx_delay: "25.11,25.11,25.11",
cpri_tx_dbm: "63,63", cpri_tx_delay: "14.71,14.71,14.71",
ifname: "slaptap9-0,slaptap9-1", cpri_tx_dbm: "63,63,63",
ifname: "slaptap9-0,slaptap9-1,slaptap9-2",
cpri_debug: 2, cpri_debug: 2,
}, },
tx_gain: [0, 0], tx_gain: [0, 0, 0],
rx_gain: [0, 0], rx_gain: [0, 0, 0],
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 ?
...@@ -71,6 +72,13 @@ ...@@ -71,6 +72,13 @@
dl_earfcn: 500, dl_earfcn: 500,
tac: 0x0001, tac: 0x0001,
}, },
{
rat: "eutra",
cell_id: 0x1A2D023, // -> CELLX
n_id_cell: 23,
dl_earfcn: 300,
tac: 0x0001,
},
// Inter-ENB HO // Inter-ENB HO
...@@ -82,6 +90,10 @@ ...@@ -82,6 +90,10 @@
cell_id: 0x22, // + CELL4 cell_id: 0x22, // + CELL4
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
{
cell_id: 0x23, // + CELLX
cross_carrier_scheduling: false,
},
], ],
...@@ -635,6 +647,13 @@ ...@@ -635,6 +647,13 @@
dl_earfcn: 100, dl_earfcn: 100,
tac: 0x0001, tac: 0x0001,
}, },
{
rat: "eutra",
cell_id: 0x1A2D023, // -> CELLX
n_id_cell: 23,
dl_earfcn: 300,
tac: 0x0001,
},
// Inter-ENB HO // Inter-ENB HO
...@@ -646,6 +665,10 @@ ...@@ -646,6 +665,10 @@
cell_id: 0x21, // + CELL2 cell_id: 0x21, // + CELL2
cross_carrier_scheduling: false, cross_carrier_scheduling: false,
}, },
{
cell_id: 0x23, // + CELLX
cross_carrier_scheduling: false,
},
], ],
...@@ -1174,6 +1197,581 @@ ...@@ -1174,6 +1197,581 @@
logicalChannelSR_Prohibit: false, logicalChannelSR_Prohibit: false,
}, },
}, },
]
},
// CELLX
{
rf_port: 2,
n_antenna_dl: 1,
n_antenna_ul: 1,
cell_id: 0x23,
tac: 0x0001,
n_id_cell: 23,
dl_earfcn: 300,
root_sequence_index: 206,
// Handover XXX same code for both LTE and NR
ncell_list: [
// Intra-ENB HO
{
rat: "eutra",
cell_id: 0x1A2D021, // -> CELL2
n_id_cell: 21,
dl_earfcn: 100,
tac: 0x0001,
},
{
rat: "eutra",
cell_id: 0x1A2D022, // -> CELL4
n_id_cell: 22,
dl_earfcn: 500,
tac: 0x0001,
},
// Inter-ENB HO
],
// Carrier Aggregation // XXX + CA LTE-NR
scell_list: [
{
cell_id: 0x21, // + CELL2
cross_carrier_scheduling: false,
},
{
cell_id: 0x22, // + CELL4
cross_carrier_scheduling: false,
},
],
// tune LTE parameters for the cell
n_rb_dl: 75,
si_coderate: 0.2,
pdsch_dedicated: {
p_a: 0,
p_b: -1,
},
pdcch_format: 2,
prach_config_index: 4,
initial_cqi: 3,
pucch_dedicated: {
n1_pucch_sr_count: 11,
cqi_pucch_n_rb: 1,
n1_pucch_an_cs_count: 8,
n3_pucch_an_n_rb: 3,
},
srs_dedicated: {
srs_bandwidth_config: 2,
srs_bandwidth: 3,
srs_subframe_config: 3,
srs_period: 40,
srs_hopping_bandwidth: 0,
},
drb_config:
[
{
qci: 1,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 7,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 5,
},
dl_um: {
sn_FieldLength: 5,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 2,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 9,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 3,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 8,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 4,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 10,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 65,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 7,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 5,
},
dl_um: {
sn_FieldLength: 5,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 5,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 66,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 67,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 6,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 5,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 6,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 6,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 12,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 7,
pdcp_config: {
discardTimer: 100,
pdcp_SN_Size: 12,
},
nr_pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_um: {
sn_FieldLength: 10,
},
dl_um: {
sn_FieldLength: 10,
t_Reordering: 35,
},
},
logical_channel_config: {
priority: 13,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 8,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 14,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 9,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
en_dc_split: {
type: "scg",
ul_data_threshold: 0
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 15,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 3,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 69,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 4,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
{
qci: 70,
pdcp_config: {
discardTimer: 0,
statusReportRequired: true,
},
nr_pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
restrict_to_ng_enb: true,
},
rlc_config: {
ul_am: {
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 32,
},
dl_am: {
t_Reordering: 35,
t_StatusProhibit: 10,
},
},
logical_channel_config: {
priority: 11,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
logicalChannelSR_Mask: false,
logicalChannelSR_Prohibit: false,
},
},
] ]
}, },
], ],
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
name: "sdr", name: "sdr",
// _UCELL1_ru 1T1R // _UCELL1_ru 1T1R
// _UCELL2_ru 1T1R // _UCELL2_ru 1T1R
args: "dev0=/dev/sdr2,dev1=/dev/sdr3", // _UCELLX_ru 1T1R
args: "dev0=/dev/sdr2,dev1=/dev/sdr3,dev2=/dev/sdr4",
rx_antenna:"tx_rx", rx_antenna:"tx_rx",
tdd_tx_mod: 1, tdd_tx_mod: 1,
}, },
tx_gain: [70, 70], tx_gain: [70, 70, 70],
rx_gain: [60, 60], rx_gain: [60, 60, 60],
cell_groups: [{ cell_groups: [{
...@@ -50,6 +51,18 @@ ...@@ -50,6 +51,18 @@
global_timing_advance: -1, global_timing_advance: -1,
}, },
// UCELLX
{
rf_port: 2,
n_antenna_dl: 1,
n_antenna_ul: 1,
dl_earfcn: 300,
bandwidth: 15,
global_timing_advance: -1,
},
], ],
pdcch_decode_opt: false, pdcch_decode_opt: false,
pdcch_decode_opt_threshold: 0.1, pdcch_decode_opt_threshold: 0.1,
......
...@@ -213,7 +213,7 @@ def iRU3_SDR1_fLTE2(ienb): ...@@ -213,7 +213,7 @@ def iRU3_SDR1_fLTE2(ienb):
} }
}) })
def iRU2_LOPCOMM_fLTE2(ienb): def iRU2_LOPCOMM_fLTE3(ienb):
# supports: 2110 - 2170 MHz # supports: 2110 - 2170 MHz
RU_0002 = { RU_0002 = {
'ru_type': 'lopcomm', 'ru_type': 'lopcomm',
...@@ -239,6 +239,10 @@ def iRU2_LOPCOMM_fLTE2(ienb): ...@@ -239,6 +239,10 @@ def iRU2_LOPCOMM_fLTE2(ienb):
# RU_0004['mac_addr'] = 'YYY' # RU_0004['mac_addr'] = 'YYY'
RU_0004['cpri_link']['sfp_port'] = 1 RU_0004['cpri_link']['sfp_port'] = 1
RU_XXXX = copy.deepcopy(RU_0002)
# RU_XXXX['mac_addr'] = 'ZZZ'
RU_XXXX['cpri_link']['sfp_port'] = 2
if 1: if 1:
ienb.ishared('Radio Unit 2a', '_RU_0002', RU_0002) ienb.ishared('Radio Unit 2a', '_RU_0002', RU_0002)
ienb.ishared('Cell 2', '_CELL2', { ienb.ishared('Cell 2', '_CELL2', {
...@@ -269,12 +273,27 @@ def iRU2_LOPCOMM_fLTE2(ienb): ...@@ -269,12 +273,27 @@ def iRU2_LOPCOMM_fLTE2(ienb):
} }
}) })
if 1:
ienb.ishared('Radio Unit 2c', '_RU_XXXX', RU_XXXX)
ienb.ishared('Cell X', '_CELLX', {
'cell_type': 'lte',
'rf_mode': 'fdd',
'bandwidth': '15 MHz',
'dl_earfcn': 300, # 2140 MHz @ B1
'pci': 23,
'cell_id': '0x23',
'ru': {
'ru_type': 'ru_ref',
'ru_ref': 'RU_XXXX'
}
})
def do_enb(): def do_enb():
ienb = Instance('enb') ienb = Instance('enb')
#iRU1_SDR_tLTE2_tNR(ienb) #iRU1_SDR_tLTE2_tNR(ienb)
#iRU2_LOPCOMM_fLTE_fNR(ienb) #iRU2_LOPCOMM_fLTE_fNR(ienb)
#iRU3_SDR1_fLTE2(ienb) #iRU3_SDR1_fLTE2(ienb)
iRU2_LOPCOMM_fLTE2(ienb) iRU2_LOPCOMM_fLTE3(ienb)
jshared_instance_list = json.dumps(ienb.shared_instance_list) jshared_instance_list = json.dumps(ienb.shared_instance_list)
json_params = """{ json_params = """{
...@@ -307,7 +326,6 @@ def do_ue(): ...@@ -307,7 +326,6 @@ def do_ue():
'ue_cell_type': 'lte', 'ue_cell_type': 'lte',
'rf_mode': 'fdd', 'rf_mode': 'fdd',
'bandwidth': '20 MHz', 'bandwidth': '20 MHz',
# 'dl_earfcn': 38050, # 2600 MHz
'dl_earfcn': 100, # 2120 MHz 'dl_earfcn': 100, # 2120 MHz
'ru': { 'ru': {
'ru_type': 'sdr', 'ru_type': 'sdr',
...@@ -335,6 +353,22 @@ def do_ue(): ...@@ -335,6 +353,22 @@ def do_ue():
'rx_gain': 60, 'rx_gain': 60,
} }
}) })
if 1:
iue.ishared('Cell X', '_UCELLX', {
'ue_cell_type': 'lte',
'rf_mode': 'fdd',
'bandwidth': '15 MHz',
'dl_earfcn': 300, # 2140 MHz
'ru': {
'ru_type': 'sdr',
'ru_link_type': 'sdr',
'sdr_dev_list': [4],
'n_antenna_dl': 1,
'n_antenna_ul': 1,
'tx_gain': 70,
'rx_gain': 60,
}
})
iue.ishared('UE 1', '_UE1', { iue.ishared('UE 1', '_UE1', {
'sim_algo': 'xor', 'sim_algo': 'xor',
......
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