blob: 7896ecb5ccdeb77eed175384307da6a2b8320b1e [file] [log] [blame]
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +02001/* lteenb configuration file version 2018-10-18
2 * Copyright (C) 2015-2018 Amarisoft
3 */
4{
5
Pau Espin Pedrolc04528c2020-04-01 13:55:51 +02006%if enb.license_server_addr != '0.0.0.0':
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +02007 license_server: {
8 server_addr: "${enb.license_server_addr}",
9 name: "amarisoft",
10 },
Pau Espin Pedrolc04528c2020-04-01 13:55:51 +020011%endif
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020012
Pau Espin Pedrold45a29e2020-04-02 17:21:47 +020013% if enb.rf_dev_type == 'zmq':
14 /* Force sampling rate (if uncommented) */
15 sample_rate: ${enb.sample_rate},
16%endif
17
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020018 /* Log filter: syntax: layer.field=value[,...]
19
20 Possible layers are phy, mac, rlc, pdcp, rrc, nas, s1ap, x2ap, gtpu and
21 all. The 'all' layer is used to address all the layers at the
22 same time.
23
24 field values:
25
26 - 'level': the log level of each layer can be set to 'none',
27 'error', 'info' or 'debug'. Use 'debug' to log all the messages.
28
29 - 'max_size': set the maximum size of the hex dump. 0 means no
30 hex dump. -1 means no limit.
31 */
Andre Puschmann62e887d2020-06-16 14:42:28 +020032 log_options: "${enb.log_options}",
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020033 log_filename: "${enb.log_filename}",
34
35 /* Enable remote API and Web interface */
36 com_addr: "${enb.addr}:9001",
37
38 /* RF driver configuration */
39 include "amarisoft_rf_driver.cfg",
40
Andre Puschmann955249d2020-07-01 15:44:09 +020041% if enb.enable_dl_awgn:
42 channel_dl: {
43 type: "awgn",
44 snr: ${enb.dl_awgn_snr}
45 },
46% endif
47
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020048 mme_list: [
49 {
Pau Espin Pedrol3b49d462020-06-11 13:15:53 +020050 s1ap_bind_addr: "${enb.addr}",
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020051 /* address of MME for S1AP connection. Must be modified if the MME
52 runs on a different host. */
53 mme_addr: "${enb.mme_addr}",
54 },
55 ],
56 /* GTP bind address (=address of the ethernet interface connected to
57 the MME). Must be modified if the MME runs on a different host. */
Andre Puschmann4b5a09a2020-04-14 22:24:00 +020058 gtp_addr: "${enb.gtp_bind_addr}",
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020059
60 /* high 20 bits of SIB1.cellIdentifier */
Pau Espin Pedrol491f77c2020-04-20 14:20:43 +020061 enb_id: ${enb.id},
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020062
63 /* list of cells */
64 cell_list: [
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020065
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020066%for cell in enb.cell_list:
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020067 {
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020068 dl_earfcn: ${cell.dl_earfcn},
Andre Puschmann549826d2020-04-21 21:14:30 +020069 rf_port: ${cell.rf_port},
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020070 cell_id: ${cell.cell_id},
Pau Espin Pedrol154dc932020-04-20 17:02:08 +020071 n_id_cell: ${cell.pci},
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020072 tac: 0x0001,
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020073 root_sequence_index: ${loop.index + 204}, /* PRACH root sequence index */
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020074
Pau Espin Pedrol6c778742020-04-20 12:15:06 +020075 ncell_list: [
76%for ncell in enb.cell_list:
77%if ncell.cell_id in cell.ncell_list:
78 { n_id_cell: ${ncell.pci}, dl_earfcn: ${ncell.dl_earfcn}, cell_id: ${ncell.cell_id}, tac: 1 },
79%endif
80%endfor
81 ],
82
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020083 scell_list: [
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020084%for scell_id in cell.scell_list:
85 { cell_id: ${scell_id}, cross_carrier_scheduling: false, scheduling_cell_id: ${cell.cell_id}, ul_allowed: true},
86%endfor
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020087 ],
88 },
Pau Espin Pedrolf46ae222020-04-17 16:23:54 +020089%endfor
Andre Puschmanna0e69aa2020-04-06 14:51:31 +020090 ], /* cell_list */
91
92 /* default cell parameters */
93 cell_default: {
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +020094 /* Broadcasted PLMN identities */
95 plmn_list: [
96 "${enb.mcc}${enb.mnc}",
97 ],
98
Andre Puschmannbf40f8c2020-04-14 14:04:32 +020099% if int(enb.get('transmission_mode')) == 1:
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200100 n_antenna_dl: 1, /* number of DL antennas */
101 n_antenna_ul: 1, /* number of UL antennas */
Andre Puschmannbf40f8c2020-04-14 14:04:32 +0200102% else:
103 n_antenna_dl: 2, /* number of DL antennas */
104 n_antenna_ul: 2, /* number of UL antennas */
105% endif
106
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200107 n_rb_dl: ${enb.num_prb}, /* Bandwidth: 25: 5 MHz, 50: 10 MHz, 75: 15 MHz, 100: 20 MHz */
108 cyclic_prefix: "normal",
109
110 phich_duration: "normal",
111 phich_resource: "1", /* ratio of NG */
112
113 /* System Information Block type 1 */
114 sib1: "amarisoft_sib1.asn",
115
116 /* other SIBs, in same order as the scheduling list in SIB 1 */
117 sib_sched_list: [ "amarisoft_sib23.asn" ],
118
119 si_coderate: 0.30, /* maximum code rate for SI/RA/P-RNTI messages */
120 si_pdcch_format: 2, /* 2 or 3. Log2 of the number of CCEs for PDCCH
121 for SI/RA/P-RNTI */
122
123 n_symb_cch: 0, /* number of symbols for CCH (0 = auto) */
124
125 /* PDSCH dedicated config (currently same for all UEs) */
126 pdsch_dedicated: {
127 p_a: 0,
128 },
129
130 /* If defined, force for number of CCEs for UE specific PDCCH to
131 2^pdcch_format. Otherwise it is computed from the reported
132 CQI. Range: 0 to 3. */
Andre Puschmann0694c302020-06-22 13:10:24 +0200133 //pdcch_format: 1,
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200134
135 /* if defined, force the PDSCH MCS for all UEs. Otherwise it is
136 computed from the reported CQI */
137 /* pdsch_mcs: 12, */
138
139 /* PUSCH dedicated config (currently same for all UEs) */
140 pusch_dedicated: {
141 beta_offset_ack_index: 9,
142 beta_offset_ri_index: 6,
143 beta_offset_cqi_index: 6,
144 },
145
146 /* MCS for Msg3 (=CCCH RRC Connection Request) */
147 pusch_msg3_mcs: 0,
148
149 /* this CQI value is assumed when none is received from the UE */
150 initial_cqi: 5,
151
152 /* if defined, force the PUSCH MCS for all UEs. Otherwise it is
153 computed from the last received SRS/PUSCH. */
154 // pusch_mcs: 18,
155
156 transmission_mode: ${enb.transmission_mode},
157
158 /* Scheduling request period (ms). Must be >= 40 for HD-FDD */
159 sr_period: 20,
160
161 /* CQI report config */
Andre Puschmann0694c302020-06-22 13:10:24 +0200162 cqi_period: 40, /* period (ms). Must be >= 32 for HD-FDD */
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200163
164 /* RI reporting is done with a period of m_ri * cqi_period.
165 m_ri = 0 (default) disables RI reporting. */
Andre Puschmann487d1ef2020-05-28 15:22:18 +0200166 % if int(enb.get('transmission_mode')) > 1:
167 m_ri: 8,
168 % endif
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200169
Andre Puschmanna0e69aa2020-04-06 14:51:31 +0200170 pucch_dedicated: {
171 /* ack/nack feedback mode when carrier aggregation is
172 enabled. It can be "cs" (for at most two scells) or "pucch3"
173 (used in all cases if more than two cells). */
174 ack_nack_feedback_mode_ca: "cs",
175
176 /* TDD ack/nack feedback mode when a rel 10 UE is detected. It
177 can be "bundling", "multiplexing", "cs" or "pucch3". By
178 default is it the same as tdd_ack_nack_feedback_mode. */
179 // tdd_ack_nack_feedback_mode_r10: "cs",
180
181 /* number of PUCCH 1b CS resources. It determines
182 the maximum number of UEs that can be scheduled in one TTI
183 using carrier aggregation with PUCCH 1b CS ack/nack feedback. */
184 n1_pucch_an_cs_count: 1,
185
186 /* number of resource blocks for PUCCH 3. It determines
187 the maximum number of UEs that can be scheduled in one TTI
188 using carrier aggregation with PUCCH 3 ack/nack feedback. */
189 n3_pucch_an_n_rb: 0,
190 },
191
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200192 /* SRS dedicated config. All UEs share these
193 parameters. srs_config_index and freq_domain_position are
194 allocated for each UE) */
195 srs_dedicated: {
Andre Puschmann0694c302020-06-22 13:10:24 +0200196 srs_period: 160, /* period (ms). Must be >= 40 for HD-FDD */
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200197 srs_bandwidth: 1,
198 srs_hopping_bandwidth: 0,
199 },
200
201 /* MAC configuration (same for all UEs) */
202 mac_config: {
203 ul_max_harq_tx: 5, /* max number of HARQ transmissions for uplink */
204 dl_max_harq_tx: 5, /* max number of HARQ transmissions for downlink */
205 },
206
207 /* CPU load limitation */
208 pusch_max_its: 6, /* max number of turbo decoder iterations */
209
210 /* dynamic power control */
211 dpc: true,
212 dpc_pusch_snr_target: 15,
213 dpc_pucch_snr_target: 10,
214
215 /* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
216 cipher_algo_pref: [],
217 /* RRC integrity algorithm preference. EIA0 is always the last. */
218 integ_algo_pref: [2, 1],
219
220 /* (in ms) send RRC connection release after this time of network
221 inactivity */
222 inactivity_timer: 10000,
223
224 /* SRB configuration */
225 srb_config: [
226 {
227 id: 1,
228 maxRetxThreshold: 32,
229 t_Reordering: 45,
230 t_PollRetransmit: 60,
231 },
232 {
233 id: 2 ,
234 maxRetxThreshold: 32,
235 t_Reordering: 45,
236 t_PollRetransmit: 60,
237 }
238 ],
239
240 /* DRB configuration */
241 drb_config: "amarisoft_drb.cfg",
Andre Puschmanna7f19832020-04-07 14:38:27 +0200242
243% if enb.enable_measurements:
244 /* measurement configuration */
245 meas_config_desc: {
246 a1_report_type: "${enb.a1_report_type}",
247 a1_${enb.a1_report_type}: ${enb.a1_report_value},
248 a1_hysteresis: ${enb.a1_hysteresis},
249 a1_time_to_trigger: ${enb.a1_time_to_trigger},
250 a2_report_type: "${enb.a2_report_type}",
251 a2_${enb.a2_report_type}: ${enb.a2_report_value},
252 a2_hysteresis: ${enb.a2_hysteresis},
253 a2_time_to_trigger: ${enb.a2_time_to_trigger},
254 a3_report_type: "${enb.a3_report_type}",
255 a3_offset: ${enb.a3_report_value},
256 a3_hysteresis: ${enb.a3_hysteresis},
257 a3_time_to_trigger: ${enb.a3_time_to_trigger},
258 },
259
260 /* measurement gap configuration */
261 meas_gap_config: "gp0",
262
263 /* if true, initiate a handover when a suitable measurement report
264 is received */
265 ho_from_meas: true,
266% endif
Pau Espin Pedrol786a6bc2020-03-30 13:51:21 +0200267 },
268}