Commit 9245ffef authored by Joanne Hugé's avatar Joanne Hugé

Change folder structure

parent 02fbe72e
...@@ -23,6 +23,22 @@ ...@@ -23,6 +23,22 @@
}, },
*/ */
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
/* ROHC header compression */
/*
headerCompression: {
maxCID: 15,
profile0x0001: true, // RTP profile
profile0x0002: true, // UDP profile
profile0x0004: false, // IP profile
},
*/
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 5, sn_FieldLength: 5,
...@@ -49,6 +65,14 @@ ...@@ -49,6 +65,14 @@
discardTimer: 150, /* in ms, 0 means infinity */ discardTimer: 150, /* in ms, 0 means infinity */
pdcp_SN_Size: 12, pdcp_SN_Size: 12,
}, },
nr_pdcp_config: {
discardTimer: 150, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
...@@ -73,6 +97,14 @@ ...@@ -73,6 +97,14 @@
discardTimer: 100, /* in ms, 0 means infinity */ discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_Size: 12, pdcp_SN_Size: 12,
}, },
nr_pdcp_config: {
discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
...@@ -97,6 +129,13 @@ ...@@ -97,6 +129,13 @@
discardTimer: 0, /* in ms, 0 means infinity */ discardTimer: 0, /* in ms, 0 means infinity */
statusReportRequired: true, statusReportRequired: true,
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: { rlc_config: {
ul_am: { ul_am: {
t_PollRetransmit: 80, /* in ms */ t_PollRetransmit: 80, /* in ms */
...@@ -133,6 +172,23 @@ ...@@ -133,6 +172,23 @@
}, },
*/ */
}, },
nr_pdcp_config: {
discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 12,
pdcp_SN_SizeDL: 12,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
/* ROHC header compression */
/*
headerCompression: {
maxCID: 15,
profile0x0001: true, // RTP profile
profile0x0002: true, // UDP profile
profile0x0004: false, // IP profile
},
*/
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 5, sn_FieldLength: 5,
...@@ -159,6 +215,14 @@ ...@@ -159,6 +215,14 @@
discardTimer: 150, /* in ms, 0 means infinity */ discardTimer: 150, /* in ms, 0 means infinity */
pdcp_SN_Size: 12, pdcp_SN_Size: 12,
}, },
nr_pdcp_config: {
discardTimer: 150, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
...@@ -185,6 +249,14 @@ ...@@ -185,6 +249,14 @@
discardTimer: 100, /* in ms, 0 means infinity */ discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_Size: 12, pdcp_SN_Size: 12,
}, },
nr_pdcp_config: {
discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
...@@ -210,6 +282,13 @@ ...@@ -210,6 +282,13 @@
discardTimer: 0, /* in ms, 0 means infinity */ discardTimer: 0, /* in ms, 0 means infinity */
statusReportRequired: true, statusReportRequired: true,
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: { rlc_config: {
ul_am: { ul_am: {
t_PollRetransmit: 80, /* in ms */ t_PollRetransmit: 80, /* in ms */
...@@ -237,6 +316,13 @@ ...@@ -237,6 +316,13 @@
discardTimer: 0, /* in ms, 0 means infinity */ discardTimer: 0, /* in ms, 0 means infinity */
statusReportRequired: true, statusReportRequired: true,
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: { rlc_config: {
ul_am: { ul_am: {
t_PollRetransmit: 80, /* in ms */ t_PollRetransmit: 80, /* in ms */
...@@ -264,6 +350,14 @@ ...@@ -264,6 +350,14 @@
discardTimer: 100, /* in ms, 0 means infinity */ discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_Size: 12, pdcp_SN_Size: 12,
}, },
nr_pdcp_config: {
discardTimer: 100, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: false,
outOfOrderDelivery: false,
t_Reordering: 0,
},
rlc_config: { rlc_config: {
ul_um: { ul_um: {
sn_FieldLength: 10, sn_FieldLength: 10,
...@@ -288,6 +382,13 @@ ...@@ -288,6 +382,13 @@
discardTimer: 0, /* in ms, 0 means infinity */ discardTimer: 0, /* in ms, 0 means infinity */
statusReportRequired: true, statusReportRequired: true,
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: { rlc_config: {
ul_am: { ul_am: {
t_PollRetransmit: 80, /* in ms */ t_PollRetransmit: 80, /* in ms */
...@@ -353,6 +454,13 @@ ...@@ -353,6 +454,13 @@
discardTimer: 0, /* in ms, 0 means infinity */ discardTimer: 0, /* in ms, 0 means infinity */
statusReportRequired: true, statusReportRequired: true,
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: { rlc_config: {
ul_am: { ul_am: {
t_PollRetransmit: 80, /* in ms */ t_PollRetransmit: 80, /* in ms */
...@@ -380,6 +488,13 @@ ...@@ -380,6 +488,13 @@
discardTimer: 0, /* in ms, 0 means infinity */ discardTimer: 0, /* in ms, 0 means infinity */
statusReportRequired: true, statusReportRequired: true,
}, },
nr_pdcp_config: {
discardTimer: 0, /* in ms, 0 means infinity */
pdcp_SN_SizeUL: 18,
pdcp_SN_SizeDL: 18,
statusReportRequired: true,
outOfOrderDelivery: false,
},
rlc_config: { rlc_config: {
ul_am: { ul_am: {
t_PollRetransmit: 80, /* in ms */ t_PollRetransmit: 80, /* in ms */
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
......
/* lteenb configuration file example for Category M1 UEs /* lteenb configuration file example for Category M1 UEs
* version 2021-03-17 * version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
...@@ -461,6 +461,7 @@ ...@@ -461,6 +461,7 @@
//br_dl_sf_bitmap : "0001110000011100000111000001110000011100", //br_dl_sf_bitmap : "0001110000011100000111000001110000011100",
}, },
edrx: true
}, },
#endif #endif
} }
/* lteenb configuration file example for Category M1 UEs /* lteenb configuration file example for Category M1 UEs
* version 2021-03-17 * version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
...@@ -352,5 +352,7 @@ ...@@ -352,5 +352,7 @@
allowing higher throughput (up to 3 DL and UL subframes every 8 subframes) */ allowing higher throughput (up to 3 DL and UL subframes every 8 subframes) */
//br_dl_sf_bitmap : "0001110000011100000111000001110000011100", //br_dl_sf_bitmap : "0001110000011100000111000001110000011100",
}, },
edrx: true
}, },
} }
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
{ {
......
/* lteenb configuration file example for NB-IoT (standalone mode) /* lteenb configuration file example for NB-IoT (standalone mode)
* version 2021-03-17 * version 2021-07-12
* Copyright (C) 2016-2021 Amarisoft * Copyright (C) 2016-2021 Amarisoft
*/ */
{ {
......
/* lteenb configuration file example for NB-IoT (in-band, guard-band and standalone mode) /* lteenb configuration file example for NB-IoT (in-band, guard-band and standalone mode)
* version 2021-03-17 * version 2021-07-12
* Copyright (C) 2016-2021 Amarisoft * Copyright (C) 2016-2021 Amarisoft
*/ */
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
#define TDD 1 // Values: 0 (FDD), 1(TDD) #define TDD 0 // Values: 0 (FDD), 1(TDD)
#define N_RB_DL 50 // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz) #define N_RB_DL 25 // Values: 6 (1.4 MHz), 15 (3MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2) #define N_ANTENNA_DL 1 // Values: 1 (SISO), 2 (MIMO 2x2)
#define N_ANTENNA_UL 2 // Values: 1, 2 #define N_ANTENNA_UL 1 // Values: 1, 2
#define CHANNEL_SIM 0 // Values: 0 (channel simulator disabled), 1 (channel simulator enabled) #define CHANNEL_SIM 0 // Values: 0 (channel simulator disabled), 1 (channel simulator enabled)
#define NG_ENB 0 // 1 for ng-eNB
{ {
/* Log filter: syntax: layer.field=value[,...] /* Log filter: syntax: layer.field=value[,...]
...@@ -51,6 +52,15 @@ ...@@ -51,6 +52,15 @@
mme_addr: "127.0.1.100", mme_addr: "127.0.1.100",
}, },
], ],
#if NG_ENB == 1
amf_list: [
{
/* address of AMF for NGAP connection. Must be modified if the AMF
runs on a different host. */
amf_addr: "127.0.1.100",
},
],
#endif
/* GTP bind address (=address of the ethernet interface connected to /* GTP bind address (=address of the ethernet interface connected to
the MME). Must be modified if the MME runs on a different host. */ the MME). Must be modified if the MME runs on a different host. */
gtp_addr: "127.0.1.1", gtp_addr: "127.0.1.1",
...@@ -65,12 +75,17 @@ ...@@ -65,12 +75,17 @@
plmn_list: [ plmn_list: [
"00101", "00101",
], ],
#if NG_ENB == 1
plmn_list_5gc: [ {
tac: 10,
plmn_ids: [{ plmn: "00101", reserved: false }],
}],
#endif
#if TDD == 1 #if TDD == 1
//dl_earfcn: 38050, /* 2600 MHz (band 38) */ //dl_earfcn: 38050, /* 2600 MHz (band 38) */
//dl_earfcn: 40620, /* 2593 MHz (band 41) */ dl_earfcn: 40620, /* 2593 MHz (band 41) */
//dl_earfcn: 42590, /* 3500 MHz (band 42) */ //dl_earfcn: 42590, /* 3500 MHz (band 42) */
dl_earfcn: 38350, /* 1890 MHz (band 39) */
#else #else
//dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */ //dl_earfcn: 300, /* DL center frequency: 2132 MHz (Band 1) */
//dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */ //dl_earfcn: 900, /* DL center frequency: 1960 MHz (Band 2) */
...@@ -112,8 +127,7 @@ ...@@ -112,8 +127,7 @@
cell_barred: false, /* SIB1.cellBarred-r13 */ cell_barred: false, /* SIB1.cellBarred-r13 */
intra_freq_reselection: true, /* SIB1.intraFreqReselection */ intra_freq_reselection: true, /* SIB1.intraFreqReselection */
q_rx_lev_min: -70, /* SIB1.q-RxLevMin */ q_rx_lev_min: -70, /* SIB1.q-RxLevMin */
p_max: 23, /* maximum power allowed for the UE (dBm) */ p_max: 10, /* maximum power allowed for the UE (dBm) */
manual_ref_signal_power: true,
si_window_length: 40, /* ms */ si_window_length: 40, /* ms */
sib_sched_list: [ sib_sched_list: [
{ {
...@@ -197,8 +211,8 @@ ...@@ -197,8 +211,8 @@
computed from the last received SRS/PUSCH. */ computed from the last received SRS/PUSCH. */
// pusch_mcs: 18, // pusch_mcs: 18,
dl_256qam: false, dl_256qam: true,
ul_64qam: false, ul_64qam: true,
/* Scheduling request period (ms). Must be >= 40 for HD-FDD */ /* Scheduling request period (ms). Must be >= 40 for HD-FDD */
sr_period: 20, sr_period: 20,
...@@ -254,7 +268,7 @@ ...@@ -254,7 +268,7 @@
/* dynamic power control */ /* dynamic power control */
dpc: true, dpc: true,
dpc_pusch_snr_target: 25, dpc_pusch_snr_target: 25,
dpc_pucch_snr_target: 10, dpc_pucch_snr_target: 20,
/* RRC/UP ciphering algorithm preference. EEA0 is always the last. */ /* RRC/UP ciphering algorithm preference. EEA0 is always the last. */
cipher_algo_pref: [], cipher_algo_pref: [],
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* LTE cell MIMO 2x2 + 2CC NR cell */ * LTE cell MIMO 2x2 + 2CC NR cell */
#define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD) #define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD)
#define NR_TDD 0 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 0 // Values: 0 (NR FDD), 1(NR TDD)
#define NR_TDD_CONFIG 2 // Values: 1, 2 or 3 #define NR_TDD_CONFIG 2 // Values: 1, 2, 3 or 4 (compatible with LTE TDD config 2)
#define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz) #define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 4 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 4 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define N_ANTENNA_UL 1 // Values: 1 (SISO), 2 (diversity 2RX), 4 (diversity 4RX) #define N_ANTENNA_UL 1 // Values: 1 (SISO), 2 (diversity 2RX), 4 (diversity 4RX)
...@@ -356,6 +356,19 @@ ...@@ -356,6 +356,19 @@
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 0, ul_symbols: 0,
#elif NR_TDD_CONFIG == 4
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
#endif #endif
}, },
}, },
...@@ -381,13 +394,17 @@ ...@@ -381,13 +394,17 @@
prach: { prach: {
#if NR_TDD == 1 #if NR_TDD == 1
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -432,6 +449,8 @@ ...@@ -432,6 +449,8 @@
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#endif #endif
#else #else
k1: 4, k1: 4,
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* NR SA 2CC FDD or TDD cell */ * NR SA 2CC FDD or TDD cell */
#define TDD 0 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 0 // Values: 0 (NR FDD), 1(NR TDD)
#define TDD_CONFIG 2 // Values: 1, 2 or 3 #define NR_TDD_CONFIG 2 // Values: 1, 2, 3 or 4 (compatible with LTE TDD config 2)
#define N_ANTENNA_DL 1 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 1 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define N_ANTENNA_UL 1 // Values: 1 (SISO), 2 (diversity 2RX), 4 (diversity 4RX) #define N_ANTENNA_UL 1 // Values: 1 (SISO), 2 (diversity 2RX), 4 (diversity 4RX)
#define BANDWIDTH 20 // NR cell bandwidth #define NR_BANDWIDTH 20 // NR cell bandwidth
{ {
log_options: "all.level=debug,all.max_size=1", log_options: "all.level=debug,all.max_size=1",
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
{cell_id: 2}, {cell_id: 2},
], ],
#if TDD == 1 #if NR_TDD == 1
band: 78, band: 78,
dl_nr_arfcn: 621300, dl_nr_arfcn: 621300,
#else #else
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
{cell_id: 1}, {cell_id: 1},
], ],
#if TDD == 1 #if NR_TDD == 1
band: 78, band: 78,
dl_nr_arfcn: 627300, dl_nr_arfcn: 627300,
#else #else
...@@ -92,34 +92,47 @@ ...@@ -92,34 +92,47 @@
nr_cell_default: { nr_cell_default: {
subcarrier_spacing: 30, /* kHz */ subcarrier_spacing: 30, /* kHz */
bandwidth: BANDWIDTH, /* MHz */ bandwidth: NR_BANDWIDTH, /* MHz */
n_antenna_dl: N_ANTENNA_DL, n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL, n_antenna_ul: N_ANTENNA_UL,
/* force the timing TA offset (optional) */ /* force the timing TA offset (optional) */
// n_timing_advance_offset: 39936, // n_timing_advance_offset: 39936,
#if TDD == 1 #if NR_TDD == 1
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
#if TDD_CONFIG == 1 #if NR_TDD_CONFIG == 1
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: /* 6 */ 2, dl_symbols: /* 6 */ 2,
ul_slots: 2, ul_slots: 2,
ul_symbols: 0, ul_symbols: 0,
#elif TDD_CONFIG == 2 #elif NR_TDD_CONFIG == 2
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 4, ul_symbols: 4,
#elif TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 6, dl_slots: 6,
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 0, ul_symbols: 0,
#elif NR_TDD_CONFIG == 4
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
#endif #endif
}, },
}, },
...@@ -173,14 +186,18 @@ ...@@ -173,14 +186,18 @@
//pdsch_harq_ack_max: 2, //pdsch_harq_ack_max: 2,
prach: { prach: {
#if TDD == 1 #if NR_TDD == 1
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -223,13 +240,15 @@ ...@@ -223,13 +240,15 @@
dmrs_max_len: 1, dmrs_max_len: 1,
k0: 0, /* delay in slots from DCI to PDSCH */ k0: 0, /* delay in slots from DCI to PDSCH */
/* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */ /* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */
#if TDD == 1 #if NR_TDD == 1
#if TDD_CONFIG == 1 #if NR_TDD_CONFIG == 1
k1: [ 8, 7, 7, 6, 5, 4, 12 /* , 11 */ ], k1: [ 8, 7, 7, 6, 5, 4, 12 /* , 11 */ ],
#elif TDD_CONFIG == 2 #elif NR_TDD_CONFIG == 2
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#endif #endif
#else #else
k1: 4, k1: 4,
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* LTE FDD cell + NR FDD cell at the same frequency * LTE FDD cell + NR FDD cell at the same frequency
*/ */
...@@ -6,8 +6,8 @@ ...@@ -6,8 +6,8 @@
/* Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) */ /* Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) */
#define N_ANTENNA_DL 1 #define N_ANTENNA_DL 1
/* define it to allow SA NR (otherwise NSA NR) */ /* Values: 0 (NSA NR), 1 (SA and NSA NR) */
#define ALLOW_SA #define ALLOW_SA 1
/* define it to disable LTE-CRS: schedule NR only in LTE MBMS subframes */ /* define it to disable LTE-CRS: schedule NR only in LTE MBMS subframes */
//#define MBMS_ONLY //#define MBMS_ONLY
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
/* high 24 bits of SIB1.cellIdentifier */ /* high 24 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D0, enb_id: 0x1A2D0,
#ifdef ALLOW_SA #if ALLOW_SA
gnb_id_bits: 28, gnb_id_bits: 28,
gnb_id: 0x12345, gnb_id: 0x12345,
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
nr_cell_list: [ nr_cell_list: [
{ {
rf_port: 0, rf_port: 0,
#ifdef ALLOW_SA #if ALLOW_SA
plmn_list: [ { plmn_list: [ {
tac: 100, tac: 100,
plmn: "00101", plmn: "00101",
...@@ -275,7 +275,7 @@ ...@@ -275,7 +275,7 @@
ssb_pos_bitmap: "0001", ssb_pos_bitmap: "0001",
ssb_period: 20, /* in ms */ ssb_period: 20, /* in ms */
#ifdef ALLOW_SA #if ALLOW_SA
cell_barred: false, cell_barred: false,
intra_freq_reselection: true, intra_freq_reselection: true,
q_rx_lev_min: -70, q_rx_lev_min: -70,
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
}, },
pdcch: { pdcch: {
#ifdef ALLOW_SA #if ALLOW_SA
n_rb_coreset0: 48, n_rb_coreset0: 48,
n_symb_coreset0: 1, n_symb_coreset0: 1,
search_space0_index: 1, /* 1 symbol, starting at symbol 1 for odd SSB */ search_space0_index: 1, /* 1 symbol, starting at symbol 1 for odd SSB */
...@@ -363,7 +363,7 @@ ...@@ -363,7 +363,7 @@
x_overhead: 6, /* 6 REs reserved for LTE CRS */ x_overhead: 6, /* 6 REs reserved for LTE CRS */
#endif #endif
rar_mcs: 2, rar_mcs: 2,
#ifdef ALLOW_SA #if ALLOW_SA
si_mcs: 6, si_mcs: 6,
#endif #endif
/* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* 2 LTE cell + NR cell */ * 2 LTE cell + NR cell */
#define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD) #define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD)
#define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD)
#define NR_TDD_CONFIG 2 // Values: 1, 2 or 3 #define NR_TDD_CONFIG 2 // Values: 1, 2, 3 or 4 (compatible with LTE TDD config 2)
#define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz) #define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define NR_BANDWIDTH 40 // NR cell bandwidth. With the PCIe SDR50 board, up to 50 MHz is supported. #define NR_BANDWIDTH 40 // NR cell bandwidth. With the PCIe SDR50 board, up to 50 MHz is supported.
...@@ -388,6 +388,19 @@ ...@@ -388,6 +388,19 @@
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 2, ul_symbols: 2,
#elif NR_TDD_CONFIG == 4
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
#endif #endif
}, },
}, },
...@@ -413,13 +426,17 @@ ...@@ -413,13 +426,17 @@
prach: { prach: {
#if NR_TDD == 1 #if NR_TDD == 1
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -466,6 +483,8 @@ ...@@ -466,6 +483,8 @@
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#endif #endif
#else #else
k1: 4, k1: 4,
...@@ -745,6 +764,8 @@ ...@@ -745,6 +764,8 @@
srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 4
srs_symbols: [ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 ],
#endif #endif
srs_resource: [ srs_resource: [
{ {
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* LTE cell + NR cell */ * LTE cell + NR cell */
#define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD) #define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD)
#define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD)
#define NR_TDD_CONFIG 2 // Values: 1, 2 or 3 #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_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz) #define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define TRX_MAX_BANDWIDTH 100 // Values: 50 (50MHz), 100 (100MHz). Maximum bandwidth supported by one single SDR board. #define TRX_MAX_BANDWIDTH 100 // Values: 50 (50MHz), 100 (100MHz). Maximum bandwidth supported by one single SDR board.
...@@ -14,6 +15,10 @@ ...@@ -14,6 +15,10 @@
// With the PCIe SDR100 board, up to 100 MHz is supported. // With the PCIe SDR100 board, up to 100 MHz is supported.
// For a bandwidth higher than the maximum bandwidth of a single board (TRX_MAX_BANDWIDTH), two SDR boards are used in parallel (experimental). // For a bandwidth higher than the maximum bandwidth of a single board (TRX_MAX_BANDWIDTH), two SDR boards are used in parallel (experimental).
#define ALLOW_SA 0 // 1 to allow SA NR in addition to NSA NR
#define USE_SRS 0 // define to 1 to enable periodic SRS
{ {
//log_options: "all.level=debug,all.max_size=1", //log_options: "all.level=debug,all.max_size=1",
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", 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",
...@@ -63,7 +68,17 @@ ...@@ -63,7 +68,17 @@
#else #else
sample_rate: 122.88, /* MHz */ sample_rate: 122.88, /* MHz */
#endif #endif
#endif #endif
#if FR2
/* an external frequency translator must be used */
rf_dl_freq: 3500, /* MHz */
rf_ul_freq: 3500, /* MHz */
/* uncomment to have a higher per-UE bitrate at the expense of
higher gNB real time constraints. The default value is 4
ms. 1 ms gives the maximum per-UE bitrate. */
// rx_to_tx_latency: 1, /* ms */
#endif
}, },
], ],
...@@ -80,6 +95,18 @@ ...@@ -80,6 +95,18 @@
/* high 24 bits of SIB1.cellIdentifier */ /* high 24 bits of SIB1.cellIdentifier */
enb_id: 0x1A2D0, enb_id: 0x1A2D0,
#if ALLOW_SA
gnb_id_bits: 28,
gnb_id: 0x12345,
amf_list: [
{
/* address of AMF for NGAP connection. Must be modified if the AMF runs on a different host. */
amf_addr: "127.0.1.100",
},
],
#endif
nr_support: true, nr_support: true,
/* list of cells */ /* list of cells */
...@@ -108,13 +135,32 @@ ...@@ -108,13 +135,32 @@
nr_cell_list: [ nr_cell_list: [
{ {
rf_port: 1, rf_port: 1,
#if ALLOW_SA
plmn_list: [ {
tac: 100,
plmn: "00101",
reserved: false,
},
],
#endif
cell_id: 0x02, cell_id: 0x02,
#if NR_TDD == 1 #if NR_TDD == 1
#if FR2
band: 257,
dl_nr_arfcn: 2079167, /* 28000.08 MHz */
subcarrier_spacing: 120, /* kHz */
ssb_pos_bitmap: "0100000000000000000000000000000000000000000000000000000000000000",
#else
band: 78, band: 78,
dl_nr_arfcn: 632628, /* 3489.42 MHz */ dl_nr_arfcn: 632628, /* 3489.42 MHz */
subcarrier_spacing: 30, /* kHz */
ssb_pos_bitmap: "10000000",
#endif
#else #else
band: 5, band: 5,
dl_nr_arfcn: 176300, /* 881.5 MHz */ dl_nr_arfcn: 176300, /* 881.5 MHz */
subcarrier_spacing: 30, /* kHz */
ssb_pos_bitmap: "1000",
#endif #endif
}, },
], /* nr_cell_list */ ], /* nr_cell_list */
...@@ -332,45 +378,79 @@ ...@@ -332,45 +378,79 @@
}, },
nr_cell_default: { nr_cell_default: {
subcarrier_spacing: 30, /* kHz */
bandwidth: NR_BANDWIDTH, /* MHz */ bandwidth: NR_BANDWIDTH, /* MHz */
n_antenna_dl: N_ANTENNA_DL, n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: 1, n_antenna_ul: 1,
/* force the timing TA offset (optional) */ /* force the timing TA offset (optional) */
// n_timing_advance_offset: 39936, // n_timing_advance_offset: 39936,
/* subframe offset to align with the LTE TDD pattern (optional) */
// subframe_offset: 2,
#if NR_TDD == 1 #if NR_TDD == 1
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: {
#if NR_TDD_CONFIG == 1 #if NR_TDD_CONFIG == 1
pattern1: {
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: /* 6 */ 2, dl_symbols: /* 6 */ 2,
ul_slots: 2, ul_slots: 2,
ul_symbols: 2, ul_symbols: 2,
},
#elif NR_TDD_CONFIG == 2 #elif NR_TDD_CONFIG == 2
pattern1: {
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 4, ul_symbols: 4,
},
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
pattern1: {
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 6, dl_slots: 6,
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 2, ul_symbols: 2,
#endif
}, },
#elif NR_TDD_CONFIG == 4
pattern1: {
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
},
#elif NR_TDD_CONFIG == 10
/* only for FR2 */
pattern1: {
period: 0.625, /* in ms */
dl_slots: 3,
dl_symbols: 10,
ul_slots: 1,
ul_symbols: 2,
},
#endif
}, },
ssb_pos_bitmap: "10000000",
#else
ssb_pos_bitmap: "1000",
#endif #endif
ssb_period: 20, /* in ms */ ssb_period: 20, /* in ms */
n_id_cell: 500, n_id_cell: 500,
#if ALLOW_SA
cell_barred: false,
intra_freq_reselection: true,
q_rx_lev_min: -70,
q_qual_min: -20,
inactivity_timer: 10000,
si_window_length: 40,
#endif
// p_max: 10, /* maximum UE power in dBm */ // p_max: 10, /* maximum UE power in dBm */
root_sequence_index: 1, /* PRACH root sequence index */ root_sequence_index: 1, /* PRACH root sequence index */
...@@ -386,18 +466,31 @@ ...@@ -386,18 +466,31 @@
prach: { prach: {
#if NR_TDD == 1 #if NR_TDD == 1
#if FR2
prach_config_index: 149, /* format C0, every 4 frames */
msg1_subcarrier_spacing: 120, /* kHz */
#else
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#endif
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
power_ramping_step: 4, /* in dB */ power_ramping_step: 4, /* in dB */
#if FR2
ra_response_window: 40, /* in slots */
#else
ra_response_window: 20, /* in slots */ ra_response_window: 20, /* in slots */
#endif
restricted_set_config: "unrestricted_set", restricted_set_config: "unrestricted_set",
ra_contention_resolution_timer: 64, /* in ms */ ra_contention_resolution_timer: 64, /* in ms */
ssb_per_prach_occasion: 1, ssb_per_prach_occasion: 1,
...@@ -405,12 +498,23 @@ ...@@ -405,12 +498,23 @@
}, },
pdcch: { pdcch: {
#if ALLOW_SA
search_space0_index: 0,
si_al_index: 2,
dedicated_coreset: {
rb_start: -1, /* -1 to have the maximum bandwidth */
l_crb: -1, /* -1 means all the bandwidth */
duration: 0, /* 0 means to automatically set it from the coreset bandwidth */
precoder_granularity: "sameAsREG_bundle",
},
#else
common_coreset: { common_coreset: {
rb_start: -1, /* -1 to have the maximum bandwidth */ rb_start: -1, /* -1 to have the maximum bandwidth */
l_crb: -1, /* -1 means all the bandwidth */ l_crb: -1, /* -1 means all the bandwidth */
duration: 1, duration: 0, /* 0 means to automatically set it from the coreset bandwidth */
precoder_granularity: "sameAsREG_bundle", precoder_granularity: "sameAsREG_bundle",
}, },
#endif
css: { css: {
n_candidates: [ 0, 0, 1, 0, 0 ], n_candidates: [ 0, 0, 1, 0, 0 ],
}, },
...@@ -425,8 +529,6 @@ ...@@ -425,8 +529,6 @@
pdsch: { pdsch: {
mapping_type: "typeA", mapping_type: "typeA",
start_symb: 1,
n_symb: 13,
dmrs_add_pos: 1, dmrs_add_pos: 1,
dmrs_type: 1, dmrs_type: 1,
dmrs_max_len: 1, dmrs_max_len: 1,
...@@ -439,6 +541,10 @@ ...@@ -439,6 +541,10 @@
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#elif NR_TDD_CONFIG == 10
k1: [ 9, 8, 12, 11 ],
#endif #endif
#else #else
k1: 4, k1: 4,
...@@ -447,6 +553,9 @@ ...@@ -447,6 +553,9 @@
mcs_table: "qam256", mcs_table: "qam256",
rar_mcs: 2, rar_mcs: 2,
#if ALLOW_SA
si_mcs: 6,
#endif
/* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed
* based on DL channel quality estimation */ * based on DL channel quality estimation */
/* mcs: 24, */ /* mcs: 24, */
...@@ -489,7 +598,9 @@ ...@@ -489,7 +598,9 @@
offset: 1, /* != 0 to avoid collision with SSB */ offset: 1, /* != 0 to avoid collision with SSB */
qcl_info_periodic_csi_rs: 0, qcl_info_periodic_csi_rs: 0,
}, },
#define USE_TRS #if FR2 == 0
#define USE_TRS
#endif
#ifdef USE_TRS #ifdef USE_TRS
/* TRS : period of 40 ms, slots 1 & 2, symbols 4 and 8 */ /* TRS : period of 40 ms, slots 1 & 2, symbols 4 and 8 */
{ {
...@@ -676,6 +787,9 @@ ...@@ -676,6 +787,9 @@
n_cs: 3, n_cs: 3,
n_occ: 3, n_occ: 3,
freq_hopping: true, freq_hopping: true,
#if USE_SRS && NR_TDD == 0
n_symb: 13,
#endif
}, },
#endif #endif
#if 1 #if 1
...@@ -709,15 +823,20 @@ ...@@ -709,15 +823,20 @@
#endif #endif
}, },
#define USE_SRS 0 /* define to 1 to enable periodic SRS */
#if USE_SRS #if USE_SRS
srs: { srs: {
#if NR_TDD
#if NR_TDD_CONFIG == 1 || NR_TDD_CONFIG == 2 #if NR_TDD_CONFIG == 1 || NR_TDD_CONFIG == 2
srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 4
srs_symbols: [ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 10
srs_symbols: [ 0, 0, 0, 2, 0 ],
#endif
#else
srs_symbols: [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 ],
#endif #endif
srs_resource: [ srs_resource: [
{ {
...@@ -745,9 +864,14 @@ ...@@ -745,9 +864,14 @@
mcs_table: "qam256", /* without transform precoding */ mcs_table: "qam256", /* without transform precoding */
mcs_table_tp: "qam256", /* with transform precoding */ mcs_table_tp: "qam256", /* with transform precoding */
ldpc_max_its: 5, ldpc_max_its: 5,
#if NR_TDD && NR_TDD_CONFIG == 10
k2: 8, /* delay in slots from DCI to PUSCH */
msg3_k2: 13,
#else
k2: 4, /* delay in slots from DCI to PUSCH */ k2: 4, /* delay in slots from DCI to PUSCH */
p0_nominal_with_grant: -76,
msg3_k2: 7, msg3_k2: 7,
#endif
p0_nominal_with_grant: -76,
msg3_mcs: 4, msg3_mcs: 4,
msg3_delta_power: 0, /* in dB */ msg3_delta_power: 0, /* in dB */
beta_offset_ack_index: 9, beta_offset_ack_index: 9,
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* LTE cell + 2 NR cell */ * LTE cell + 2 NR cell */
#define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD) #define TDD 0 // Values: 0 (LTE FDD), 1(LTE TDD)
#define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD)
#define NR_TDD_CONFIG 2 // Values: 1, 2 or 3 #define NR_TDD_CONFIG 2 // Values: 1, 2, 3 or 4 (compatible with LTE TDD config 2)
#define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz) #define N_RB_DL 100 // Values: 6 (1.4MHz), 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define NR_BANDWIDTH 40 // NR cell bandwidth. With the PCIe SDR50 board, up to 50 MHz is supported. #define NR_BANDWIDTH 40 // NR cell bandwidth. With the PCIe SDR50 board, up to 50 MHz is supported.
...@@ -98,6 +98,7 @@ ...@@ -98,6 +98,7 @@
#else #else
band: 7, band: 7,
dl_nr_arfcn: 528000, /* 2640 MHz */ dl_nr_arfcn: 528000, /* 2640 MHz */
ssb_subcarrier_spacing: 15,
#endif #endif
ncell_list: [ ncell_list: [
...@@ -114,8 +115,9 @@ ...@@ -114,8 +115,9 @@
band: 78, band: 78,
dl_nr_arfcn: 640000, /* 3600 MHz */ dl_nr_arfcn: 640000, /* 3600 MHz */
#else #else
band: 5, band: 7,
dl_nr_arfcn: 532000, /* 2660 MHz */ dl_nr_arfcn: 532000, /* 2660 MHz */
ssb_subcarrier_spacing: 15,
#endif #endif
ncell_list: [ ncell_list: [
...@@ -366,6 +368,19 @@ ...@@ -366,6 +368,19 @@
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 2, ul_symbols: 2,
#elif NR_TDD_CONFIG == 4
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
#endif #endif
}, },
}, },
...@@ -391,13 +406,17 @@ ...@@ -391,13 +406,17 @@
prach: { prach: {
#if NR_TDD == 1 #if NR_TDD == 1
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -444,6 +463,8 @@ ...@@ -444,6 +463,8 @@
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#endif #endif
#else #else
k1: 4, k1: 4,
...@@ -723,6 +744,8 @@ ...@@ -723,6 +744,8 @@
srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 4
srs_symbols: [ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 ],
#endif #endif
srs_resource: [ srs_resource: [
{ {
......
...@@ -3,11 +3,11 @@ ...@@ -3,11 +3,11 @@
* NR SA 2 cells, FDD or TDD, for HO */ * NR SA 2 cells, FDD or TDD, for HO */
#define TDD 0 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 0 // Values: 0 (NR FDD), 1(NR TDD)
#define TDD_CONFIG 2 // Values: 1, 2 or 3 #define NR_TDD_CONFIG 2 // Values: 1, 2, 3 or 4 (compatible with LTE TDD config 2)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define N_ANTENNA_UL 1 // Values: 1 (SISO), 2 (diversity 2RX), 4 (diversity 4RX) #define N_ANTENNA_UL 1 // Values: 1 (SISO), 2 (diversity 2RX), 4 (diversity 4RX)
#define BANDWIDTH 20 // NR cell bandwidth #define NR_BANDWIDTH 20 // NR cell bandwidth
{ {
log_options: "all.level=debug,all.max_size=1", log_options: "all.level=debug,all.max_size=1",
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
{cell_id: 2}, {cell_id: 2},
], ],
#if TDD == 1 #if NR_TDD == 1
band: 78, band: 78,
dl_nr_arfcn: 621300, dl_nr_arfcn: 621300,
#else #else
...@@ -80,7 +80,7 @@ ...@@ -80,7 +80,7 @@
{cell_id: 1}, {cell_id: 1},
], ],
#if TDD == 1 #if NR_TDD == 1
band: 78, band: 78,
dl_nr_arfcn: 627300, dl_nr_arfcn: 627300,
#else #else
...@@ -92,34 +92,47 @@ ...@@ -92,34 +92,47 @@
nr_cell_default: { nr_cell_default: {
subcarrier_spacing: 30, /* kHz */ subcarrier_spacing: 30, /* kHz */
bandwidth: BANDWIDTH, /* MHz */ bandwidth: NR_BANDWIDTH, /* MHz */
n_antenna_dl: N_ANTENNA_DL, n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL, n_antenna_ul: N_ANTENNA_UL,
/* force the timing TA offset (optional) */ /* force the timing TA offset (optional) */
// n_timing_advance_offset: 39936, // n_timing_advance_offset: 39936,
#if TDD == 1 #if NR_TDD == 1
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
#if TDD_CONFIG == 1 #if NR_TDD_CONFIG == 1
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: /* 6 */ 2, dl_symbols: /* 6 */ 2,
ul_slots: 2, ul_slots: 2,
ul_symbols: 0, ul_symbols: 0,
#elif TDD_CONFIG == 2 #elif NR_TDD_CONFIG == 2
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 4, ul_symbols: 4,
#elif TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 6, dl_slots: 6,
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 0, ul_symbols: 0,
#elif NR_TDD_CONFIG == 4
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
#endif #endif
}, },
}, },
...@@ -173,14 +186,18 @@ ...@@ -173,14 +186,18 @@
//pdsch_harq_ack_max: 2, //pdsch_harq_ack_max: 2,
prach: { prach: {
#if TDD == 1 #if NR_TDD == 1
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -224,13 +241,15 @@ ...@@ -224,13 +241,15 @@
dmrs_max_len: 1, dmrs_max_len: 1,
k0: 0, /* delay in slots from DCI to PDSCH */ k0: 0, /* delay in slots from DCI to PDSCH */
/* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */ /* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */
#if TDD == 1 #if NR_TDD == 1
#if TDD_CONFIG == 1 #if NR_TDD_CONFIG == 1
k1: [ 8, 7, 7, 6, 5, 4, 12 /* , 11 */ ], k1: [ 8, 7, 7, 6, 5, 4, 12 /* , 11 */ ],
#elif TDD_CONFIG == 2 #elif NR_TDD_CONFIG == 2
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#endif #endif
#else #else
k1: 4, k1: 4,
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* LTE cell + NR SA cell */ * LTE cell + NR SA cell */
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#define N_RB_DL 100 // Values: 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz) #define N_RB_DL 100 // Values: 25 (5MHz), 50 (10MHz), 75 (15MHz), 100 (20MHz)
#define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2) #define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2)
#define N_ANTENNA_UL 1 // Values: 1, 2 #define N_ANTENNA_UL 1 // Values: 1, 2
#define NR_TDD_CONFIG 2 // Values: 1, 2 or 3 NR TDD Config #define NR_TDD_CONFIG 2 // Values: 1, 2, 3 or 4 (compatible with LTE TDD config 2)
#define NR_BANDWIDTH 20 // NR cell bandwidth #define NR_BANDWIDTH 20 // NR cell bandwidth
#define EPS_FALLBACK 0 // Values: 0 (disable EPS fallback), 1 (enable EPS fallback) #define EPS_FALLBACK 0 // Values: 0 (disable EPS fallback), 1 (enable EPS fallback)
...@@ -126,9 +126,9 @@ ...@@ -126,9 +126,9 @@
rat: "eutra", rat: "eutra",
n_id_cell: 1, n_id_cell: 1,
#if TDD == 1 #if TDD == 1
dl_earfcn: 40620, /* 2593 MHz (band 41) */ dl_earfcn: 40620, /* 2593 MHz (band 41) */
#else #else
dl_earfcn: 300, /* DL center frequency: 2140 MHz (Band 1) */ dl_earfcn: 300, /* DL center frequency: 2140 MHz (Band 1) */
#endif #endif
cell_id: 0x1a2d001, cell_id: 0x1a2d001,
tac: 1, tac: 1,
...@@ -206,6 +206,10 @@ ...@@ -206,6 +206,10 @@
filename: "sib23.asn", filename: "sib23.asn",
si_periodicity: 16, /* frames */ si_periodicity: 16, /* frames */
}, },
/*{
filename: "sib24.asn",
si_periodicity: 16
}*/
], ],
#if N_RB_DL == 6 #if N_RB_DL == 6
...@@ -397,6 +401,19 @@ ...@@ -397,6 +401,19 @@
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 2, ul_symbols: 2,
#elif NR_TDD_CONFIG == 4
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
#endif #endif
}, },
}, },
...@@ -432,17 +449,10 @@ ...@@ -432,17 +449,10 @@
si_periodicity: 16, si_periodicity: 16,
}, },
{ {
filename: "sib3_nr.asn", filename: "sib5_nr.asn",
si_periodicity: 16, si_periodicity: 16,
}, },
{ ],*/
filename: "sib4_nr.asn",
si_periodicity: 32,
},
],
sib9: {
si_periodicity: 32
},*/
si_window_length: 40, si_window_length: 40,
cell_barred: false, cell_barred: false,
...@@ -464,13 +474,17 @@ ...@@ -464,13 +474,17 @@
prach: { prach: {
#if NR_TDD == 1 #if NR_TDD == 1
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -521,6 +535,8 @@ ...@@ -521,6 +535,8 @@
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ], k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ], k1: [ 7, 6, 6, 5, 5, 4 ],
#elif NR_TDD_CONFIG == 4
k1: [ 5, 4, 12, 11, 8, 7, 7, 6 ],
#endif #endif
#else #else
k1: 4, k1: 4,
...@@ -798,6 +814,8 @@ ...@@ -798,6 +814,8 @@
srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ],
#elif NR_TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 4
srs_symbols: [ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 ],
#endif #endif
srs_resource: [ srs_resource: [
{ {
......
/* lteenb configuration file version 2021-03-17 /* lteenb configuration file version 2021-07-12
* Copyright (C) 2019-2021 Amarisoft * Copyright (C) 2019-2021 Amarisoft
* NR SA FDD or TDD cell */ * NR SA FDD or TDD cell */
#define TDD 1 // Values: 0 (NR FDD), 1(NR TDD) #define NR_TDD 1 // Values: 0 (NR FDD), 1(NR TDD)
#define TDD_CONFIG 2 // Values: 1, 2 or 3 #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 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4) #define N_ANTENNA_DL 2 // Values: 1 (SISO), 2 (MIMO 2x2), 4 (MIMO 4x4)
#define N_ANTENNA_UL 1 // Values: 1, 2, 4 #define N_ANTENNA_UL 1 // Values: 1, 2, 4
#define BANDWIDTH 20 // NR cell bandwidth #define NR_BANDWIDTH 20 // NR cell bandwidth
/* define to 1 to enable periodic SRS with N_ANTENNA_UL ports. Uplink /* define to 1 to enable periodic SRS with N_ANTENNA_UL ports. Uplink
SU-MIMO is also enabled if N_ANTENNA_UL >= 2. Not all UEs support SU-MIMO is also enabled if N_ANTENNA_UL >= 2. Not all UEs support
...@@ -57,6 +58,21 @@ ...@@ -57,6 +58,21 @@
nr_support: true, nr_support: true,
rf_ports: [
{
#if FR2
/* an external frequency translator must be used for FR2 */
rf_dl_freq: 3500, /* MHz */
rf_ul_freq: 3500, /* MHz */
/* uncomment to have a higher per-UE bitrate at the expense of
higher gNB real time constraints. The default value is 4
ms. 1 ms gives the maximum per-UE bitrate. */
// rx_to_tx_latency: 1, /* ms */
#endif
},
],
/* list of cells */ /* list of cells */
cell_list: [], cell_list: [],
...@@ -64,53 +80,90 @@ ...@@ -64,53 +80,90 @@
{ {
rf_port: 0, rf_port: 0,
cell_id: 0x01, cell_id: 0x01,
#if TDD == 1 #if NR_TDD == 1
#if FR2
band: 257,
dl_nr_arfcn: 2079167, /* 28000.08 MHz */
subcarrier_spacing: 120, /* kHz */
ssb_pos_bitmap: "0100000000000000000000000000000000000000000000000000000000000000",
#else
band: 78, band: 78,
dl_nr_arfcn: 632628, /* 3489.42 MHz */ dl_nr_arfcn: 632628, /* 3489.42 MHz */
subcarrier_spacing: 30, /* kHz */
ssb_pos_bitmap: "10000000",
#endif
#else #else
band: 7, band: 7,
dl_nr_arfcn: 536020, /* 2680 MHz */ dl_nr_arfcn: 536020, /* 2680 MHz */
ssb_subcarrier_spacing: 15, ssb_subcarrier_spacing: 15,
subcarrier_spacing: 30, /* kHz */
ssb_pos_bitmap: "1000",
#endif #endif
}, },
], /* nr_cell_list */ ], /* nr_cell_list */
nr_cell_default: { nr_cell_default: {
subcarrier_spacing: 30, /* kHz */ bandwidth: NR_BANDWIDTH, /* MHz */
bandwidth: BANDWIDTH, /* MHz */
n_antenna_dl: N_ANTENNA_DL, n_antenna_dl: N_ANTENNA_DL,
n_antenna_ul: N_ANTENNA_UL, n_antenna_ul: N_ANTENNA_UL,
/* force the timing TA offset (optional) */ /* force the timing TA offset (optional) */
// n_timing_advance_offset: 39936, // n_timing_advance_offset: 39936,
/* subframe offset to align with the LTE TDD pattern (optional) */
#if TDD == 1 // subframe_offset: 2,
#if NR_TDD == 1
tdd_ul_dl_config: { tdd_ul_dl_config: {
#if NR_TDD_CONFIG == 1
pattern1: { pattern1: {
#if TDD_CONFIG == 1
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: /* 6 */ 2, dl_symbols: /* 6 */ 2,
ul_slots: 2, ul_slots: 2,
ul_symbols: 2, ul_symbols: 2,
#elif TDD_CONFIG == 2 },
#elif NR_TDD_CONFIG == 2
pattern1: {
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 4, ul_symbols: 4,
#elif TDD_CONFIG == 3 },
#elif NR_TDD_CONFIG == 3
pattern1: {
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 6, dl_slots: 6,
dl_symbols: 2, dl_symbols: 2,
ul_slots: 3, ul_slots: 3,
ul_symbols: 2, ul_symbols: 2,
#endif
}, },
#elif NR_TDD_CONFIG == 4
pattern1: {
period: 3, /* in ms */
dl_slots: 3,
dl_symbols: 6,
ul_symbols: 4,
ul_slots: 2,
},
pattern2: {
period: 2, /* in ms */
dl_slots: 4,
dl_symbols: 0,
ul_symbols: 0,
ul_slots: 0,
},
#elif NR_TDD_CONFIG == 10
/* only for FR2 */
pattern1: {
period: 0.625, /* in ms */
dl_slots: 3,
dl_symbols: 10,
ul_slots: 1,
ul_symbols: 2,
},
#endif
}, },
ssb_pos_bitmap: "10000000",
#else
ssb_pos_bitmap: "1000",
#endif #endif
ssb_period: 20, /* in ms */ ssb_period: 20, /* in ms */
n_id_cell: 500, n_id_cell: 500,
...@@ -171,19 +224,32 @@ ...@@ -171,19 +224,32 @@
//pdsch_harq_ack_max: 2, //pdsch_harq_ack_max: 2,
prach: { prach: {
#if TDD == 1 #if NR_TDD == 1
#if FR2
prach_config_index: 149, /* format C0, every 4 frames */
msg1_subcarrier_spacing: 120, /* kHz */
#else
#if NR_TDD_CONFIG == 4
prach_config_index: 156, /* format B4, subframe 2 */
#else
prach_config_index: 160, /* format B4, subframe 9 */ prach_config_index: 160, /* format B4, subframe 9 */
#endif
msg1_subcarrier_spacing: 30, /* kHz */ msg1_subcarrier_spacing: 30, /* kHz */
#endif
#else #else
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, /* in dBm */ preamble_received_target_power: -110, /* in dBm */
preamble_trans_max: 7, preamble_trans_max: 7,
power_ramping_step: 4, /* in dB */ power_ramping_step: 4, /* in dB */
#if FR2
ra_response_window: 40, /* in slots */
#else
ra_response_window: 20, /* in slots */ ra_response_window: 20, /* in slots */
#endif
restricted_set_config: "unrestricted_set", restricted_set_config: "unrestricted_set",
ra_contention_resolution_timer: 64, /* in ms */ ra_contention_resolution_timer: 64, /* in ms */
ssb_per_prach_occasion: 1, ssb_per_prach_occasion: 1,
...@@ -191,14 +257,12 @@ ...@@ -191,14 +257,12 @@
}, },
pdcch: { pdcch: {
n_rb_coreset0: 48,
n_symb_coreset0: 1,
search_space0_index: 0, search_space0_index: 0,
dedicated_coreset: { dedicated_coreset: {
rb_start: -1, /* -1 to have the maximum bandwidth */ rb_start: -1, /* -1 to have the maximum bandwidth */
l_crb: -1, /* -1 means all the bandwidth */ l_crb: -1, /* -1 means all the bandwidth */
duration: 1, duration: 0, /* 0 means to automatically set it from the coreset bandwidth */
precoder_granularity: "sameAsREG_bundle", precoder_granularity: "sameAsREG_bundle",
}, },
...@@ -220,21 +284,8 @@ ...@@ -220,21 +284,8 @@
dmrs_add_pos: 1, dmrs_add_pos: 1,
dmrs_type: 1, dmrs_type: 1,
dmrs_max_len: 1, dmrs_max_len: 1,
k0: 0, /* delay in slots from DCI to PDSCH */ /* k1 delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK: automatic setting */
/* delay in slots from PDSCH to PUCCH/PUSCH ACK/NACK */
#if TDD == 1
#if TDD_CONFIG == 1
k1: [ 8, 7, 7, 6, 5, 4, 12 /* , 11 */ ],
#elif TDD_CONFIG == 2
k1: [ 8, 7, 7, 6, 5, 4, 12, 11 ],
#elif TDD_CONFIG == 3
k1: [ 7, 6, 6, 5, 5, 4 ],
#endif
#else
k1: 4,
#endif
mcs_table: "qam256", mcs_table: "qam256",
rar_mcs: 2, rar_mcs: 2,
si_mcs: 6, si_mcs: 6,
/* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed /* If defined, force the PDSCH MCS for all UEs. Otherwise it is computed
...@@ -279,7 +330,9 @@ ...@@ -279,7 +330,9 @@
offset: 1, /* != 0 to avoid collision with SSB */ offset: 1, /* != 0 to avoid collision with SSB */
qcl_info_periodic_csi_rs: 0, qcl_info_periodic_csi_rs: 0,
}, },
#define USE_TRS #if FR2 == 0
#define USE_TRS
#endif
#ifdef USE_TRS #ifdef USE_TRS
/* TRS : period of 40 ms, slots 1 & 2, symbols 4 and 8 */ /* TRS : period of 40 ms, slots 1 & 2, symbols 4 and 8 */
{ {
...@@ -466,6 +519,9 @@ ...@@ -466,6 +519,9 @@
n_cs: 3, n_cs: 3,
n_occ: 3, n_occ: 3,
freq_hopping: true, freq_hopping: true,
#if USE_SRS && NR_TDD == 0
n_symb: 13,
#endif
}, },
#endif #endif
#if 1 #if 1
...@@ -501,10 +557,18 @@ ...@@ -501,10 +557,18 @@
#if USE_SRS #if USE_SRS
srs: { srs: {
#if TDD_CONFIG == 1 || TDD_CONFIG == 2 #if NR_TDD
#if NR_TDD_CONFIG == 1 || NR_TDD_CONFIG == 2
srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 0, 2, 0, 0 ],
#elif TDD_CONFIG == 3 #elif NR_TDD_CONFIG == 3
srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ], srs_symbols: [ 0, 0, 0, 0, 0, 0, 2, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 4
srs_symbols: [ 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 ],
#elif NR_TDD_CONFIG == 10
srs_symbols: [ 0, 0, 0, 2, 0 ],
#endif
#else
srs_symbols: [ 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 ],
#endif #endif
srs_resource: [ srs_resource: [
{ {
...@@ -532,9 +596,8 @@ ...@@ -532,9 +596,8 @@
mcs_table: "qam256", /* without transform precoding */ mcs_table: "qam256", /* without transform precoding */
mcs_table_tp: "qam256", /* with transform precoding */ mcs_table_tp: "qam256", /* with transform precoding */
ldpc_max_its: 5, ldpc_max_its: 5,
k2: 4, /* delay in slots from DCI to PUSCH */ /* k2 : delay in slots from DCI to PUSCH : automatic setting */
p0_nominal_with_grant: -76, p0_nominal_with_grant: -76,
msg3_k2: 7,
msg3_mcs: 4, msg3_mcs: 4,
msg3_delta_power: 0, /* in dB */ msg3_delta_power: 0, /* in dB */
beta_offset_ack_index: 9, beta_offset_ack_index: 9,
......
/* gNodeB test mode for PDSCH or PUSCH */ /* gNodeB test mode for PDSCH */
{ {
// log_options: "all.level=debug,all.max_size=0", // log_options: "all.level=debug,all.max_size=0",
log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,rrc.level=debug,rrc.max_size=1", log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,rrc.level=debug,rrc.max_size=1",
log_filename: "/tmp/enb0.log", log_filename: "/tmp/gnb0.log",
#define FR2 0 /* 0=FR1, 1=FR2 */
#if FR2
/* FR2 parameters */
#define TDD 1
#define BANDWIDTH 50 /* MHz */
#define SCS 120 /* kHz */
#else
/* FR1 parameters */
#define TDD 0 #define TDD 0
#define FR2 0 #define BANDWIDTH 20 /* MHz */
/* test PUSCH (1) or of PDSCH (0) */ #define SCS 30 /* kHz */
#define TM_PUSCH 0 #endif
/* the signal is replicated on all the TX antennas */
#define N_ANTENNA_DL 1
/* Test models from TS 38.141-1 section 4.9.2.2 */
#define TEST_MODEL "UE-SIM"
//#define TEST_MODEL "FR1-TM1.1"
//#define TEST_MODEL "FR1-TM1.2"
//#define TEST_MODEL "FR1-TM2"
//#define TEST_MODEL "FR1-TM2a"
//#define TEST_MODEL "FR1-TM3.1"
//#define TEST_MODEL "FR1-TM3.1a"
//#define TEST_MODEL "FR1-TM3.2"
//#define TEST_MODEL "FR1-TM3.3"
/* RF driver configuration */
#if 1 #if TEST_MODEL == "UE-SIM"
#define SSB_ENABLED 1
#else
#define SSB_ENABLED 0 /* no SSB is generated */
#endif
/* RF driver configuration */
rf_driver: { rf_driver: {
name: "sdr", name: "sdr",
...@@ -22,20 +51,25 @@ ...@@ -22,20 +51,25 @@
}, },
tx_gain: 90.0, /* TX gain (in dB) */ tx_gain: 90.0, /* TX gain (in dB) */
rx_gain: 20.0, /* RX gain (in dB) */ rx_gain: 20.0, /* RX gain (in dB) */
#else
include "rf_driver/1chan.cfg",
#endif
// rx_gain: 30.0, /* RX gain (in dB) -> 10 dB for PHR limit with 30 dB attenuator */
#if FR2
rf_ports: [ rf_ports: [
{ {
#if FR2
/* an external frequency translator must be used */ /* an external frequency translator must be used */
rf_dl_freq: 3500, rf_dl_freq: 3500,
rf_ul_freq: 3500, rf_ul_freq: 3500,
#endif
#if N_ANTENNA_DL >= 2
/* use the channel simulator to replicate the signal on all the
TX antennas */
n_antenna_dl: N_ANTENNA_DL,
channel_dl: {
type: "awgn",
noise_level: -200, /* no noise by default */
},
#endif
} }
], ],
#endif
/* address of MME for S1AP connection. Must be modified if the MME /* address of MME for S1AP connection. Must be modified if the MME
runs on a different host. */ runs on a different host. */
...@@ -62,30 +96,68 @@ ...@@ -62,30 +96,68 @@
band: 257, band: 257,
dl_nr_arfcn: 2079167, /* 28000.08 MHz */ dl_nr_arfcn: 2079167, /* 28000.08 MHz */
ssb_nr_arfcn: 2079167, ssb_nr_arfcn: 2079167,
subcarrier_spacing: 120, /* kHz */ ssb_subcarrier_spacing: 120, /* kHz */
bandwidth: 50, /* MHz */ #if SSB_ENABLED
ssb_pos_bitmap: "0100000000000000000000000000000000000000000000000000000000000000",
#else
ssb_pos_bitmap: "0000000000000000000000000000000000000000000000000000000000000000",
#endif
#else #else
band: 78, band: 78,
dl_nr_arfcn: 633332, /* 3499.98 MHz */ dl_nr_arfcn: 633332, /* 3499.98 MHz */
ssb_nr_arfcn: 633332, ssb_nr_arfcn: 633332,
subcarrier_spacing: 30, /* kHz */ ssb_subcarrier_spacing: 30, /* kHz */
bandwidth: 20, /* MHz */ #if SSB_ENABLED
ssb_pos_bitmap: "10000000",
#else
ssb_pos_bitmap: "00000000",
#endif
#endif #endif
#else #else
band: 2, band: 2,
dl_nr_arfcn: 396000, /* 1980 MHz */ dl_nr_arfcn: 396000, /* 1980 MHz */
ssb_nr_arfcn: 396000, ssb_nr_arfcn: 396000,
ssb_subcarrier_spacing: 15, /* kHz */ ssb_subcarrier_spacing: 15, /* kHz */
subcarrier_spacing: 30, /* kHz */ #if SSB_ENABLED
bandwidth: 20, /* MHz */ ssb_pos_bitmap: "1000",
#else
ssb_pos_bitmap: "0000",
#endif
#endif #endif
no_ssb_allowed: true,
ssb_period: 10, /* in ms */
subcarrier_spacing: SCS, /* kHz */
bandwidth: BANDWIDTH, /* MHz */
n_antenna_dl: 1, /* 1-8 */ n_antenna_dl: 1, /* 1-8 */
n_antenna_ul: 1, /* 1-8 */ n_antenna_ul: 1, /* 1-8 */
n_id_cell: 500, n_id_cell: 500,
#if TDD #if TDD
#if FR2 #if FR2
#if SCS == 60
tdd_ul_dl_config: {
pattern1: {
period: 1.25, /* in ms */
dl_slots: 3,
dl_symbols: 10,
ul_slots: 1,
ul_symbols: 2,
},
},
#elif SCS == 120
#if 0
tdd_ul_dl_config: {
pattern1: {
period: 1.25, /* in ms */
dl_slots: 7,
dl_symbols: 6,
ul_slots: 2,
ul_symbols: 4,
},
},
#else
/* alternate 120 kHz TDD configuration */
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
period: 0.625, /* in ms */ period: 0.625, /* in ms */
...@@ -95,23 +167,42 @@ ...@@ -95,23 +167,42 @@
ul_symbols: 2, ul_symbols: 2,
}, },
}, },
ssb_pos_bitmap: "0100000000000000000000000000000000000000000000000000000000000000", #endif
#endif /* SCS */
#else #else
#if SCS == 15
tdd_ul_dl_config: {
pattern1: {
period: 5, /* in ms */
dl_slots: 3,
dl_symbols: 10,
ul_slots: 1,
ul_symbols: 2,
},
},
#elif SCS == 30
tdd_ul_dl_config: { tdd_ul_dl_config: {
pattern1: { pattern1: {
period: 5, /* in ms */ period: 5, /* in ms */
dl_slots: 7, dl_slots: 7,
dl_symbols: 6, dl_symbols: 6,
ul_slots: 2, ul_slots: 2,
ul_symbols: 0, ul_symbols: 4,
}, },
}, },
ssb_pos_bitmap: "10000000", #elif SCS == 60
#endif tdd_ul_dl_config: {
#else pattern1: {
ssb_pos_bitmap: "1000", period: 5, /* in ms */
#endif dl_slots: 14,
ssb_period: 10, /* in ms */ dl_symbols: 12,
ul_slots: 4,
ul_symbols: 8,
},
},
#endif /* SCS */
#endif /* !FR2 */
#endif /* TDD */
p_max: 10, /* dBm */ p_max: 10, /* dBm */
...@@ -133,7 +224,7 @@ ...@@ -133,7 +224,7 @@
prach_config_index: 16, /* subframe 1 every frame */ prach_config_index: 16, /* subframe 1 every frame */
#endif #endif
msg1_fdm: 1, msg1_fdm: 1,
msg1_frequency_start: 0, msg1_frequency_start: -1,
zero_correlation_zone_config: 15, zero_correlation_zone_config: 15,
preamble_received_target_power: -110, preamble_received_target_power: -110,
preamble_trans_max: 7, preamble_trans_max: 7,
...@@ -150,25 +241,33 @@ ...@@ -150,25 +241,33 @@
}, },
pdcch: { pdcch: {
rb_start: -1, common_coreset: {
l_crb: -1, /* -1 means all the bandwidth */ rb_start: 0,
duration: 1, l_crb: 6,
#if TEST_MODEL == "UE-SIM"
duration: 1,
#else
duration: 2,
#endif
precoder_granularity: "sameAsREG_bundle",
},
css: { css: {
n_candidates: [ 0, 4, 2, 1, 0 ], n_candidates: [ 1, 0, 0, 0, 0 ],
}, },
rar_al_index: 2, rar_al_index: 0,
uss: { uss: {
n_candidates: [ 0, 2, 1, 0, 0 ], n_candidates: [ 1, 0, 0, 0, 0 ],
dci_0_1_and_1_1: true, dci_0_1_and_1_1: true,
#if TEST_MODEL != "UE-SIM"
force_cce0: true, /* force PDCCH in CCE 0 */
#endif
}, },
al_index: 1, al_index: 0,
}, },
pdsch: { pdsch: {
mapping_type: "typeA", mapping_type: "typeA",
start_symb: 1,
n_symb: 13,
dmrs_add_pos: 1, dmrs_add_pos: 1,
dmrs_type: 1, dmrs_type: 1,
dmrs_max_len: 1, dmrs_max_len: 1,
...@@ -182,18 +281,50 @@ ...@@ -182,18 +281,50 @@
#endif #endif
#else #else
k1: 4, k1: 4,
#endif #endif /* TDD */
/* hardcoded scheduling parameters */ /* hardcoded scheduling parameters */
mcs: 28, #if TEST_MODEL == "UE-SIM"
mcs: 28, /* 256QAM */
#elif TEST_MODEL == "FR1-TM1.1"
mcs: 3, /* QPSK */
#elif TEST_MODEL == "FR1-TM1.2"
mcs: 3, /* QPSK */
#elif TEST_MODEL == "FR1-TM2"
mcs: 14, /* 64QAM */
#elif TEST_MODEL == "FR1-TM2a"
mcs: 23, /* 256QAM */
#elif TEST_MODEL == "FR1-TM3.1"
mcs: 14, /* 64QAM */
#elif TEST_MODEL == "FR1-TM3.1a"
mcs: 23, /* 256QAM */
#elif TEST_MODEL == "FR1-TM3.2"
mcs: 3, /* QPSK */
#elif TEST_MODEL == "FR1-TM3.3"
mcs: 3, /* QPSK */
#else
#error unsupported test model
#endif
rar_mcs: 2, rar_mcs: 2,
fer: 0, fer: 0,
fixed_rb_alloc: true, fixed_rb_alloc: true,
#if TEST_MODEL == "UE-SIM"
rb_start: 0, rb_start: 0,
#if FR2 #if FR2
l_crb: 32, l_crb: 32,
#else #else
l_crb: 51, l_crb: 51,
#endif #endif /* FR2 */
#elif TEST_MODEL == "FR1-TM2" || TEST_MODEL == "FR1-TM2a"
/* Note: adjust according to the bandwidth and SCS (period = 10 ms) */
rb_start: [ 0, 25, 50, 0, 25, 50, 0, 25, 50,
0, 25, 50, 0, 25, 50, 0, 25, 50,
0, 25 ],
l_crb: 1,
#else /* other test models */
rb_start: 0,
l_crb: 3,
#endif /* TEST_MODEL */
}, },
pucch: { pucch: {
...@@ -253,17 +384,47 @@ ...@@ -253,17 +384,47 @@
phr_tx_power_factor_change: "dB3" phr_tx_power_factor_change: "dB3"
}, },
test_mode: { /* additional PDSCH with RNTI=0 and optionally RNTI=1 for boosted PRBS */
#if TM_PUSCH #if TEST_MODEL != "UE-SIM" && TEST_MODEL != "FR1-TM2" && TEST_MODEL != "FR1-TM2a"
type: "pusch", tm_pdsch: {
rnti: 0x100, rb_start: 3,
#if TEST_MODEL == "FR1-TM1.1"
mcs: 3, /* QPSK */
#elif TEST_MODEL == "FR1-TM1.2"
mcs: 3, /* QPSK */
boosted_ratio: 0.4,
boosted_power: 3, /* dB */
deboosted_mcs: 3, /* QPSK */
#elif TEST_MODEL == "FR1-TM3.1"
mcs: 14, /* 64QAM */
#elif TEST_MODEL == "FR1-TM3.1a"
mcs: 23, /* 256QAM */
#elif TEST_MODEL == "FR1-TM3.2"
mcs: 7, /* 16QAM */
boosted_ratio: 0.6,
boosted_power: -3, /* dB */
deboosted_mcs: 3, /* QPSK */
#elif TEST_MODEL == "FR1-TM3.3"
mcs: 3, /* QPSK */
boosted_ratio: 0.5,
boosted_power: -6, /* dB */
deboosted_mcs: 3, /* QPSK */
#else #else
#error unsupported test model
#endif
},
#endif /* !UE-SIM */
test_mode: {
type: "pdsch", type: "pdsch",
rnti: 0x100,
random_data: false, /* if true, send random data instead of zeros */ random_data: false, /* if true, send random data instead of zeros */
#if FR2 #if FR2
pdsch_harq_ack_disable: true, /* needed to use all DL slots */ pdsch_harq_ack_disable: true, /* needed to use all DL slots */
#endif #endif
#if TEST_MODEL == "UE-SIM"
rnti: 0x100,
#else
rnti: 0x2,
#endif #endif
}, },
......
/* Parameters for SDR device version 2021-03-17 /* Parameters for SDR device version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
rf_driver: { rf_driver: {
......
/* Parameters for SDR device version 2021-03-17 /* Parameters for SDR device version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
rf_driver: { rf_driver: {
......
/* Parameters for SDR device version 2021-03-17 /* Parameters for SDR device version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
rf_driver: { rf_driver: {
......
/* lteenb configuration file version 2021-03-17 /* Parameters for SDR device version 2021-07-12
* Copyright (C) 2015-2021 Amarisoft * Copyright (C) 2015-2021 Amarisoft
*/ */
...@@ -38,10 +38,10 @@ rf_driver: { ...@@ -38,10 +38,10 @@ rf_driver: {
args: "", args: "",
#endif #endif
/* synchronisation source: internal, gps, external (default = internal) */ /* synchronisation source: none, internal, gps, external (default = none) */
// sync: "gps", // sync: "gps",
#if TDD == 1 #if TDD == 1
rx_antenna:"tx_rx", // force to use the RX connector in TDD as RX antenna rx_antenna:"rx", // force to use the RX connector in TDD as RX antenna
#endif #endif
}, },
...@@ -49,5 +49,5 @@ rf_driver: { ...@@ -49,5 +49,5 @@ rf_driver: {
tx_pad_duration:300, tx_pad_duration:300,
#endif #endif
tx_gain: 70.0, /* TX gain (in dB) */ tx_gain: 90.0, /* TX gain (in dB) */
rx_gain: 30.0, /* RX gain (in dB) */ rx_gain: 60.0, /* RX gain (in dB) */
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
cellSelectionInfo { cellSelectionInfo {
q-RxLevMin -70 q-RxLevMin -70
}, },
p-Max 23, /* maximum power allowed for the UE (dBm) */ p-Max 10, /* maximum power allowed for the UE (dBm) */
freqBandIndicator 1, /* patched by eNB */ freqBandIndicator 1, /* patched by eNB */
schedulingInfoList { schedulingInfoList {
{ {
......
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
} }
}, },
pdsch-ConfigCommon { pdsch-ConfigCommon {
referenceSignalPower 2, /* patched by eNB */ referenceSignalPower -8, /* patched by eNB */
p-b 1 /* patched by eNB */ p-b 1 /* patched by eNB */
}, },
pusch-ConfigCommon { pusch-ConfigCommon {
......
...@@ -8,9 +8,10 @@ ...@@ -8,9 +8,10 @@
{ {
carrierFreq-r15 632544, carrierFreq-r15 632544,
subcarrierSpacingSSB-r15 kHz30, subcarrierSpacingSSB-r15 kHz30,
cellReselectionPriority-r15 7,
threshX-High-r15 0, threshX-High-r15 0,
threshX-Low-r15 0, threshX-Low-r15 0,
q-RxLevMin-r15 -70, q-RxLevMin-r15 -40,
p-MaxNR-r15 10, p-MaxNR-r15 10,
deriveSSB-IndexFromCell-r15 TRUE deriveSSB-IndexFromCell-r15 TRUE
} }
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
}, },
cellReselectionServingFreqInfo { cellReselectionServingFreqInfo {
threshServingLowP 0, threshServingLowP 0,
cellReselectionPriority 4 cellReselectionPriority 6
}, },
intraFreqCellReselectionInfo { intraFreqCellReselectionInfo {
q-RxLevMin -70, q-RxLevMin -70,
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
periodicityAndOffset sf20: 0, periodicityAndOffset sf20: 0,
duration sf1 duration sf1
}, },
ssb-ToMeasure shortBitmap: '1000'B, ssb-ToMeasure mediumBitmap: '10000000'B,
deriveSSB-IndexFromCell TRUE deriveSSB-IndexFromCell TRUE
} }
} }
......
...@@ -9,9 +9,10 @@ ...@@ -9,9 +9,10 @@
carrierFreq 300, carrierFreq 300,
allowedMeasBandwidth mbw100, allowedMeasBandwidth mbw100,
presenceAntennaPort1 TRUE, presenceAntennaPort1 TRUE,
cellReselectionPriority 7,
threshX-High 0, threshX-High 0,
threshX-Low 0, threshX-Low 0,
q-RxLevMin -70, q-RxLevMin -40,
q-QualMin -34, q-QualMin -34,
p-MaxEUTRA 10 p-MaxEUTRA 10
} }
......
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