Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
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
spbro
OpenXG-RAN
Commits
dd0927dd
Commit
dd0927dd
authored
5 years ago
by
Khalid Ahmed
Committed by
Thomas Schlichter
5 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TDD fixes in real-time environment
parent
c7951965
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
332 additions
and
27 deletions
+332
-27
executables/nr-ru.c
executables/nr-ru.c
+1
-4
openair1/PHY/INIT/nr_init.c
openair1/PHY/INIT/nr_init.c
+9
-5
openair1/PHY/INIT/nr_parms.c
openair1/PHY/INIT/nr_parms.c
+3
-1
openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c
openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c
+1
-1
openair1/SCHED_NR/phy_procedures_nr_common.c
openair1/SCHED_NR/phy_procedures_nr_common.c
+4
-2
openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
+26
-14
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.adrv9371zc706.conf
...RIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.adrv9371zc706.conf
+288
-0
No files found.
executables/nr-ru.c
View file @
dd0927dd
...
@@ -734,8 +734,6 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
...
@@ -734,8 +734,6 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
nr_subframe_t
SF_type
=
nr_slot_select
(
cfg
,
slot
%
fp
->
slots_per_frame
);
nr_subframe_t
SF_type
=
nr_slot_select
(
cfg
,
slot
%
fp
->
slots_per_frame
);
int
sf_extension
=
0
;
int
sf_extension
=
0
;
if
((
SF_type
==
SF_DL
)
||
(
SF_type
==
SF_S
))
{
int
siglen
=
fp
->
samples_per_slot
,
flags
=
1
;
int
siglen
=
fp
->
samples_per_slot
,
flags
=
1
;
/*
/*
if (SF_type == SF_S) {
if (SF_type == SF_S) {
...
@@ -776,7 +774,6 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
...
@@ -776,7 +774,6 @@ void tx_rf(RU_t *ru,int frame,int slot, uint64_t timestamp) {
(
long
long
unsigned
int
)
timestamp
,
frame
,
proc
->
frame_tx_unwrap
,
slot
);
(
long
long
unsigned
int
)
timestamp
,
frame
,
proc
->
frame_tx_unwrap
,
slot
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
0
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE
,
0
);
AssertFatal
(
txs
==
siglen
+
sf_extension
,
"TX : Timeout (sent %d/%d)
\n
"
,
txs
,
siglen
);
AssertFatal
(
txs
==
siglen
+
sf_extension
,
"TX : Timeout (sent %d/%d)
\n
"
,
txs
,
siglen
);
}
}
}
...
@@ -1388,9 +1385,9 @@ static void *ru_thread( void *param ) {
...
@@ -1388,9 +1385,9 @@ static void *ru_thread( void *param ) {
}
}
if
(
ru
->
if_south
==
LOCAL_RF
)
{
// configure RF parameters only
if
(
ru
->
if_south
==
LOCAL_RF
)
{
// configure RF parameters only
fill_rf_config
(
ru
,
ru
->
rf_config_file
);
nr_init_frame_parms
(
&
ru
->
gNB_list
[
0
]
->
gNB_config
,
fp
);
nr_init_frame_parms
(
&
ru
->
gNB_list
[
0
]
->
gNB_config
,
fp
);
nr_dump_frame_parms
(
fp
);
nr_dump_frame_parms
(
fp
);
fill_rf_config
(
ru
,
ru
->
rf_config_file
);
nr_phy_init_RU
(
ru
);
nr_phy_init_RU
(
ru
);
ret
=
openair0_device_load
(
&
ru
->
rfdevice
,
&
ru
->
openair0_cfg
);
ret
=
openair0_device_load
(
&
ru
->
rfdevice
,
&
ru
->
openair0_cfg
);
AssertFatal
(
ret
==
0
,
"Cannot connect to local radio
\n
"
);
AssertFatal
(
ret
==
0
,
"Cannot connect to local radio
\n
"
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/nr_init.c
View file @
dd0927dd
...
@@ -19,6 +19,7 @@
...
@@ -19,6 +19,7 @@
* contact@openairinterface.org
* contact@openairinterface.org
*/
*/
#include "executables/nr-softmodem-common.h"
#include "PHY/defs_gNB.h"
#include "PHY/defs_gNB.h"
#include "PHY/phy_extern.h"
#include "PHY/phy_extern.h"
#include "PHY/NR_REFSIG/nr_refsig.h"
#include "PHY/NR_REFSIG/nr_refsig.h"
...
@@ -31,6 +32,7 @@
...
@@ -31,6 +32,7 @@
#include "MBSFN-SubframeConfigList.h"*/
#include "MBSFN-SubframeConfigList.h"*/
#include "openair1/PHY/defs_RU.h"
#include "openair1/PHY/defs_RU.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_extern.h"
#include "LAYER2/MAC/mac_proto.h"
#include "assertions.h"
#include "assertions.h"
#include <math.h>
#include <math.h>
...
@@ -428,23 +430,25 @@ void nr_phy_config_request(NR_PHY_Config_t *phy_config)
...
@@ -428,23 +430,25 @@ void nr_phy_config_request(NR_PHY_Config_t *phy_config)
gNB_config
->
sch_config
.
ssb_periodicity
.
value
=
phy_config
->
cfg
->
sch_config
.
ssb_periodicity
.
value
;
gNB_config
->
sch_config
.
ssb_periodicity
.
value
=
phy_config
->
cfg
->
sch_config
.
ssb_periodicity
.
value
;
if
(
phy_config
->
cfg
->
subframe_config
.
duplex_mode
.
value
==
0
)
{
if
(
phy_config
->
cfg
->
subframe_config
.
duplex_mode
.
value
==
0
)
{
gNB_config
->
subframe_config
.
duplex_mode
.
value
=
TDD
;
}
else
{
gNB_config
->
subframe_config
.
duplex_mode
.
value
=
FDD
;
gNB_config
->
subframe_config
.
duplex_mode
.
value
=
FDD
;
}
else
{
gNB_config
->
subframe_config
.
duplex_mode
.
value
=
TDD
;
}
}
RC
.
gNB
[
Mod_id
][
CC_id
]
->
mac_enabled
=
1
;
RC
.
gNB
[
Mod_id
][
CC_id
]
->
mac_enabled
=
1
;
fp
->
dl_CarrierFreq
=
from_nrarfcn
(
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
gNB_config
->
nfapi_config
.
nrarfcn
.
value
);
fp
->
dl_CarrierFreq
=
from_nrarfcn
(
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
gNB_config
->
nfapi_config
.
nrarfcn
.
value
);
fp
->
ul_CarrierFreq
=
fp
->
dl_CarrierFreq
-
(
get_nr_uldl_offset
(
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
])
*
100000
);
get_band
(
fp
->
dl_CarrierFreq
,
&
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
&
uplink_frequency_offset
[
CC_id
][
0
],
&
fp
->
frame_type
);
fp
->
ul_CarrierFreq
=
fp
->
dl_CarrierFreq
+
uplink_frequency_offset
[
CC_id
][
0
];
fp
->
threequarter_fs
=
openair0_cfg
[
0
].
threequarter_fs
;
fp
->
threequarter_fs
=
openair0_cfg
[
0
].
threequarter_fs
;
LOG_I
(
PHY
,
"Configuring MIB for instance %d, CCid %d : (band %d,N_RB_DL %d, N_RB_UL %d, Nid_cell %d,DL freq %u)
\n
"
,
LOG_I
(
PHY
,
"Configuring MIB for instance %d, CCid %d : (band %d,N_RB_DL %d, N_RB_UL %d, Nid_cell %d,DL freq %u
, UL freq %u
)
\n
"
,
Mod_id
,
Mod_id
,
CC_id
,
CC_id
,
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
gNB_config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
],
gNB_config
->
rf_config
.
dl_carrier_bandwidth
.
value
,
gNB_config
->
rf_config
.
dl_carrier_bandwidth
.
value
,
gNB_config
->
rf_config
.
ul_carrier_bandwidth
.
value
,
gNB_config
->
rf_config
.
ul_carrier_bandwidth
.
value
,
gNB_config
->
sch_config
.
physical_cell_id
.
value
,
gNB_config
->
sch_config
.
physical_cell_id
.
value
,
fp
->
dl_CarrierFreq
);
fp
->
dl_CarrierFreq
,
fp
->
ul_CarrierFreq
);
nr_init_frame_parms
(
gNB_config
,
fp
);
nr_init_frame_parms
(
gNB_config
,
fp
);
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/INIT/nr_parms.c
View file @
dd0927dd
...
@@ -256,7 +256,7 @@ int nr_init_frame_parms(nfapi_nr_config_request_t* config,
...
@@ -256,7 +256,7 @@ int nr_init_frame_parms(nfapi_nr_config_request_t* config,
{
{
fp
->
eutra_band
=
config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
];
fp
->
eutra_band
=
config
->
nfapi_config
.
rf_bands
.
rf_band
[
0
];
fp
->
frame_type
=
!
(
config
->
subframe_config
.
duplex_mode
.
value
)
;
fp
->
frame_type
=
config
->
subframe_config
.
duplex_mode
.
value
;
fp
->
L_ssb
=
config
->
sch_config
.
ssb_scg_position_in_burst
.
value
;
fp
->
L_ssb
=
config
->
sch_config
.
ssb_scg_position_in_burst
.
value
;
return
nr_init_frame_parms0
(
fp
,
return
nr_init_frame_parms0
(
fp
,
config
->
subframe_config
.
numerology_index_mu
.
value
,
config
->
subframe_config
.
numerology_index_mu
.
value
,
...
@@ -288,6 +288,8 @@ void nr_dump_frame_parms(NR_DL_FRAME_PARMS *fp)
...
@@ -288,6 +288,8 @@ void nr_dump_frame_parms(NR_DL_FRAME_PARMS *fp)
LOG_I
(
PHY
,
"fp->samples_per_frame_wCP=%d
\n
"
,
fp
->
samples_per_frame_wCP
);
LOG_I
(
PHY
,
"fp->samples_per_frame_wCP=%d
\n
"
,
fp
->
samples_per_frame_wCP
);
LOG_I
(
PHY
,
"fp->samples_per_subframe=%d
\n
"
,
fp
->
samples_per_subframe
);
LOG_I
(
PHY
,
"fp->samples_per_subframe=%d
\n
"
,
fp
->
samples_per_subframe
);
LOG_I
(
PHY
,
"fp->samples_per_frame=%d
\n
"
,
fp
->
samples_per_frame
);
LOG_I
(
PHY
,
"fp->samples_per_frame=%d
\n
"
,
fp
->
samples_per_frame
);
LOG_I
(
PHY
,
"fp->dl_CarrierFreq=%u
\n
"
,
fp
->
dl_CarrierFreq
);
LOG_I
(
PHY
,
"fp->ul_CarrierFreq=%u
\n
"
,
fp
->
ul_CarrierFreq
);
}
}
...
...
This diff is collapsed.
Click to expand it.
openair1/PHY/NR_TRANSPORT/nr_ulsch_decoding.c
View file @
dd0927dd
...
@@ -348,7 +348,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
...
@@ -348,7 +348,7 @@ uint32_t nr_ulsch_decoding(PHY_VARS_gNB *phy_vars_gNB,
// G = 0;
// G = 0;
// G = nr_get_G(nb_rb, nb_symb_sch, nb_re_dmrs, length_dmrs, nfapi_ulsch_pdu_rel15->Qm, nfapi_ulsch_pdu_rel15->n_layers);
// G = nr_get_G(nb_rb, nb_symb_sch, nb_re_dmrs, length_dmrs, nfapi_ulsch_pdu_rel15->Qm, nfapi_ulsch_pdu_rel15->n_layers);
LOG_
I
(
PHY
,
"ULSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_symb_sch %d nb_rb %d
\n
"
,
harq_pid
,
A
,
G
,
mcs
,
n_layers
,
nb_symb_sch
,
nb_rb
);
LOG_
D
(
PHY
,
"ULSCH Decoding, harq_pid %d TBS %d G %d mcs %d Nl %d nb_symb_sch %d nb_rb %d
\n
"
,
harq_pid
,
A
,
G
,
mcs
,
n_layers
,
nb_symb_sch
,
nb_rb
);
if
(
harq_process
->
round
==
0
)
{
if
(
harq_process
->
round
==
0
)
{
...
...
This diff is collapsed.
Click to expand it.
openair1/SCHED_NR/phy_procedures_nr_common.c
View file @
dd0927dd
...
@@ -35,8 +35,10 @@
...
@@ -35,8 +35,10 @@
nr_subframe_t
nr_slot_select
(
nfapi_nr_config_request_t
*
cfg
,
nr_subframe_t
nr_slot_select
(
nfapi_nr_config_request_t
*
cfg
,
unsigned
char
slot
)
unsigned
char
slot
)
{
{
if
(
cfg
->
subframe_config
.
duplex_mode
.
value
==
FDD
)
if
(
cfg
->
subframe_config
.
duplex_mode
.
value
==
FDD
||
slot
==
NR_DOWNLINK_SLOT
)
return
(
SF_DL
);
return
(
SF_DL
);
LOG_E
(
PHY
,
"Not developped TDD mode
\n
"
);
else
if
(
slot
==
NR_UPLINK_SLOT
)
return
(
SF_UL
);
return
-
1
;
return
-
1
;
}
}
This diff is collapsed.
Click to expand it.
openair2/LAYER2/NR_MAC_gNB/nr_mac_common.c
View file @
dd0927dd
...
@@ -75,30 +75,42 @@ void get_band(uint32_t downlink_frequency,
...
@@ -75,30 +75,42 @@ void get_band(uint32_t downlink_frequency,
lte_frame_type_t
*
current_type
)
lte_frame_type_t
*
current_type
)
{
{
int
ind
;
int
ind
;
int64_t
dl_freq_khz
=
downlink_frequency
/
1000
;
uint64_t
center_frequency_khz
;
uint64_t
center_freq_diff_khz
;
uint64_t
dl_freq_khz
=
downlink_frequency
/
1000
;
center_freq_diff_khz
=
999999999999999999
;
// 2^64
*
current_band
=
0
;
for
(
ind
=
0
;
for
(
ind
=
0
;
ind
<
sizeof
(
nr_bandtable
)
/
sizeof
(
nr_bandtable
[
0
]);
ind
<
sizeof
(
nr_bandtable
)
/
sizeof
(
nr_bandtable
[
0
]);
ind
++
)
{
ind
++
)
{
*
current_band
=
nr_bandtable
[
ind
].
band
;
LOG_I
(
PHY
,
"Scanning band %d, dl_min %"
PRIu64
", ul_min %"
PRIu64
"
\n
"
,
nr_bandtable
[
ind
].
band
,
nr_bandtable
[
ind
].
dl_min
,
nr_bandtable
[
ind
].
ul_min
);
LOG_I
(
PHY
,
"Scanning band %d, dl_min %"
PRIu64
", ul_min %"
PRIu64
"
\n
"
,
ind
,
nr_bandtable
[
ind
].
dl_min
,
nr_bandtable
[
ind
].
ul_min
);
if
(
nr_bandtable
[
ind
].
dl_min
<=
dl_freq_khz
&&
nr_bandtable
[
ind
].
dl_max
>=
dl_freq_khz
)
{
if
(
nr_bandtable
[
ind
].
dl_min
<=
dl_freq_khz
&&
nr_bandtable
[
ind
].
dl_max
>=
dl_freq_khz
)
{
*
current_offset
=
(
nr_bandtable
[
ind
].
ul_min
-
nr_bandtable
[
ind
].
dl_min
)
*
1000
;
if
(
*
current_offset
==
0
)
center_frequency_khz
=
(
nr_bandtable
[
ind
].
dl_max
+
nr_bandtable
[
ind
].
dl_min
)
/
2
;
*
current_type
=
TDD
;
else
if
(
abs
(
dl_freq_khz
-
center_frequency_khz
)
<
center_freq_diff_khz
){
*
current_type
=
FDD
;
*
current_band
=
nr_bandtable
[
ind
].
band
;
LOG_I
(
PHY
,
"DL frequency %"
PRIu32
": band %d, frame_type %d, UL frequency %"
PRIu32
"
\n
"
,
*
current_offset
=
(
nr_bandtable
[
ind
].
ul_min
-
nr_bandtable
[
ind
].
dl_min
)
*
1000
;
downlink_frequency
,
*
current_band
,
*
current_type
,
downlink_frequency
+*
current_offset
);
center_freq_diff_khz
=
abs
(
dl_freq_khz
-
center_frequency_khz
);
break
;
if
(
*
current_offset
==
0
)
*
current_type
=
TDD
;
else
*
current_type
=
FDD
;
}
}
}
}
}
AssertFatal
(
ind
!=
(
sizeof
(
nr_bandtable
)
/
sizeof
(
nr_bandtable
[
0
]))
,
LOG_I
(
PHY
,
"DL frequency %"
PRIu32
": band %d, frame_type %d, UL frequency %"
PRIu32
"
\n
"
,
"Can't find EUTRA band for frequency %d
\n
"
,
downlink_frequency
);
downlink_frequency
,
*
current_band
,
*
current_type
,
downlink_frequency
+*
current_offset
);
AssertFatal
(
*
current_band
!=
0
,
"Can't find EUTRA band for frequency %u
\n
"
,
downlink_frequency
);
}
}
uint32_t
to_nrarfcn
(
int
nr_bandP
,
uint32_t
to_nrarfcn
(
int
nr_bandP
,
...
...
This diff is collapsed.
Click to expand it.
targets/PROJECTS/GENERIC-LTE-EPC/CONF/gnb.band78.tm1.106PRB.adrv9371zc706.conf
0 → 100644
View file @
dd0927dd
Active_gNBs
= (
"gNB-Eurecom-5GNRBox"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe00
;
cell_type
=
"CELL_MACRO_GNB"
;
gNB_name
=
"gNB-Eurecom-5GNRBox"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
208
;
mnc
=
93
;
mnc_length
=
2
;});
tr_s_preference
=
"local_mac"
//////////
Physical
parameters
:
component_carriers
= (
{
node_function
=
"3GPP_gNODEB"
;
node_timing
=
"synch_to_ext_device"
;
node_synch_ref
=
0
;
frame_type
=
"TDD"
;
DL_prefix_type
=
"NORMAL"
;
UL_prefix_type
=
"NORMAL"
;
eutra_band
=
78
;
downlink_frequency
=
3510000000
L
;
uplink_frequency_offset
=
0
;
Nid_cell
=
0
;
N_RB_DL
=
106
;
nb_antenna_ports
=
1
;
nb_antennas_tx
=
1
;
nb_antennas_rx
=
1
;
tx_gain
=
90
;
rx_gain
=
125
;
MIB_subCarrierSpacingCommon
=
30
;
MIB_ssb_SubcarrierOffset
=
0
;
MIB_dmrs_TypeA_Position
=
2
;
pdcch_ConfigSIB1
=
0
;
SIB1_frequencyOffsetSSB
=
"khz5"
;
SIB1_ssb_PeriodicityServingCell
=
5
;
SIB1_ss_PBCH_BlockPower
= -
60
;
absoluteFrequencySSB
=
0
;
DL_FreqBandIndicatorNR
=
15
;
DL_absoluteFrequencyPointA
=
15
;
DL_offsetToCarrier
=
15
;
DL_SCS_SubcarrierSpacing
=
"kHz30"
;
DL_SCS_SpecificCarrier_k0
=
0
;
DL_carrierBandwidth
=
15
;
DL_locationAndBandwidth
=
15
;
DL_BWP_SubcarrierSpacing
=
"kHz30"
;
DL_BWP_prefix_type
=
"NORMAL"
;
UL_FreqBandIndicatorNR
=
15
;
UL_absoluteFrequencyPointA
=
13
;
UL_additionalSpectrumEmission
=
3
;
UL_p_Max
= -
1
;
UL_frequencyShift7p5khz
=
"TRUE"
;
UL_offsetToCarrier
=
10
;
UL_SCS_SubcarrierSpacing
=
"kHz30"
;
UL_SCS_SpecificCarrier_k0
=
0
;
UL_carrierBandwidth
=
15
;
UL_locationAndBandwidth
=
15
;
UL_BWP_SubcarrierSpacing
=
"kHz30"
;
UL_BWP_prefix_type
=
"NORMAL"
;
UL_timeAlignmentTimerCommon
=
"infinity"
;
ServingCellConfigCommon_n_TimingAdvanceOffset
=
"n0"
ServingCellConfigCommon_ssb_PositionsInBurst_PR
=
0
x01
;
ServingCellConfigCommon_ssb_periodicityServingCell
=
10
;
ServingCellConfigCommon_dmrs_TypeA_Position
=
2
;
NIA_SubcarrierSpacing
=
"kHz15"
;
ServingCellConfigCommon_ss_PBCH_BlockPower
= -
60
;
referenceSubcarrierSpacing
=
"kHz15"
;
dl_UL_TransmissionPeriodicity
=
"ms0p5"
;
nrofDownlinkSlots
=
10
;
nrofDownlinkSymbols
=
10
;
nrofUplinkSlots
=
10
;
nrofUplinkSymbols
=
10
;
rach_totalNumberOfRA_Preambles
=
63
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_choice
=
"oneEighth"
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneEighth
=
4
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneFourth
=
8
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_oneHalf
=
16
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_one
=
24
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_two
=
32
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_four
=
8
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_eight
=
4
;
rach_ssb_perRACH_OccasionAndCB_PreamblesPerSSB_sixteen
=
2
;
rach_groupBconfigured
=
"ENABLE"
;
rach_ra_Msg3SizeGroupA
=
56
;
rach_messagePowerOffsetGroupB
=
"dB0"
;
rach_numberOfRA_PreamblesGroupA
=
32
;
rach_ra_ContentionResolutionTimer
=
8
;
rsrp_ThresholdSSB
=
64
;
rsrp_ThresholdSSB_SUL
=
64
;
prach_RootSequenceIndex_choice
=
"l839"
;
prach_RootSequenceIndex_l839
=
0
;
prach_RootSequenceIndex_l139
=
0
;
prach_msg1_SubcarrierSpacing
=
"kHz30"
;
restrictedSetConfig
=
"unrestrictedSet"
;
msg3_transformPrecoding
=
"ENABLE"
;
prach_ConfigurationIndex
=
10
;
prach_msg1_FDM
=
"one"
;
prach_msg1_FrequencyStart
=
10
;
zeroCorrelationZoneConfig
=
10
;
preambleReceivedTargetPower
= -
150
;
preambleTransMax
=
6
;
powerRampingStep
=
"dB0"
;
ra_ResponseWindow
=
8
;
groupHoppingEnabledTransformPrecoding
=
"ENABLE"
;
msg3_DeltaPreamble
=
0
;
p0_NominalWithGrant
=
0
;
PUSCH_TimeDomainResourceAllocation_k2
=
0
;
PUSCH_TimeDomainResourceAllocation_mappingType
=
"typeA"
;
PUSCH_TimeDomainResourceAllocation_startSymbolAndLength
=
0
;
pucch_ResourceCommon
=
0
;
pucch_GroupHopping
=
"neither"
;
hoppingId
=
0
;
p0_nominal
= -
30
;
PDSCH_TimeDomainResourceAllocation_k0
=
2
;
PDSCH_TimeDomainResourceAllocation_mappingType
=
"typeA"
;
PDSCH_TimeDomainResourceAllocation_startSymbolAndLength
=
0
;
rateMatchPatternId
=
0
;
RateMatchPattern_patternType
=
"bitmaps"
;
symbolsInResourceBlock
=
"oneSlot"
;
periodicityAndPattern
=
2
;
RateMatchPattern_controlResourceSet
=
5
;
RateMatchPattern_subcarrierSpacing
=
"kHz30"
;
RateMatchPattern_mode
=
"dynamic"
;
controlResourceSetZero
=
0
;
searchSpaceZero
=
0
;
searchSpaceSIB1
=
10
;
searchSpaceOtherSystemInformation
=
10
;
pagingSearchSpace
=
10
;
ra_SearchSpace
=
10
;
PDCCH_common_controlResourceSetId
=
5
;
PDCCH_common_ControlResourceSet_duration
=
2
;
PDCCH_cce_REG_MappingType
=
"nonInterleaved"
;
PDCCH_reg_BundleSize
=
3
;
PDCCH_interleaverSize
=
3
;
PDCCH_shiftIndex
=
10
;
PDCCH_precoderGranularity
=
"sameAsREG-bundle"
;
PDCCH_TCI_StateId
=
32
;
tci_PresentInDCI
=
"ENABLE"
;
PDCCH_DMRS_ScramblingID
=
0
;
SearchSpaceId
=
10
;
commonSearchSpaces_controlResourceSetId
=
5
;
SearchSpace_monitoringSlotPeriodicityAndOffset_choice
=
"sl1"
;
SearchSpace_monitoringSlotPeriodicityAndOffset_value
=
0
;
SearchSpace_duration
=
2
;
SearchSpace_nrofCandidates_aggregationLevel1
=
0
;
SearchSpace_nrofCandidates_aggregationLevel2
=
0
;
SearchSpace_nrofCandidates_aggregationLevel4
=
0
;
SearchSpace_nrofCandidates_aggregationLevel8
=
0
;
SearchSpace_nrofCandidates_aggregationLevel16
=
0
;
SearchSpace_searchSpaceType
=
"common"
;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel1
=
1
;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel2
=
1
;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel4
=
1
;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel8
=
1
;
Common_dci_Format2_0_nrofCandidates_SFI_aggregationLevel16
=
1
;
Common_dci_Format2_3_monitoringPeriodicity
=
1
;
Common_dci_Format2_3_nrofPDCCH_Candidates
=
1
;
ue_Specific__dci_Formats
=
"formats0-0-And-1-0"
;
RateMatchPatternLTE_CRS_carrierFreqDL
=
6
;
RateMatchPatternLTE_CRS_carrierBandwidthDL
=
6
;
RateMatchPatternLTE_CRS_nrofCRS_Ports
=
1
;
RateMatchPatternLTE_CRS_v_Shift
=
0
;
RateMatchPatternLTE_CRS_radioframeAllocationPeriod
=
1
;
RateMatchPatternLTE_CRS_radioframeAllocationOffset
=
0
;
RateMatchPatternLTE_CRS_subframeAllocation_choice
=
"oneFrame"
;
}
);
srb1_parameters
:
{
# timer_poll_retransmit = (ms) [5, 10, 15, 20,... 250, 300, 350, ... 500]
timer_poll_retransmit
=
80
;
# timer_reordering = (ms) [0,5, ... 100, 110, 120, ... ,200]
timer_reordering
=
35
;
# timer_reordering = (ms) [0,5, ... 250, 300, 350, ... ,500]
timer_status_prohibit
=
0
;
# poll_pdu = [4, 8, 16, 32 , 64, 128, 256, infinity(>10000)]
poll_pdu
=
4
;
# poll_byte = (kB) [25,50,75,100,125,250,375,500,750,1000,1250,1500,2000,3000,infinity(>10000)]
poll_byte
=
99999
;
# max_retx_threshold = [1, 2, 3, 4 , 6, 8, 16, 32]
max_retx_threshold
=
4
;
}
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
MME
parameters
:
mme_ip_address
= ( {
ipv4
=
"192.168.12.26"
;
ipv6
=
"192:168:30::17"
;
active
=
"yes"
;
preference
=
"ipv4"
;
}
);
NETWORK_INTERFACES
:
{
GNB_INTERFACE_NAME_FOR_S1_MME
=
"eth0"
;
GNB_IPV4_ADDRESS_FOR_S1_MME
=
"192.168.12.111/24"
;
GNB_INTERFACE_NAME_FOR_S1U
=
"eth0"
;
GNB_IPV4_ADDRESS_FOR_S1U
=
"192.168.12.111/24"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
7
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
114
;
eNB_instances
= [
0
];
sdr_addrs
=
"addr=192.168.10.2,second_addr=192.168.20.2,mgmt_addr=192.168.100.8"
;
}
);
NETWORK_CONTROLLER
:
{
FLEXRAN_ENABLED
=
"no"
;
FLEXRAN_INTERFACE_NAME
=
"lo"
;
FLEXRAN_IPV4_ADDRESS
=
"127.0.0.1"
;
FLEXRAN_PORT
=
2210
;
FLEXRAN_CACHE
=
"/mnt/oai_agent_cache"
;
FLEXRAN_AWAIT_RECONF
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"info"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"info"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
pdcp_log_level
=
"info"
;
pdcp_log_verbosity
=
"medium"
;
rrc_log_level
=
"info"
;
rrc_log_verbosity
=
"medium"
;
};
This diff is collapsed.
Click to expand it.
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