Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
0092ab02
Commit
0092ab02
authored
May 04, 2023
by
Joanne Hugé
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ors-amarisoft: update gNB conf and add new parameters
parent
bec917b4
Changes
23
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
1049 additions
and
701 deletions
+1049
-701
software/ors-amarisoft/buildout.hash.cfg
software/ors-amarisoft/buildout.hash.cfg
+2
-2
software/ors-amarisoft/config/enb.jinja2.cfg
software/ors-amarisoft/config/enb.jinja2.cfg
+4
-0
software/ors-amarisoft/config/gnb.jinja2.cfg
software/ors-amarisoft/config/gnb.jinja2.cfg
+380
-552
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
+18
-12
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
+28
-0
software/ors-amarisoft/instance-tdd-enb-input-schema.json
software/ors-amarisoft/instance-tdd-enb-input-schema.json
+18
-12
software/ors-amarisoft/instance-tdd-gnb-input-schema.json
software/ors-amarisoft/instance-tdd-gnb-input-schema.json
+28
-0
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-enb-input-schema.json
+18
-12
software/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
+29
-1
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-enb-input-schema.json
+18
-12
software/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
+28
-0
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-enb-input-schema.json
+18
-12
software/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
+28
-0
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-enb-input-schema.json
+18
-12
software/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
...ware/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
+28
-0
software/ors-amarisoft/render-templates
software/ors-amarisoft/render-templates
+1
-1
software/ors-amarisoft/software-tdd1900.cfg
software/ors-amarisoft/software-tdd1900.cfg
+1
-1
software/ors-amarisoft/test/test.jinja2.py
software/ors-amarisoft/test/test.jinja2.py
+64
-12
software/ors-amarisoft/test/testTDD.py
software/ors-amarisoft/test/testTDD.py
+64
-12
software/ors-amarisoft/test/testTDD1900.py
software/ors-amarisoft/test/testTDD1900.py
+64
-12
software/ors-amarisoft/test/testTDD2600.py
software/ors-amarisoft/test/testTDD2600.py
+64
-12
software/ors-amarisoft/test/testTDD3500.py
software/ors-amarisoft/test/testTDD3500.py
+64
-12
software/ors-amarisoft/test/testTDD3700.py
software/ors-amarisoft/test/testTDD3700.py
+64
-12
No files found.
software/ors-amarisoft/buildout.hash.cfg
View file @
0092ab02
...
...
@@ -64,7 +64,7 @@ md5sum = dcaac06553a3222b14c0013a13f4a149
[enb.jinja2.cfg]
filename = config/enb.jinja2.cfg
md5sum =
1333ef2400f2088221ed879f1b03e777
md5sum =
879c015828ba33edf751358f163a45ba
[sib23.asn]
filename = config/sib23.asn
...
...
@@ -72,7 +72,7 @@ md5sum = b377dac7f1fcf94fb9ce9ebed617f36a
[gnb.jinja2.cfg]
filename = config/gnb.jinja2.cfg
md5sum =
53669190f81b7cdae8982ec74081a4d1
md5sum =
8e9cdf44578c7a4f5de2d7828b9d6aa7
[ltelogs.jinja2.sh]
filename = ltelogs.jinja2.sh
...
...
software/ors-amarisoft/config/enb.jinja2.cfg
View file @
0092ab02
...
...
@@ -3,7 +3,11 @@
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', slap_configuration['configuration.default_n_antenna_ul']) }}
{
{% if slapparameter_dict.get('log_phy_debug', False) %}
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=debug,file.rotate=1G,file.path=/dev/null",
{% else %}
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
{% endif %}
log_filename: "{{ directory['log'] }}/enb.log",
{% if slapparameter_dict.get('rrh', '') == "Lopcomm ORAN" %}
...
...
software/ors-amarisoft/config/gnb.jinja2.cfg
View file @
0092ab02
#define FR2 0 // Values: 0 (FR1), 1 (FR2)
#define NR_TDD_CONFIG 2 // Values: FR1: 1, 2, 3, 4 (compatible with LTE TDD config 2) FR2: 10
#define N_ANTENNA_DL {{ slapparameter_dict.get('n_antenna_dl', slap_configuration['configuration.default_n_antenna_dl']) }} // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define N_ANTENNA_DL {{ slapparameter_dict.get('n_antenna_dl', slap_configuration['configuration.default_n_antenna_dl']) }}
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %}
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', 1) }}
// Values: 1, 2, 4
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', 1) }}
{% else %}
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', slap_configuration['configuration.default_n_antenna_dl']) }}
// Values: 1, 2, 4
#define N_ANTENNA_UL {{ slapparameter_dict.get('n_antenna_ul', slap_configuration['configuration.default_n_antenna_dl']) }}
{% endif %}
#define NR_BANDWIDTH {{ slapparameter_dict.get('nr_bandwidth', slap_configuration['configuration.default_nr_bandwidth']) }} // NR cell bandwidth
#define NR_LONG_PUCCH_FORMAT 2 // Values: 2, 3, 4
{
{% if slapparameter_dict.get('log_phy_debug', False) %}
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=debug,file.rotate=1G,file.path=/dev/null",
{% else %}
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
{% endif %}
log_filename: "{{ directory['log'] }}/gnb.log",
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %}
rf_driver: {
name: "sdr",
...
...
@@ -39,7 +37,6 @@
rx_gain: {{ slapparameter_dict.get('rx_gain', slap_configuration['configuration.default_nr_rx_gain']) }},
{% endif %}
com_addr: "127.0.1.2:9001",
amf_list: [
{% if slapparameter_dict.get('amf_list', '') %}
{%- for i, k in enumerate(slapparameter_dict['amf_list']) %}
...
...
@@ -78,25 +75,8 @@
gnb_id_bits: {{ slapparameter_dict.get('gnb_id_bits', 28) }},
gnb_id: {{ slapparameter_dict.get('gnb_id', '0x12345') }},
nr_support: true,
rf_ports: [
{
#if FR2
rf_dl_freq: 3500,
rf_ul_freq: 3500,
// rx_to_tx_latency: 1,
#endif
},
],
en_dc_support: true,
cell_list: [],
nr_cell_list: [
{
rf_port: 0,
...
...
@@ -105,7 +85,6 @@
dl_nr_arfcn: {{ slapparameter_dict.get('dl_nr_arfcn', slap_configuration['configuration.default_dl_nr_arfcn']) }},
subcarrier_spacing: 30,
ssb_pos_bitmap: "{{ slapparameter_dict.get('ssb_pos_bitmap', slap_configuration['configuration.default_nr_ssb_pos_bitmap']) }}",
{%- if slapparameter_dict.get('ncell_list', '') %}
ncell_list: [
{%- for i, k in enumerate(slapparameter_dict['ncell_list']) %}
...
...
@@ -131,26 +110,14 @@
{%- endfor -%}
],
{% endif %}
},
],
nr_cell_default: {
bandwidth:
NR_BANDWIDTH
,
bandwidth:
{{ slapparameter_dict.get('nr_bandwidth', slap_configuration['configuration.default_nr_bandwidth']) }}
,
n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL,
{% if slapparameter_dict.get('tdd_ul_dl_config', '5ms 2UL 7DL 4/6 (default)') == '5ms 2UL 7DL 4/6 (default)' %}
tdd_ul_dl_config: {
#if NR_TDD_CONFIG == 1
pattern1: {
period: 5,
dl_slots: 7,
dl_symbols: 2,
ul_slots: 2,
ul_symbols: 2,
},
#elif NR_TDD_CONFIG == 2
pattern1: {
period: 5,
dl_slots: 7,
...
...
@@ -158,43 +125,20 @@
ul_slots: 2,
ul_symbols: 4,
},
#elif NR_TDD_CONFIG == 3
pattern1: {
period: 5,
dl_slots: 6,
dl_symbols: 2,
ul_slots: 3,
ul_symbols: 2,
},
#elif NR_TDD_CONFIG == 4
pattern1: {
period: 3,
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2,
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
},
#elif NR_TDD_CONFIG == 10
},
{% elif slapparameter_dict.get('tdd_ul_dl_config', '5ms 2UL 7DL 4/6 (default)') == '2.5ms 1UL 3DL 2/10' %}
tdd_ul_dl_config: {
pattern1: {
period:
0.62
5,
period:
2.
5,
dl_slots: 3,
dl_symbols: 10,
ul_slots: 1,
ul_symbols: 2,
},
#endif
},
{% endif %}
ssb_period: 20,
n_id_cell: {{ slapparameter_dict.get('pci', 500) }},
plmn_list: [
{%- if slapparameter_dict.get('plmn_list', '') %}
{%- for i, k in enumerate(slapparameter_dict['plmn_list']) %}
...
...
@@ -259,31 +203,16 @@
},
{%- endif %}
],
si_window_length: 40,
cell_barred: false,
intra_freq_reselection: true,
q_rx_lev_min: -70,
q_qual_min: -20,
root_sequence_index: 1,
sr_period: 40,
dmrs_type_a_pos: 2,
//pdsch_harq_ack_max: 2,
prach: {
#if NR_TDD_CONFIG == 4
prach_config_index: 156,
#else
prach_config_index: 160,
#endif
msg1_subcarrier_spacing: 30,
msg1_fdm: 1,
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %}
...
...
@@ -301,14 +230,12 @@
ssb_per_prach_occasion: 1,
cb_preambles_per_ssb: 8,
},
pdcch: {
{% if slapparameter_dict.get('rrh', '') == "M2RU Sunwave" %}
n_rb_coreset0: 48,
n_symb_coreset0: 1,
{% endif %}
search_space0_index: 0,
dedicated_coreset: {
rb_start: -1,
l_crb: -1,
...
...
@@ -319,20 +246,17 @@
{% endif %}
precoder_granularity: "sameAsREG_bundle",
},
css: {
n_candidates: [ 0, 0,
1
, 0, 0 ],
n_candidates: [ 0, 0,
4
, 0, 0 ],
},
rar_al_index: 2,
si_al_index: 2,
uss: {
n_candidates: [ 0, 2, 1, 0, 0 ],
dci_0_1_and_1_1: true,
},
al_index: 1,
},
pdsch: {
mapping_type: "typeA",
dmrs_add_pos: 1,
...
...
@@ -346,7 +270,6 @@
rar_mcs: 2,
si_mcs: 6,
},
csi_rs: {
nzp_csi_rs_resource: [
{
...
...
@@ -384,11 +307,6 @@
offset: 1,
qcl_info_periodic_csi_rs: 0,
},
#if FR2 == 0
#define USE_TRS
#endif
#ifdef USE_TRS
{
csi_rs_id: 1,
n_ports: 1,
...
...
@@ -453,7 +371,6 @@
offset: 12,
qcl_info_periodic_csi_rs: 0,
},
#endif
],
nzp_csi_rs_resource_set: [
{
...
...
@@ -461,16 +378,13 @@
nzp_csi_rs_resources: [ 0 ],
repetition: false,
},
#ifdef USE_TRS
{
csi_rs_set_id: 1,
nzp_csi_rs_resources: [ 1, 2, 3, 4 ],
repetition: false,
trs_info: true,
},
#endif
],
csi_im_resource: [
{
csi_im_id: 0,
...
...
@@ -489,7 +403,6 @@
csi_im_resources: [ 0 ],
}
],
zp_csi_rs_resource: [
{
csi_rs_id: 0,
...
...
@@ -510,7 +423,6 @@
zp_csi_rs_resources: [ 0 ],
},
],
csi_resource_config: [
{
csi_rsc_config_id: 0,
...
...
@@ -522,13 +434,11 @@
csi_im_resource_set_list: [ 0 ],
resource_type: "periodic",
},
#ifdef USE_TRS
{
csi_rsc_config_id: 2,
nzp_csi_rs_resource_set_list: [ 1 ],
resource_type: "periodic",
},
#endif
],
csi_report_config: [
{
...
...
@@ -558,24 +468,15 @@
},
],
},
pucch: {
pucch_group_hopping: "neither",
hopping_id: -1,
p0_nominal: -90,
#if 0
pucch0: {
initial_cyclic_shift: 1,
n_symb: 1,
},
#else
pucch1: {
n_cs: 3,
n_occ: 3,
freq_hopping: true,
},
#endif
#if NR_LONG_PUCCH_FORMAT == 2
pucch2: {
n_symb: 2,
n_prb: 1,
...
...
@@ -583,27 +484,7 @@
simultaneous_harq_ack_csi: false,
max_code_rate: 0.25,
},
#elif NR_LONG_PUCCH_FORMAT == 3
pucch3: {
bpsk: false,
additional_dmrs: false,
freq_hopping: true,
n_prb: 1,
simultaneous_harq_ack_csi: true,
max_code_rate: 0.25,
},
#elif NR_LONG_PUCCH_FORMAT == 4
pucch4: {
occ_len: 4,
bpsk: false,
additional_dmrs: false,
freq_hopping: true,
simultaneous_harq_ack_csi: true,
max_code_rate: 0.25,
},
#endif
},
pusch: {
mapping_type: "typeA",
n_symb: 14,
...
...
@@ -618,13 +499,11 @@
k2: 4,
msg3_k2: 7,
{% endif %}
p0_nominal_with_grant: -
76
,
p0_nominal_with_grant: -
84
,
msg3_mcs: 4,
msg3_delta_power: 0,
beta_offset_ack_index: 9,
},
mac_config: {
msg3_max_harq_tx: 5,
ul_max_harq_tx: 5,
...
...
@@ -639,465 +518,414 @@
sr_prohibit_timer: 0,
sr_trans_max: 64,
},
cipher_algo_pref: [],
integ_algo_pref: [2, 1],
inactivity_timer: {{ slapparameter_dict.get('inactivity_timer', slap_configuration['configuration.default_nr_inactivity_timer']) }},
#ifndef EPS_FALLBACK
#define EPS_FALLBACK 0
#endif
drb_config: [
{
qci: 1,
use_for_en_dc: false,
#if EPS_FALLBACK > 0
trigger_eps_fallback: true,
#endif
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 6,
{
qci: 1,
use_for_mr_dc_scg: false,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 6,
},
dl_um: {
sn_FieldLength: 6,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 6,
t_Reassembly: 50,
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
},
},
{
qci: 2,
use_for_en_dc: false,
#if EPS_FALLBACK > 0
trigger_eps_fallback: true,
#endif
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
{
qci: 2,
use_for_mr_dc_scg: false,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
logical_channel_config: {
priority: 8,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
},
},
logical_channel_config: {
priority: 8,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 1,
},
},
{
qci: 3,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
{
qci: 3,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 2,
},
},
{
qci: 4,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 4,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 9,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 3,
},
},
logical_channel_config: {
priority: 9,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 3,
},
},
{
qci: 65,
use_for_en_dc: false,
#if EPS_FALLBACK > 0
trigger_eps_fallback: true,
#endif
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 6,
{
qci: 65,
use_for_mr_dc_scg: false,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 6,
},
dl_um: {
sn_FieldLength: 6,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 6,
t_Reassembly: 50,
logical_channel_config: {
priority: 5,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
logical_channel_config: {
priority: 5,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
{
qci: 66,
use_for_en_dc: false,
#if EPS_FALLBACK > 0
trigger_eps_fallback: true,
#endif
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
{
qci: 66,
use_for_mr_dc_scg: false,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 150,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
logical_channel_config: {
priority: 7,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
{
qci: 67,
use_for_en_dc: false,
#if EPS_FALLBACK > 0
trigger_eps_fallback: true,
#endif
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
{
qci: 67,
use_for_mr_dc_scg: false,
ims_dedicated_bearer: true,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
logical_channel_config: {
priority: 6,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 5,
},
},
logical_channel_config: {
priority: 6,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 5,
},
},
{
qci: 5,
use_for_en_dc: false,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 5,
use_for_mr_dc_scg: false,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 6,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
logical_channel_config: {
priority: 6,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
{
qci: 6,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 6,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 10,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 5,
},
},
logical_channel_config: {
priority: 10,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 5,
},
},
{
qci: 7,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
{
qci: 7,
pdcp_config: {
discardTimer: 100,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: {
ul_um: {
sn_FieldLength: 12,
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
},
},
dl_um: {
sn_FieldLength: 12,
t_Reassembly: 50,
logical_channel_config: {
priority: 11,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 6,
},
},
logical_channel_config: {
priority: 11,
prioritisedBitRate: 0,
bucketSizeDuration: 100,
logicalChannelGroup: 6,
},
},
{
qci: 8,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 8,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 12,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 7,
},
},
logical_channel_config: {
priority: 12,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 7,
},
},
{
qci: 9,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 9,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 13,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 7,
},
},
logical_channel_config: {
priority: 13,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 7,
},
},
{
qci: 69,
use_for_en_dc: false,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 69,
use_for_mr_dc_scg: false,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 4,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
logical_channel_config: {
priority: 4,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 4,
},
},
{
qci: 70,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
{
qci: 70,
pdcp_config: {
discardTimer: 0,
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: {
ul_am: {
sn_FieldLength: 18,
t_PollRetransmit: 80,
pollPDU: 64,
pollByte: 125,
maxRetxThreshold: 4,
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
},
},
dl_am: {
sn_FieldLength: 18,
t_Reassembly: 80,
t_StatusProhibit: 10,
logical_channel_config: {
priority: 11,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 5,
},
},
logical_channel_config: {
priority: 11,
prioritisedBitRate: 8,
bucketSizeDuration: 100,
logicalChannelGroup: 5,
},
},
],
meas_config_desc: {
a1_report_type: "rsrp",
a1_rsrp: -60,
a1_hysteresis: 10,
a1_time_to_trigger: 100,
a2_report_type: "rsrp",
a2_rsrp: -70,
a2_hysteresis: 0,
a2_time_to_trigger: 100,
a3_report_type: "rsrp",
a3_offset: 6,
a3_hysteresis: 0,
a3_time_to_trigger: 100,
ssb_rsrq_filter_coeff: 3,
ssb_sinr_filter_coeff: 5
},
meas_gap_config: {
pattern_id: 0
},
]
},
}
software/ors-amarisoft/instance-enb-input-schema.json.jinja2
View file @
0092ab02
...
...
@@ -35,6 +35,12 @@
]
},
{% endif %}
"log_phy_debug": {
"title": "Physical layer log debug",
"description": "Enable debug mode for physical layer logs",
"type": "boolean",
"default": false
},
"tx_gain": {
"title": "Tx gain",
"description": "Tx gain (in dB)",
...
...
@@ -53,6 +59,18 @@
"description": "True if GPS should be used for synchronisation",
"type": "boolean"
},
"n_antenna_dl": {
"title": "Number of DL antennas",
"description": "Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port.",
"type": "number",
"default": {{ default_n_antenna_dl }}
},
"n_antenna_ul": {
"title": "Number of UL antennas",
"description": "Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port.",
"type": "number",
"default": {{ default_n_antenna_ul }}
},
"dl_earfcn": {
"title": "DL EARFCN",
"description": "Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell",
...
...
@@ -185,18 +203,6 @@
"description": "Duration during which average temperature should not exceed specified threshold",
"type": "number",
"default": 600
},
"n_antenna_dl": {
"title": "Number of DL antennas",
"description": "Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port.",
"type": "number",
"default": {{ default_n_antenna_dl }}
},
"n_antenna_ul": {
"title": "Number of UL antennas",
"description": "Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port.",
"type": "number",
"default": {{ default_n_antenna_ul }}
}
}
}
software/ors-amarisoft/instance-gnb-input-schema.json.jinja2
View file @
0092ab02
...
...
@@ -15,6 +15,34 @@
]
},
{% endif %}
"log_phy_debug": {
"title": "Physical layer log debug",
"description": "Enable debug mode for physical layer logs",
"type": "boolean",
"default": false
},
"nr_handover_a3_offset": {
"title": "A3 offset for NR handover",
"description": "RSRP gain offset between gNBs which will trigger handover",
"type": "number",
"default": 6,
},
"nr_handover_time_to_trigger": {
"title": "Time to Trigger for NR handover",
"description": "Time to triger after which NR handover will be triggerd if A3 offset is reached",
"type": "number",
"default": 100,
},
"tdd_ul_dl_config": {
"title": "TDD",
"description": "TDD",
"type": "string",
"enum": [
"5ms 2UL 7DL 4/6 (default)",
"2.5ms 1UL 3DL 2/10",
],
"default": "5ms 2UL 7DL 4/6 (default)"
},
"tx_gain": {
"title": "Tx gain",
"description": "Tx gain (in dB)",
...
...
software/ors-amarisoft/instance-tdd-enb-input-schema.json
View file @
0092ab02
...
...
@@ -35,6 +35,12 @@
]
},
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
@@ -53,6 +59,18 @@
"description"
:
"True if GPS should be used for synchronisation"
,
"type"
:
"boolean"
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
...
...
@@ -179,18 +197,6 @@
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
}
}
}
software/ors-amarisoft/instance-tdd-gnb-input-schema.json
View file @
0092ab02
...
...
@@ -15,6 +15,34 @@
]
},
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"nr_handover_a3_offset"
:
{
"title"
:
"A3 offset for NR handover"
,
"description"
:
"RSRP gain offset between gNBs which will trigger handover"
,
"type"
:
"number"
,
"default"
:
6
,
},
"nr_handover_time_to_trigger"
:
{
"title"
:
"Time to Trigger for NR handover"
,
"description"
:
"Time to triger after which NR handover will be triggerd if A3 offset is reached"
,
"type"
:
"number"
,
"default"
:
100
,
},
"tdd_ul_dl_config"
:
{
"title"
:
"TDD"
,
"description"
:
"TDD"
,
"type"
:
"string"
,
"enum"
:
[
"5ms 2UL 7DL 4/6 (default)"
,
"2.5ms 1UL 3DL 2/10"
,
],
"default"
:
"5ms 2UL 7DL 4/6 (default)"
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
software/ors-amarisoft/instance-tdd1900-enb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,12 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
@@ -22,6 +28,18 @@
"description"
:
"True if GPS should be used for synchronisation"
,
"type"
:
"boolean"
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
...
...
@@ -154,18 +172,6 @@
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
}
}
}
software/ors-amarisoft/instance-tdd1900-gnb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,34 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"nr_handover_a3_offset"
:
{
"title"
:
"A3 offset for NR handover"
,
"description"
:
"RSRP gain offset between gNBs which will trigger handover"
,
"type"
:
"number"
,
"default"
:
6
,
},
"nr_handover_time_to_trigger"
:
{
"title"
:
"Time to Trigger for NR handover"
,
"description"
:
"Time to triger after which NR handover will be triggerd if A3 offset is reached"
,
"type"
:
"number"
,
"default"
:
100
,
},
"tdd_ul_dl_config"
:
{
"title"
:
"TDD"
,
"description"
:
"TDD"
,
"type"
:
"string"
,
"enum"
:
[
"5ms 2UL 7DL 4/6 (default)"
,
"2.5ms 1UL 3DL 2/10"
,
],
"default"
:
"5ms 2UL 7DL 4/6 (default)"
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
@@ -164,7 +192,7 @@
"title"
:
"SSB Position Bitmap"
,
"description"
:
"SSB position bitmap in bits (4, 8 or 64 bits depending on the DL frequency)."
,
"type"
:
"string"
,
"default"
:
1000
"default"
:
1000
0000
},
"plmn_list"
:
{
"title"
:
"PLMN list"
,
...
...
software/ors-amarisoft/instance-tdd2600-enb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,12 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
@@ -22,6 +28,18 @@
"description"
:
"True if GPS should be used for synchronisation"
,
"type"
:
"boolean"
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
...
...
@@ -154,18 +172,6 @@
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
}
}
}
software/ors-amarisoft/instance-tdd2600-gnb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,34 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"nr_handover_a3_offset"
:
{
"title"
:
"A3 offset for NR handover"
,
"description"
:
"RSRP gain offset between gNBs which will trigger handover"
,
"type"
:
"number"
,
"default"
:
6
,
},
"nr_handover_time_to_trigger"
:
{
"title"
:
"Time to Trigger for NR handover"
,
"description"
:
"Time to triger after which NR handover will be triggerd if A3 offset is reached"
,
"type"
:
"number"
,
"default"
:
100
,
},
"tdd_ul_dl_config"
:
{
"title"
:
"TDD"
,
"description"
:
"TDD"
,
"type"
:
"string"
,
"enum"
:
[
"5ms 2UL 7DL 4/6 (default)"
,
"2.5ms 1UL 3DL 2/10"
,
],
"default"
:
"5ms 2UL 7DL 4/6 (default)"
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
software/ors-amarisoft/instance-tdd3500-enb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,12 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
@@ -22,6 +28,18 @@
"description"
:
"True if GPS should be used for synchronisation"
,
"type"
:
"boolean"
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
...
...
@@ -154,18 +172,6 @@
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
}
}
}
software/ors-amarisoft/instance-tdd3500-gnb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,34 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"nr_handover_a3_offset"
:
{
"title"
:
"A3 offset for NR handover"
,
"description"
:
"RSRP gain offset between gNBs which will trigger handover"
,
"type"
:
"number"
,
"default"
:
6
,
},
"nr_handover_time_to_trigger"
:
{
"title"
:
"Time to Trigger for NR handover"
,
"description"
:
"Time to triger after which NR handover will be triggerd if A3 offset is reached"
,
"type"
:
"number"
,
"default"
:
100
,
},
"tdd_ul_dl_config"
:
{
"title"
:
"TDD"
,
"description"
:
"TDD"
,
"type"
:
"string"
,
"enum"
:
[
"5ms 2UL 7DL 4/6 (default)"
,
"2.5ms 1UL 3DL 2/10"
,
],
"default"
:
"5ms 2UL 7DL 4/6 (default)"
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
software/ors-amarisoft/instance-tdd3700-enb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,12 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
@@ -22,6 +28,18 @@
"description"
:
"True if GPS should be used for synchronisation"
,
"type"
:
"boolean"
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"dl_earfcn"
:
{
"title"
:
"DL EARFCN"
,
"description"
:
"Downlink E-UTRA Absolute Radio Frequency Channel Number of the cell"
,
...
...
@@ -154,18 +172,6 @@
"description"
:
"Duration during which average temperature should not exceed specified threshold"
,
"type"
:
"number"
,
"default"
:
600
},
"n_antenna_dl"
:
{
"title"
:
"Number of DL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of DL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
},
"n_antenna_ul"
:
{
"title"
:
"Number of UL antennas"
,
"description"
:
"Enumeration: 1, 2, 4 or 8. Number of UL antennas. It must be the same for all NB-IoT and LTE cells sharing the same RF port."
,
"type"
:
"number"
,
"default"
:
2
}
}
}
software/ors-amarisoft/instance-tdd3700-gnb-input-schema.json
View file @
0092ab02
...
...
@@ -4,6 +4,34 @@
"title"
:
"Input Parameters"
,
"properties"
:
{
"log_phy_debug"
:
{
"title"
:
"Physical layer log debug"
,
"description"
:
"Enable debug mode for physical layer logs"
,
"type"
:
"boolean"
,
"default"
:
false
},
"nr_handover_a3_offset"
:
{
"title"
:
"A3 offset for NR handover"
,
"description"
:
"RSRP gain offset between gNBs which will trigger handover"
,
"type"
:
"number"
,
"default"
:
6
,
},
"nr_handover_time_to_trigger"
:
{
"title"
:
"Time to Trigger for NR handover"
,
"description"
:
"Time to triger after which NR handover will be triggerd if A3 offset is reached"
,
"type"
:
"number"
,
"default"
:
100
,
},
"tdd_ul_dl_config"
:
{
"title"
:
"TDD"
,
"description"
:
"TDD"
,
"type"
:
"string"
,
"enum"
:
[
"5ms 2UL 7DL 4/6 (default)"
,
"2.5ms 1UL 3DL 2/10"
,
],
"default"
:
"5ms 2UL 7DL 4/6 (default)"
},
"tx_gain"
:
{
"title"
:
"Tx gain"
,
"description"
:
"Tx gain (in dB)"
,
...
...
software/ors-amarisoft/render-templates
View file @
0092ab02
...
...
@@ -32,7 +32,7 @@ rf_mode_context_list = [
'default_dl_nr_arfcn'
:
378000
,
'default_nr_band'
:
39
,
'default_nr_dl_freq'
:
1890.0
,
'default_nr_ssb_pos_bitmap'
:
"1000"
,
'default_nr_ssb_pos_bitmap'
:
"1000
0000
"
,
'default_ssb_nr_arfcn'
:
377790
,
'min_frequency'
:
1880.0
,
'max_frequency'
:
1920
,
...
...
software/ors-amarisoft/software-tdd1900.cfg
View file @
0092ab02
...
...
@@ -20,7 +20,7 @@ default-nr-dl-freq = 1890.0
default-nr-bandwidth = 40
default-nr-tx-gain = 60
default-nr-rx-gain = 45
default-nr-ssb-pos-bitmap = 1000
default-nr-ssb-pos-bitmap = 1000
0000
default-ssb-nr-arfcn = 377790
default-nr-inactivity-timer = 10000
default-nr-imsi = 001010123456789
...
...
software/ors-amarisoft/test/test.jinja2.py
View file @
0092ab02
...
...
@@ -39,19 +39,19 @@ setUpModule, ORSTestCase = makeModuleSetUpAndTestCaseClass(
param_dict
=
{
'testing'
:
True
,
"sim_algo"
:
"milenage"
,
"imsi"
:
"001010000000331"
,
"opc"
:
"000102030405060708090A0B0C0D0E0F"
,
"amf"
:
"0x9001"
,
"sqn"
:
"000000000000"
,
"k"
:
"00112233445566778899AABBCCDDEEFF"
,
"impu"
:
"impu331"
,
"impi"
:
"impi331@amarisoft.com"
,
'sim_algo'
:
'milenage'
,
'imsi'
:
'001010000000331'
,
'opc'
:
'000102030405060708090A0B0C0D0E0F'
,
'amf'
:
'0x9001'
,
'sqn'
:
'000000000000'
,
'k'
:
'00112233445566778899AABBCCDDEEFF'
,
'impu'
:
'impu331'
,
'impi'
:
'impi331@amarisoft.com'
,
'tx_gain'
:
17
,
'rx_gain'
:
17
,
'dl_earfcn'
:
325320
,
'n_rb_dl'
:
50
,
'enb_id'
:
"0x17"
,
'enb_id'
:
'0x17'
,
'pci'
:
250
,
'mme_list'
:
{
'10.0.0.1'
:
{
'mme_addr'
:
'10.0.0.1'
},
...
...
@@ -62,17 +62,48 @@ param_dict = {
'nr_band'
:
99
,
'nr_bandwidth'
:
50
,
'ssb_nr_arfcn'
:
377790
,
'rue_addr'
:
"192.168.99.88"
,
'rue_addr'
:
'192.168.99.88'
,
'n_antenna_dl'
:
2
,
'n_antenna_ul'
:
2
,
'inactivity_timer'
:
17
,
'gnb_id'
:
"0x17"
,
'gnb_id'
:
'0x17'
,
'gnb_id_bits'
:
30
,
'ssb_pos_bitmap'
:
"10"
,
'ssb_pos_bitmap'
:
'10'
,
'amf_list'
:
{
'10.0.0.1'
:
{
'amf_addr'
:
'10.0.0.1'
},
'2001:db8::1'
:
{
'amf_addr'
:
'2001:db8::1'
},
},
'nr_handover_time_to_trigger'
:
50
,
'nr_handover_a3_offset'
:
10
,
'ncell_list'
:
{
'ORS1'
:
{
'dl_nr_arfcn'
:
100000
,
'ssb_nr_arfcn'
:
100000
,
'pci'
:
1
,
'nr_cell_id'
:
'0x0000001'
,
'gnb_id_bits'
:
28
,
'nr_band'
:
1
,
'tac'
:
1
},
'ORS2'
:
{
'dl_nr_arfcn'
:
200000
,
'ssb_nr_arfcn'
:
200000
,
'pci'
:
2
,
'nr_cell_id'
:
'0x0000002'
,
'gnb_id_bits'
:
30
,
'nr_band'
:
2
,
'tac'
:
2
},
},
'xn_peers'
:
{
'2001:db8::1'
:
{
'xn_addr'
:
'2001:db8::1'
,
},
'2001:db8::2'
:
{
'xn_addr'
:
'2001:db8::2'
,
},
},
'tdd_ul_dl_config'
:
'2.5ms 1UL 3DL 2/10'
,
}
enb_param_dict
=
{
'plmn_list'
:
{
...
...
@@ -141,6 +172,27 @@ def test_gnb_conf1(self):
self
.
assertEqual
(
p
[
n
],
gnb_param_dict1
[
'plmn_list'
][
p
[
'plmn'
]][
n
])
for
p
in
conf
[
'amf_list'
]:
self
.
assertEqual
(
p
[
'amf_addr'
],
gnb_param_dict1
[
'amf_list'
][
p
[
'amf_addr'
]][
'amf_addr'
])
for
p
in
conf
[
'xn_peers'
]:
self
.
assertEqual
(
p
,
gnb_param_dict1
[
'xn_peers'
][
p
][
'xn_addr'
])
for
p
in
conf
[
'nr_cell_list'
][
0
][
'ncell_list'
]:
for
k
in
gnb_param_dict1
[
'ncell_list'
]:
if
p
[
'dl_nr_arfcn'
]
==
gnb_param_dict1
[
'ncell_list'
][
k
][
'dl_nr_arfcn'
]:
break
conf_ncell
=
gnb_param_dict1
[
'ncell_list'
][
k
]
self
.
assertEqual
(
p
[
'dl_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ssb_nr_arfcn'
],
conf_ncell
[
'ssb_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ul_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'n_id_cell'
],
conf_ncell
[
'pci'
])
self
.
assertEqual
(
p
[
'gnb_id_bits'
],
conf_ncell
[
'gnb_id_bits'
])
self
.
assertEqual
(
p
[
'nr_cell_id'
],
int
(
conf_ncell
[
'nr_cell_id'
],
16
))
self
.
assertEqual
(
p
[
'tac'
],
conf_ncell
[
'tac'
])
self
.
assertEqual
(
p
[
'band'
],
conf_ncell
[
'nr_band'
])
tdd_config
=
conf
[
'nr_cell_default'
][
'tdd_ul_dl_config'
][
'pattern1'
]
self
.
assertEqual
(
float
(
tdd_config
[
'period'
]),
2.5
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_slots'
]),
3
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_symbols'
]),
10
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_slots'
]),
1
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_symbols'
]),
2
)
with
open
(
conf_file
,
'r'
)
as
f
:
for
l
in
f
:
...
...
software/ors-amarisoft/test/testTDD.py
View file @
0092ab02
...
...
@@ -39,19 +39,19 @@ setUpModule, ORSTestCase = makeModuleSetUpAndTestCaseClass(
param_dict
=
{
'testing'
:
True
,
"sim_algo"
:
"milenage"
,
"imsi"
:
"001010000000331"
,
"opc"
:
"000102030405060708090A0B0C0D0E0F"
,
"amf"
:
"0x9001"
,
"sqn"
:
"000000000000"
,
"k"
:
"00112233445566778899AABBCCDDEEFF"
,
"impu"
:
"impu331"
,
"impi"
:
"impi331@amarisoft.com"
,
'sim_algo'
:
'milenage'
,
'imsi'
:
'001010000000331'
,
'opc'
:
'000102030405060708090A0B0C0D0E0F'
,
'amf'
:
'0x9001'
,
'sqn'
:
'000000000000'
,
'k'
:
'00112233445566778899AABBCCDDEEFF'
,
'impu'
:
'impu331'
,
'impi'
:
'impi331@amarisoft.com'
,
'tx_gain'
:
17
,
'rx_gain'
:
17
,
'dl_earfcn'
:
325320
,
'n_rb_dl'
:
50
,
'enb_id'
:
"0x17"
,
'enb_id'
:
'0x17'
,
'pci'
:
250
,
'mme_list'
:
{
'10.0.0.1'
:
{
'mme_addr'
:
'10.0.0.1'
},
...
...
@@ -62,17 +62,48 @@ param_dict = {
'nr_band'
:
99
,
'nr_bandwidth'
:
50
,
'ssb_nr_arfcn'
:
377790
,
'rue_addr'
:
"192.168.99.88"
,
'rue_addr'
:
'192.168.99.88'
,
'n_antenna_dl'
:
2
,
'n_antenna_ul'
:
2
,
'inactivity_timer'
:
17
,
'gnb_id'
:
"0x17"
,
'gnb_id'
:
'0x17'
,
'gnb_id_bits'
:
30
,
'ssb_pos_bitmap'
:
"10"
,
'ssb_pos_bitmap'
:
'10'
,
'amf_list'
:
{
'10.0.0.1'
:
{
'amf_addr'
:
'10.0.0.1'
},
'2001:db8::1'
:
{
'amf_addr'
:
'2001:db8::1'
},
},
'nr_handover_time_to_trigger'
:
50
,
'nr_handover_a3_offset'
:
10
,
'ncell_list'
:
{
'ORS1'
:
{
'dl_nr_arfcn'
:
100000
,
'ssb_nr_arfcn'
:
100000
,
'pci'
:
1
,
'nr_cell_id'
:
'0x0000001'
,
'gnb_id_bits'
:
28
,
'nr_band'
:
1
,
'tac'
:
1
},
'ORS2'
:
{
'dl_nr_arfcn'
:
200000
,
'ssb_nr_arfcn'
:
200000
,
'pci'
:
2
,
'nr_cell_id'
:
'0x0000002'
,
'gnb_id_bits'
:
30
,
'nr_band'
:
2
,
'tac'
:
2
},
},
'xn_peers'
:
{
'2001:db8::1'
:
{
'xn_addr'
:
'2001:db8::1'
,
},
'2001:db8::2'
:
{
'xn_addr'
:
'2001:db8::2'
,
},
},
'tdd_ul_dl_config'
:
'2.5ms 1UL 3DL 2/10'
,
}
enb_param_dict
=
{
'plmn_list'
:
{
...
...
@@ -141,6 +172,27 @@ def test_gnb_conf1(self):
self
.
assertEqual
(
p
[
n
],
gnb_param_dict1
[
'plmn_list'
][
p
[
'plmn'
]][
n
])
for
p
in
conf
[
'amf_list'
]:
self
.
assertEqual
(
p
[
'amf_addr'
],
gnb_param_dict1
[
'amf_list'
][
p
[
'amf_addr'
]][
'amf_addr'
])
for
p
in
conf
[
'xn_peers'
]:
self
.
assertEqual
(
p
,
gnb_param_dict1
[
'xn_peers'
][
p
][
'xn_addr'
])
for
p
in
conf
[
'nr_cell_list'
][
0
][
'ncell_list'
]:
for
k
in
gnb_param_dict1
[
'ncell_list'
]:
if
p
[
'dl_nr_arfcn'
]
==
gnb_param_dict1
[
'ncell_list'
][
k
][
'dl_nr_arfcn'
]:
break
conf_ncell
=
gnb_param_dict1
[
'ncell_list'
][
k
]
self
.
assertEqual
(
p
[
'dl_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ssb_nr_arfcn'
],
conf_ncell
[
'ssb_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ul_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'n_id_cell'
],
conf_ncell
[
'pci'
])
self
.
assertEqual
(
p
[
'gnb_id_bits'
],
conf_ncell
[
'gnb_id_bits'
])
self
.
assertEqual
(
p
[
'nr_cell_id'
],
int
(
conf_ncell
[
'nr_cell_id'
],
16
))
self
.
assertEqual
(
p
[
'tac'
],
conf_ncell
[
'tac'
])
self
.
assertEqual
(
p
[
'band'
],
conf_ncell
[
'nr_band'
])
tdd_config
=
conf
[
'nr_cell_default'
][
'tdd_ul_dl_config'
][
'pattern1'
]
self
.
assertEqual
(
float
(
tdd_config
[
'period'
]),
2.5
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_slots'
]),
3
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_symbols'
]),
10
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_slots'
]),
1
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_symbols'
]),
2
)
with
open
(
conf_file
,
'r'
)
as
f
:
for
l
in
f
:
...
...
software/ors-amarisoft/test/testTDD1900.py
View file @
0092ab02
...
...
@@ -39,19 +39,19 @@ setUpModule, ORSTestCase = makeModuleSetUpAndTestCaseClass(
param_dict
=
{
'testing'
:
True
,
"sim_algo"
:
"milenage"
,
"imsi"
:
"001010000000331"
,
"opc"
:
"000102030405060708090A0B0C0D0E0F"
,
"amf"
:
"0x9001"
,
"sqn"
:
"000000000000"
,
"k"
:
"00112233445566778899AABBCCDDEEFF"
,
"impu"
:
"impu331"
,
"impi"
:
"impi331@amarisoft.com"
,
'sim_algo'
:
'milenage'
,
'imsi'
:
'001010000000331'
,
'opc'
:
'000102030405060708090A0B0C0D0E0F'
,
'amf'
:
'0x9001'
,
'sqn'
:
'000000000000'
,
'k'
:
'00112233445566778899AABBCCDDEEFF'
,
'impu'
:
'impu331'
,
'impi'
:
'impi331@amarisoft.com'
,
'tx_gain'
:
17
,
'rx_gain'
:
17
,
'dl_earfcn'
:
325320
,
'n_rb_dl'
:
50
,
'enb_id'
:
"0x17"
,
'enb_id'
:
'0x17'
,
'pci'
:
250
,
'mme_list'
:
{
'10.0.0.1'
:
{
'mme_addr'
:
'10.0.0.1'
},
...
...
@@ -62,17 +62,48 @@ param_dict = {
'nr_band'
:
99
,
'nr_bandwidth'
:
50
,
'ssb_nr_arfcn'
:
377790
,
'rue_addr'
:
"192.168.99.88"
,
'rue_addr'
:
'192.168.99.88'
,
'n_antenna_dl'
:
2
,
'n_antenna_ul'
:
2
,
'inactivity_timer'
:
17
,
'gnb_id'
:
"0x17"
,
'gnb_id'
:
'0x17'
,
'gnb_id_bits'
:
30
,
'ssb_pos_bitmap'
:
"10"
,
'ssb_pos_bitmap'
:
'10'
,
'amf_list'
:
{
'10.0.0.1'
:
{
'amf_addr'
:
'10.0.0.1'
},
'2001:db8::1'
:
{
'amf_addr'
:
'2001:db8::1'
},
},
'nr_handover_time_to_trigger'
:
50
,
'nr_handover_a3_offset'
:
10
,
'ncell_list'
:
{
'ORS1'
:
{
'dl_nr_arfcn'
:
100000
,
'ssb_nr_arfcn'
:
100000
,
'pci'
:
1
,
'nr_cell_id'
:
'0x0000001'
,
'gnb_id_bits'
:
28
,
'nr_band'
:
1
,
'tac'
:
1
},
'ORS2'
:
{
'dl_nr_arfcn'
:
200000
,
'ssb_nr_arfcn'
:
200000
,
'pci'
:
2
,
'nr_cell_id'
:
'0x0000002'
,
'gnb_id_bits'
:
30
,
'nr_band'
:
2
,
'tac'
:
2
},
},
'xn_peers'
:
{
'2001:db8::1'
:
{
'xn_addr'
:
'2001:db8::1'
,
},
'2001:db8::2'
:
{
'xn_addr'
:
'2001:db8::2'
,
},
},
'tdd_ul_dl_config'
:
'2.5ms 1UL 3DL 2/10'
,
}
enb_param_dict
=
{
'plmn_list'
:
{
...
...
@@ -141,6 +172,27 @@ def test_gnb_conf1(self):
self
.
assertEqual
(
p
[
n
],
gnb_param_dict1
[
'plmn_list'
][
p
[
'plmn'
]][
n
])
for
p
in
conf
[
'amf_list'
]:
self
.
assertEqual
(
p
[
'amf_addr'
],
gnb_param_dict1
[
'amf_list'
][
p
[
'amf_addr'
]][
'amf_addr'
])
for
p
in
conf
[
'xn_peers'
]:
self
.
assertEqual
(
p
,
gnb_param_dict1
[
'xn_peers'
][
p
][
'xn_addr'
])
for
p
in
conf
[
'nr_cell_list'
][
0
][
'ncell_list'
]:
for
k
in
gnb_param_dict1
[
'ncell_list'
]:
if
p
[
'dl_nr_arfcn'
]
==
gnb_param_dict1
[
'ncell_list'
][
k
][
'dl_nr_arfcn'
]:
break
conf_ncell
=
gnb_param_dict1
[
'ncell_list'
][
k
]
self
.
assertEqual
(
p
[
'dl_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ssb_nr_arfcn'
],
conf_ncell
[
'ssb_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ul_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'n_id_cell'
],
conf_ncell
[
'pci'
])
self
.
assertEqual
(
p
[
'gnb_id_bits'
],
conf_ncell
[
'gnb_id_bits'
])
self
.
assertEqual
(
p
[
'nr_cell_id'
],
int
(
conf_ncell
[
'nr_cell_id'
],
16
))
self
.
assertEqual
(
p
[
'tac'
],
conf_ncell
[
'tac'
])
self
.
assertEqual
(
p
[
'band'
],
conf_ncell
[
'nr_band'
])
tdd_config
=
conf
[
'nr_cell_default'
][
'tdd_ul_dl_config'
][
'pattern1'
]
self
.
assertEqual
(
float
(
tdd_config
[
'period'
]),
2.5
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_slots'
]),
3
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_symbols'
]),
10
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_slots'
]),
1
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_symbols'
]),
2
)
with
open
(
conf_file
,
'r'
)
as
f
:
for
l
in
f
:
...
...
software/ors-amarisoft/test/testTDD2600.py
View file @
0092ab02
...
...
@@ -39,19 +39,19 @@ setUpModule, ORSTestCase = makeModuleSetUpAndTestCaseClass(
param_dict
=
{
'testing'
:
True
,
"sim_algo"
:
"milenage"
,
"imsi"
:
"001010000000331"
,
"opc"
:
"000102030405060708090A0B0C0D0E0F"
,
"amf"
:
"0x9001"
,
"sqn"
:
"000000000000"
,
"k"
:
"00112233445566778899AABBCCDDEEFF"
,
"impu"
:
"impu331"
,
"impi"
:
"impi331@amarisoft.com"
,
'sim_algo'
:
'milenage'
,
'imsi'
:
'001010000000331'
,
'opc'
:
'000102030405060708090A0B0C0D0E0F'
,
'amf'
:
'0x9001'
,
'sqn'
:
'000000000000'
,
'k'
:
'00112233445566778899AABBCCDDEEFF'
,
'impu'
:
'impu331'
,
'impi'
:
'impi331@amarisoft.com'
,
'tx_gain'
:
17
,
'rx_gain'
:
17
,
'dl_earfcn'
:
325320
,
'n_rb_dl'
:
50
,
'enb_id'
:
"0x17"
,
'enb_id'
:
'0x17'
,
'pci'
:
250
,
'mme_list'
:
{
'10.0.0.1'
:
{
'mme_addr'
:
'10.0.0.1'
},
...
...
@@ -62,17 +62,48 @@ param_dict = {
'nr_band'
:
99
,
'nr_bandwidth'
:
50
,
'ssb_nr_arfcn'
:
377790
,
'rue_addr'
:
"192.168.99.88"
,
'rue_addr'
:
'192.168.99.88'
,
'n_antenna_dl'
:
2
,
'n_antenna_ul'
:
2
,
'inactivity_timer'
:
17
,
'gnb_id'
:
"0x17"
,
'gnb_id'
:
'0x17'
,
'gnb_id_bits'
:
30
,
'ssb_pos_bitmap'
:
"10"
,
'ssb_pos_bitmap'
:
'10'
,
'amf_list'
:
{
'10.0.0.1'
:
{
'amf_addr'
:
'10.0.0.1'
},
'2001:db8::1'
:
{
'amf_addr'
:
'2001:db8::1'
},
},
'nr_handover_time_to_trigger'
:
50
,
'nr_handover_a3_offset'
:
10
,
'ncell_list'
:
{
'ORS1'
:
{
'dl_nr_arfcn'
:
100000
,
'ssb_nr_arfcn'
:
100000
,
'pci'
:
1
,
'nr_cell_id'
:
'0x0000001'
,
'gnb_id_bits'
:
28
,
'nr_band'
:
1
,
'tac'
:
1
},
'ORS2'
:
{
'dl_nr_arfcn'
:
200000
,
'ssb_nr_arfcn'
:
200000
,
'pci'
:
2
,
'nr_cell_id'
:
'0x0000002'
,
'gnb_id_bits'
:
30
,
'nr_band'
:
2
,
'tac'
:
2
},
},
'xn_peers'
:
{
'2001:db8::1'
:
{
'xn_addr'
:
'2001:db8::1'
,
},
'2001:db8::2'
:
{
'xn_addr'
:
'2001:db8::2'
,
},
},
'tdd_ul_dl_config'
:
'2.5ms 1UL 3DL 2/10'
,
}
enb_param_dict
=
{
'plmn_list'
:
{
...
...
@@ -141,6 +172,27 @@ def test_gnb_conf1(self):
self
.
assertEqual
(
p
[
n
],
gnb_param_dict1
[
'plmn_list'
][
p
[
'plmn'
]][
n
])
for
p
in
conf
[
'amf_list'
]:
self
.
assertEqual
(
p
[
'amf_addr'
],
gnb_param_dict1
[
'amf_list'
][
p
[
'amf_addr'
]][
'amf_addr'
])
for
p
in
conf
[
'xn_peers'
]:
self
.
assertEqual
(
p
,
gnb_param_dict1
[
'xn_peers'
][
p
][
'xn_addr'
])
for
p
in
conf
[
'nr_cell_list'
][
0
][
'ncell_list'
]:
for
k
in
gnb_param_dict1
[
'ncell_list'
]:
if
p
[
'dl_nr_arfcn'
]
==
gnb_param_dict1
[
'ncell_list'
][
k
][
'dl_nr_arfcn'
]:
break
conf_ncell
=
gnb_param_dict1
[
'ncell_list'
][
k
]
self
.
assertEqual
(
p
[
'dl_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ssb_nr_arfcn'
],
conf_ncell
[
'ssb_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ul_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'n_id_cell'
],
conf_ncell
[
'pci'
])
self
.
assertEqual
(
p
[
'gnb_id_bits'
],
conf_ncell
[
'gnb_id_bits'
])
self
.
assertEqual
(
p
[
'nr_cell_id'
],
int
(
conf_ncell
[
'nr_cell_id'
],
16
))
self
.
assertEqual
(
p
[
'tac'
],
conf_ncell
[
'tac'
])
self
.
assertEqual
(
p
[
'band'
],
conf_ncell
[
'nr_band'
])
tdd_config
=
conf
[
'nr_cell_default'
][
'tdd_ul_dl_config'
][
'pattern1'
]
self
.
assertEqual
(
float
(
tdd_config
[
'period'
]),
2.5
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_slots'
]),
3
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_symbols'
]),
10
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_slots'
]),
1
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_symbols'
]),
2
)
with
open
(
conf_file
,
'r'
)
as
f
:
for
l
in
f
:
...
...
software/ors-amarisoft/test/testTDD3500.py
View file @
0092ab02
...
...
@@ -39,19 +39,19 @@ setUpModule, ORSTestCase = makeModuleSetUpAndTestCaseClass(
param_dict
=
{
'testing'
:
True
,
"sim_algo"
:
"milenage"
,
"imsi"
:
"001010000000331"
,
"opc"
:
"000102030405060708090A0B0C0D0E0F"
,
"amf"
:
"0x9001"
,
"sqn"
:
"000000000000"
,
"k"
:
"00112233445566778899AABBCCDDEEFF"
,
"impu"
:
"impu331"
,
"impi"
:
"impi331@amarisoft.com"
,
'sim_algo'
:
'milenage'
,
'imsi'
:
'001010000000331'
,
'opc'
:
'000102030405060708090A0B0C0D0E0F'
,
'amf'
:
'0x9001'
,
'sqn'
:
'000000000000'
,
'k'
:
'00112233445566778899AABBCCDDEEFF'
,
'impu'
:
'impu331'
,
'impi'
:
'impi331@amarisoft.com'
,
'tx_gain'
:
17
,
'rx_gain'
:
17
,
'dl_earfcn'
:
325320
,
'n_rb_dl'
:
50
,
'enb_id'
:
"0x17"
,
'enb_id'
:
'0x17'
,
'pci'
:
250
,
'mme_list'
:
{
'10.0.0.1'
:
{
'mme_addr'
:
'10.0.0.1'
},
...
...
@@ -62,17 +62,48 @@ param_dict = {
'nr_band'
:
99
,
'nr_bandwidth'
:
50
,
'ssb_nr_arfcn'
:
377790
,
'rue_addr'
:
"192.168.99.88"
,
'rue_addr'
:
'192.168.99.88'
,
'n_antenna_dl'
:
2
,
'n_antenna_ul'
:
2
,
'inactivity_timer'
:
17
,
'gnb_id'
:
"0x17"
,
'gnb_id'
:
'0x17'
,
'gnb_id_bits'
:
30
,
'ssb_pos_bitmap'
:
"10"
,
'ssb_pos_bitmap'
:
'10'
,
'amf_list'
:
{
'10.0.0.1'
:
{
'amf_addr'
:
'10.0.0.1'
},
'2001:db8::1'
:
{
'amf_addr'
:
'2001:db8::1'
},
},
'nr_handover_time_to_trigger'
:
50
,
'nr_handover_a3_offset'
:
10
,
'ncell_list'
:
{
'ORS1'
:
{
'dl_nr_arfcn'
:
100000
,
'ssb_nr_arfcn'
:
100000
,
'pci'
:
1
,
'nr_cell_id'
:
'0x0000001'
,
'gnb_id_bits'
:
28
,
'nr_band'
:
1
,
'tac'
:
1
},
'ORS2'
:
{
'dl_nr_arfcn'
:
200000
,
'ssb_nr_arfcn'
:
200000
,
'pci'
:
2
,
'nr_cell_id'
:
'0x0000002'
,
'gnb_id_bits'
:
30
,
'nr_band'
:
2
,
'tac'
:
2
},
},
'xn_peers'
:
{
'2001:db8::1'
:
{
'xn_addr'
:
'2001:db8::1'
,
},
'2001:db8::2'
:
{
'xn_addr'
:
'2001:db8::2'
,
},
},
'tdd_ul_dl_config'
:
'2.5ms 1UL 3DL 2/10'
,
}
enb_param_dict
=
{
'plmn_list'
:
{
...
...
@@ -141,6 +172,27 @@ def test_gnb_conf1(self):
self
.
assertEqual
(
p
[
n
],
gnb_param_dict1
[
'plmn_list'
][
p
[
'plmn'
]][
n
])
for
p
in
conf
[
'amf_list'
]:
self
.
assertEqual
(
p
[
'amf_addr'
],
gnb_param_dict1
[
'amf_list'
][
p
[
'amf_addr'
]][
'amf_addr'
])
for
p
in
conf
[
'xn_peers'
]:
self
.
assertEqual
(
p
,
gnb_param_dict1
[
'xn_peers'
][
p
][
'xn_addr'
])
for
p
in
conf
[
'nr_cell_list'
][
0
][
'ncell_list'
]:
for
k
in
gnb_param_dict1
[
'ncell_list'
]:
if
p
[
'dl_nr_arfcn'
]
==
gnb_param_dict1
[
'ncell_list'
][
k
][
'dl_nr_arfcn'
]:
break
conf_ncell
=
gnb_param_dict1
[
'ncell_list'
][
k
]
self
.
assertEqual
(
p
[
'dl_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ssb_nr_arfcn'
],
conf_ncell
[
'ssb_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ul_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'n_id_cell'
],
conf_ncell
[
'pci'
])
self
.
assertEqual
(
p
[
'gnb_id_bits'
],
conf_ncell
[
'gnb_id_bits'
])
self
.
assertEqual
(
p
[
'nr_cell_id'
],
int
(
conf_ncell
[
'nr_cell_id'
],
16
))
self
.
assertEqual
(
p
[
'tac'
],
conf_ncell
[
'tac'
])
self
.
assertEqual
(
p
[
'band'
],
conf_ncell
[
'nr_band'
])
tdd_config
=
conf
[
'nr_cell_default'
][
'tdd_ul_dl_config'
][
'pattern1'
]
self
.
assertEqual
(
float
(
tdd_config
[
'period'
]),
2.5
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_slots'
]),
3
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_symbols'
]),
10
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_slots'
]),
1
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_symbols'
]),
2
)
with
open
(
conf_file
,
'r'
)
as
f
:
for
l
in
f
:
...
...
software/ors-amarisoft/test/testTDD3700.py
View file @
0092ab02
...
...
@@ -39,19 +39,19 @@ setUpModule, ORSTestCase = makeModuleSetUpAndTestCaseClass(
param_dict
=
{
'testing'
:
True
,
"sim_algo"
:
"milenage"
,
"imsi"
:
"001010000000331"
,
"opc"
:
"000102030405060708090A0B0C0D0E0F"
,
"amf"
:
"0x9001"
,
"sqn"
:
"000000000000"
,
"k"
:
"00112233445566778899AABBCCDDEEFF"
,
"impu"
:
"impu331"
,
"impi"
:
"impi331@amarisoft.com"
,
'sim_algo'
:
'milenage'
,
'imsi'
:
'001010000000331'
,
'opc'
:
'000102030405060708090A0B0C0D0E0F'
,
'amf'
:
'0x9001'
,
'sqn'
:
'000000000000'
,
'k'
:
'00112233445566778899AABBCCDDEEFF'
,
'impu'
:
'impu331'
,
'impi'
:
'impi331@amarisoft.com'
,
'tx_gain'
:
17
,
'rx_gain'
:
17
,
'dl_earfcn'
:
325320
,
'n_rb_dl'
:
50
,
'enb_id'
:
"0x17"
,
'enb_id'
:
'0x17'
,
'pci'
:
250
,
'mme_list'
:
{
'10.0.0.1'
:
{
'mme_addr'
:
'10.0.0.1'
},
...
...
@@ -62,17 +62,48 @@ param_dict = {
'nr_band'
:
99
,
'nr_bandwidth'
:
50
,
'ssb_nr_arfcn'
:
377790
,
'rue_addr'
:
"192.168.99.88"
,
'rue_addr'
:
'192.168.99.88'
,
'n_antenna_dl'
:
2
,
'n_antenna_ul'
:
2
,
'inactivity_timer'
:
17
,
'gnb_id'
:
"0x17"
,
'gnb_id'
:
'0x17'
,
'gnb_id_bits'
:
30
,
'ssb_pos_bitmap'
:
"10"
,
'ssb_pos_bitmap'
:
'10'
,
'amf_list'
:
{
'10.0.0.1'
:
{
'amf_addr'
:
'10.0.0.1'
},
'2001:db8::1'
:
{
'amf_addr'
:
'2001:db8::1'
},
},
'nr_handover_time_to_trigger'
:
50
,
'nr_handover_a3_offset'
:
10
,
'ncell_list'
:
{
'ORS1'
:
{
'dl_nr_arfcn'
:
100000
,
'ssb_nr_arfcn'
:
100000
,
'pci'
:
1
,
'nr_cell_id'
:
'0x0000001'
,
'gnb_id_bits'
:
28
,
'nr_band'
:
1
,
'tac'
:
1
},
'ORS2'
:
{
'dl_nr_arfcn'
:
200000
,
'ssb_nr_arfcn'
:
200000
,
'pci'
:
2
,
'nr_cell_id'
:
'0x0000002'
,
'gnb_id_bits'
:
30
,
'nr_band'
:
2
,
'tac'
:
2
},
},
'xn_peers'
:
{
'2001:db8::1'
:
{
'xn_addr'
:
'2001:db8::1'
,
},
'2001:db8::2'
:
{
'xn_addr'
:
'2001:db8::2'
,
},
},
'tdd_ul_dl_config'
:
'2.5ms 1UL 3DL 2/10'
,
}
enb_param_dict
=
{
'plmn_list'
:
{
...
...
@@ -141,6 +172,27 @@ def test_gnb_conf1(self):
self
.
assertEqual
(
p
[
n
],
gnb_param_dict1
[
'plmn_list'
][
p
[
'plmn'
]][
n
])
for
p
in
conf
[
'amf_list'
]:
self
.
assertEqual
(
p
[
'amf_addr'
],
gnb_param_dict1
[
'amf_list'
][
p
[
'amf_addr'
]][
'amf_addr'
])
for
p
in
conf
[
'xn_peers'
]:
self
.
assertEqual
(
p
,
gnb_param_dict1
[
'xn_peers'
][
p
][
'xn_addr'
])
for
p
in
conf
[
'nr_cell_list'
][
0
][
'ncell_list'
]:
for
k
in
gnb_param_dict1
[
'ncell_list'
]:
if
p
[
'dl_nr_arfcn'
]
==
gnb_param_dict1
[
'ncell_list'
][
k
][
'dl_nr_arfcn'
]:
break
conf_ncell
=
gnb_param_dict1
[
'ncell_list'
][
k
]
self
.
assertEqual
(
p
[
'dl_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ssb_nr_arfcn'
],
conf_ncell
[
'ssb_nr_arfcn'
])
self
.
assertEqual
(
p
[
'ul_nr_arfcn'
],
conf_ncell
[
'dl_nr_arfcn'
])
self
.
assertEqual
(
p
[
'n_id_cell'
],
conf_ncell
[
'pci'
])
self
.
assertEqual
(
p
[
'gnb_id_bits'
],
conf_ncell
[
'gnb_id_bits'
])
self
.
assertEqual
(
p
[
'nr_cell_id'
],
int
(
conf_ncell
[
'nr_cell_id'
],
16
))
self
.
assertEqual
(
p
[
'tac'
],
conf_ncell
[
'tac'
])
self
.
assertEqual
(
p
[
'band'
],
conf_ncell
[
'nr_band'
])
tdd_config
=
conf
[
'nr_cell_default'
][
'tdd_ul_dl_config'
][
'pattern1'
]
self
.
assertEqual
(
float
(
tdd_config
[
'period'
]),
2.5
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_slots'
]),
3
)
self
.
assertEqual
(
int
(
tdd_config
[
'dl_symbols'
]),
10
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_slots'
]),
1
)
self
.
assertEqual
(
int
(
tdd_config
[
'ul_symbols'
]),
2
)
with
open
(
conf_file
,
'r'
)
as
f
:
for
l
in
f
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment