Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
oai-ran-docker
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
OpenXG
oai-ran-docker
Commits
8b6350ea
Commit
8b6350ea
authored
Oct 18, 2024
by
LiBingxuan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add 5g_simulator
parent
506cc886
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1653 additions
and
18 deletions
+1653
-18
5g_simulator/conf/gnb.sa.band78.106prb.rfsim.conf
5g_simulator/conf/gnb.sa.band78.106prb.rfsim.conf
+263
-0
5g_simulator/conf/gnb2.sa.band78.106prb.rfsim.conf
5g_simulator/conf/gnb2.sa.band78.106prb.rfsim.conf
+263
-0
5g_simulator/conf/gnb3.sa.band78.106prb.rfsim.conf
5g_simulator/conf/gnb3.sa.band78.106prb.rfsim.conf
+263
-0
5g_simulator/conf/gnb4.sa.band78.106prb.rfsim.conf
5g_simulator/conf/gnb4.sa.band78.106prb.rfsim.conf
+263
-0
5g_simulator/conf/gnb5.sa.band78.106prb.rfsim.conf
5g_simulator/conf/gnb5.sa.band78.106prb.rfsim.conf
+263
-0
5g_simulator/conf/ue.sa.conf
5g_simulator/conf/ue.sa.conf
+8
-0
5g_simulator/gnb/docker-compose.yaml
5g_simulator/gnb/docker-compose.yaml
+109
-0
5g_simulator/ue/docker-compose.yaml
5g_simulator/ue/docker-compose.yaml
+124
-0
README.md
README.md
+81
-2
conf/gnb.sa.band78.106prb.rfsim.conf
conf/gnb.sa.band78.106prb.rfsim.conf
+2
-2
docker-compose.yaml
docker-compose.yaml
+14
-14
No files found.
5g_simulator/conf/gnb.sa.band78.106prb.rfsim.conf
0 → 100644
View file @
8b6350ea
Active_gNBs
= (
"gnb-rfsim"
);
# 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-rfsim"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
001
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
}) });
nr_cellid
=
12345678
L
# tr_s_preference = "local_mac"
//////////
Physical
parameters
:
min_rxtxtime
=
6
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB
=
621312
;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA
=
620040
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
11
;
initialDLBWPsearchSpaceZero
=
0
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ({
ipv4
=
"192.168.70.132"
; });
NETWORK_INTERFACES
:
{
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.71.140"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.71.140"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
200
;
pucch_TargetSNRx10
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
200
;
# pucch0_dtx_threshold = 150;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
78
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension
=
0
sdr_addrs
=
"serial=XXXXXXX"
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
: {
serveraddr
=
"server"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
f1ap_log_level
=
"debug"
;
};
5g_simulator/conf/gnb2.sa.band78.106prb.rfsim.conf
0 → 100644
View file @
8b6350ea
Active_gNBs
= (
"gnb-rfsim2"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe02
;
# cell_type = "CELL_MACRO_GNB";
gNB_name
=
"gnb-rfsim2"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
001
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
}) });
nr_cellid
=
12345678
L
# tr_s_preference = "local_mac"
//////////
Physical
parameters
:
min_rxtxtime
=
6
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB
=
621312
;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA
=
620040
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
11
;
initialDLBWPsearchSpaceZero
=
0
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ({
ipv4
=
"192.168.70.132"
; });
NETWORK_INTERFACES
:
{
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.71.141"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.71.141"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
200
;
pucch_TargetSNRx10
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
200
;
# pucch0_dtx_threshold = 150;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
78
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension
=
0
sdr_addrs
=
"serial=XXXXXXX"
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
: {
serveraddr
=
"server"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
f1ap_log_level
=
"debug"
;
};
5g_simulator/conf/gnb3.sa.band78.106prb.rfsim.conf
0 → 100644
View file @
8b6350ea
Active_gNBs
= (
"gnb-rfsim3"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe03
;
# cell_type = "CELL_MACRO_GNB";
gNB_name
=
"gnb-rfsim3"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
001
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
}) });
nr_cellid
=
12345678
L
# tr_s_preference = "local_mac"
//////////
Physical
parameters
:
min_rxtxtime
=
6
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB
=
621312
;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA
=
620040
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
11
;
initialDLBWPsearchSpaceZero
=
0
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ({
ipv4
=
"192.168.70.132"
; });
NETWORK_INTERFACES
:
{
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.71.142"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.71.142"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
200
;
pucch_TargetSNRx10
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
200
;
# pucch0_dtx_threshold = 150;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
78
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension
=
0
sdr_addrs
=
"serial=XXXXXXX"
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
: {
serveraddr
=
"server"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
f1ap_log_level
=
"debug"
;
};
5g_simulator/conf/gnb4.sa.band78.106prb.rfsim.conf
0 → 100644
View file @
8b6350ea
Active_gNBs
= (
"gnb-rfsim4"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe04
;
# cell_type = "CELL_MACRO_GNB";
gNB_name
=
"gnb-rfsim4"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
001
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
}) });
nr_cellid
=
12345678
L
# tr_s_preference = "local_mac"
//////////
Physical
parameters
:
min_rxtxtime
=
6
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB
=
621312
;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA
=
620040
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
11
;
initialDLBWPsearchSpaceZero
=
0
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ({
ipv4
=
"192.168.70.132"
; });
NETWORK_INTERFACES
:
{
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.71.143"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.71.143"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
200
;
pucch_TargetSNRx10
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
200
;
# pucch0_dtx_threshold = 150;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
78
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension
=
0
sdr_addrs
=
"serial=XXXXXXX"
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
: {
serveraddr
=
"server"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
f1ap_log_level
=
"debug"
;
};
5g_simulator/conf/gnb5.sa.band78.106prb.rfsim.conf
0 → 100644
View file @
8b6350ea
Active_gNBs
= (
"gnb-rfsim5"
);
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity
=
"none"
;
gNBs
=
(
{
//////////
Identification
parameters
:
gNB_ID
=
0
xe05
;
# cell_type = "CELL_MACRO_GNB";
gNB_name
=
"gnb-rfsim5"
;
//
Tracking
area
code
,
0
x0000
and
0
xfffe
are
reserved
values
tracking_area_code
=
1
;
plmn_list
= ({
mcc
=
001
;
mnc
=
01
;
mnc_length
=
2
;
snssaiList
= ({
sst
=
1
}) });
nr_cellid
=
12345678
L
# tr_s_preference = "local_mac"
//////////
Physical
parameters
:
min_rxtxtime
=
6
;
servingCellConfigCommon
= (
{
#spCellConfigCommon
physCellId
=
0
;
# downlinkConfigCommon
#frequencyInfoDL
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB
=
621312
;
# this is 3300.60 MHz
dl_absoluteFrequencyPointA
=
620040
;
#scs-SpecificCarrierList
dl_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing
=
1
;
dl_carrierBandwidth
=
106
;
#initialDownlinkBWP
#genericParameters
# this is RBstart=0,L=106 (275*(L-1))+RBstart
initialDLBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialDLBWPsubcarrierSpacing
=
1
;
#pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero
=
11
;
initialDLBWPsearchSpaceZero
=
0
;
#uplinkConfigCommon
#frequencyInfoUL
ul_frequencyBand
=
78
;
#scs-SpecificCarrierList
ul_offstToCarrier
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing
=
1
;
ul_carrierBandwidth
=
106
;
pMax
=
20
;
#initialUplinkBWP
#genericParameters
initialULBWPlocationAndBandwidth
=
28875
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
initialULBWPsubcarrierSpacing
=
1
;
#rach-ConfigCommon
#rach-ConfigGeneric
prach_ConfigurationIndex
=
98
;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight
prach_msg1_FDM
=
0
;
prach_msg1_FrequencyStart
=
0
;
zeroCorrelationZoneConfig
=
12
;
preambleReceivedTargetPower
= -
104
;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
preambleTransMax
=
6
;
#powerRampingStep
# 0=dB0,1=dB2,2=dB4,3=dB6
powerRampingStep
=
1
;
#ra_ReponseWindow
#1,2,4,8,10,20,40,80
ra_ResponseWindow
=
5
;
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
=
3
;
#oneHalf (0..15) 4,8,12,16,...60,64
ssb_perRACH_OccasionAndCB_PreamblesPerSSB
=
15
;
#ra_ContentionResolutionTimer
#(0..7) 8,16,24,32,40,48,56,64
ra_ContentionResolutionTimer
=
7
;
rsrp_ThresholdSSB
=
19
;
#prach-RootSequenceIndex_PR
#1 = 839, 2 = 139
prach_RootSequenceIndex_PR
=
2
;
prach_RootSequenceIndex
=
1
;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
#
msg1_SubcarrierSpacing
=
1
,
# restrictedSetConfig
# 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig
=
0
,
msg3_DeltaPreamble
=
1
;
p0_NominalWithGrant
=-
90
;
# pucch-ConfigCommon setup :
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping
=
0
;
hoppingId
=
40
;
p0_nominal
= -
90
;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR
=
2
;
ssb_PositionsInBurst_Bitmap
=
1
;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell
=
2
;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position
=
0
;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
subcarrierSpacing
=
1
;
#tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing
=
1
;
# pattern1
# dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity
=
6
;
nrofDownlinkSlots
=
7
;
nrofDownlinkSymbols
=
6
;
nrofUplinkSlots
=
2
;
nrofUplinkSymbols
=
4
;
ssPBCH_BlockPower
= -
25
;
}
);
# ------- SCTP definitions
SCTP
:
{
# Number of streams to use in input/output
SCTP_INSTREAMS
=
2
;
SCTP_OUTSTREAMS
=
2
;
};
//////////
AMF
parameters
:
amf_ip_address
= ({
ipv4
=
"192.168.70.132"
; });
NETWORK_INTERFACES
:
{
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.71.144"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.71.144"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
}
);
MACRLCs
= (
{
num_cc
=
1
;
tr_s_preference
=
"local_L1"
;
tr_n_preference
=
"local_RRC"
;
pusch_TargetSNRx10
=
200
;
pucch_TargetSNRx10
=
200
;
}
);
L1s
= (
{
num_cc
=
1
;
tr_n_preference
=
"local_mac"
;
prach_dtx_threshold
=
200
;
# pucch0_dtx_threshold = 150;
}
);
RUs
= (
{
local_rf
=
"yes"
nb_tx
=
1
nb_rx
=
1
att_tx
=
0
att_rx
=
0
;
bands
= [
78
];
max_pdschReferenceSignalPower
= -
27
;
max_rxgain
=
75
;
eNB_instances
= [
0
];
##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights
= [
0
x00007fff
,
0
x0000
];
##beamforming 1x4 matrix: 1 layer x 4 antennas
#bf_weights = [0x00007fff, 0x0000,0x0000, 0x0000];
## beamforming 2x2 matrix:
# bf_weights = [0x00007fff, 0x00000000, 0x00000000, 0x00007fff];
## beamforming 4x4 matrix:
#bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000, 0x00000000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x00007fff];
sf_extension
=
0
sdr_addrs
=
"serial=XXXXXXX"
}
);
THREAD_STRUCT
= (
{
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
parallel_config
=
"PARALLEL_SINGLE_THREAD"
;
#two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
worker_config
=
"WORKER_ENABLE"
;
}
);
rfsimulator
: {
serveraddr
=
"server"
;
};
security
= {
# preferred ciphering algorithms
# the first one of the list that an UE supports in chosen
# valid values: nea0, nea1, nea2, nea3
ciphering_algorithms
= (
"nea0"
);
# preferred integrity algorithms
# the first one of the list that an UE supports in chosen
# valid values: nia0, nia1, nia2, nia3
integrity_algorithms
= (
"nia2"
,
"nia0"
);
# setting 'drb_ciphering' to "no" disables ciphering for DRBs, no matter
# what 'ciphering_algorithms' configures; same thing for 'drb_integrity'
drb_ciphering
=
"yes"
;
drb_integrity
=
"no"
;
};
log_config
:
{
global_log_level
=
"info"
;
hw_log_level
=
"info"
;
phy_log_level
=
"info"
;
mac_log_level
=
"info"
;
rlc_log_level
=
"info"
;
pdcp_log_level
=
"info"
;
rrc_log_level
=
"info"
;
f1ap_log_level
=
"debug"
;
};
5g_simulator/conf/ue.sa.conf
0 → 100644
View file @
8b6350ea
uicc0
= {
imsi
=
"001010000000001"
;
key
=
"00112233445566778899aabbccddeeff"
;
opc
=
"000102030405060708090a0b0c0d0e0f"
;
dnn
=
"oai"
;
nssai_sst
=
1
;
}
5g_simulator/gnb/docker-compose.yaml
0 → 100644
View file @
8b6350ea
services
:
oai-gnb
:
image
:
oai-gnb:bing
container_name
:
rfsim5g-oai-gnb
cap_drop
:
-
ALL
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim --log_config.global_log_options level,nocolor,time
ASAN_OPTIONS
:
detect_leaks=0
networks
:
public_net
:
ipv4_address
:
192.168.71.140
volumes
:
-
../conf/gnb.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-softmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-gnb2
:
image
:
oai-gnb:bing
container_name
:
rfsim5g-oai-gnb2
cap_drop
:
-
ALL
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim --log_config.global_log_options level,nocolor,time
ASAN_OPTIONS
:
detect_leaks=0
networks
:
public_net
:
ipv4_address
:
192.168.71.141
volumes
:
-
../conf/gnb2.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-softmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-gnb3
:
image
:
oai-gnb:bing
container_name
:
rfsim5g-oai-gnb3
cap_drop
:
-
ALL
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim --log_config.global_log_options level,nocolor,time
ASAN_OPTIONS
:
detect_leaks=0
networks
:
public_net
:
ipv4_address
:
192.168.71.142
volumes
:
-
../conf/gnb3.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-softmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-gnb4
:
image
:
oai-gnb:bing
container_name
:
rfsim5g-oai-gnb4
cap_drop
:
-
ALL
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim --log_config.global_log_options level,nocolor,time
ASAN_OPTIONS
:
detect_leaks=0
networks
:
public_net
:
ipv4_address
:
192.168.71.143
volumes
:
-
../conf/gnb4.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-softmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-gnb5
:
image
:
oai-gnb:bing
container_name
:
rfsim5g-oai-gnb5
cap_drop
:
-
ALL
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim --log_config.global_log_options level,nocolor,time
ASAN_OPTIONS
:
detect_leaks=0
networks
:
public_net
:
ipv4_address
:
192.168.71.144
volumes
:
-
../conf/gnb5.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-softmodem"
interval
:
10s
timeout
:
5s
retries
:
5
networks
:
# public_net:
# external:
# name: demo-oai-public-net
public_net
:
driver
:
bridge
name
:
demo-oai-gnb-public-net
ipam
:
config
:
-
subnet
:
192.168.71.128/26
driver_opts
:
com.docker.network.bridge.name
:
"
demo-oai-gnb"
5g_simulator/ue/docker-compose.yaml
0 → 100644
View file @
8b6350ea
services
:
oai-nr-ue
:
image
:
oai-nr-ue:bing
container_name
:
rfsim5g-oai-nr-ue
cap_drop
:
-
ALL
cap_add
:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim -r 106 --numerology 1 -C 3619200000 --rfsimulator.serveraddr 192.168.71.140 --log_config.global_log_options level,nocolor,time
networks
:
public_net
:
ipv4_address
:
192.168.72.150
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
-
./conf/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-uesoftmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-nr-ue2
:
image
:
oai-nr-ue:bing
container_name
:
rfsim5g-oai-nr-ue2
cap_drop
:
-
ALL
cap_add
:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000002 -C 3619200000 --rfsimulator.serveraddr 192.168.71.141 --log_config.global_log_options level,nocolor,time
networks
:
public_net
:
ipv4_address
:
192.168.72.151
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
-
./conf/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-uesoftmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-nr-ue3
:
image
:
oai-nr-ue:bing
container_name
:
rfsim5g-oai-nr-ue3
cap_drop
:
-
ALL
cap_add
:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000003 -C 3619200000 --rfsimulator.serveraddr 192.168.71.142 --log_config.global_log_options level,nocolor,time
networks
:
public_net
:
ipv4_address
:
192.168.72.152
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
-
./conf/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-uesoftmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-nr-ue4
:
image
:
oai-nr-ue:bing
container_name
:
rfsim5g-oai-nr-ue4
cap_drop
:
-
ALL
cap_add
:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000004 -C 3619200000 --rfsimulator.serveraddr 192.168.71.143 --log_config.global_log_options level,nocolor,time
networks
:
public_net
:
ipv4_address
:
192.168.72.153
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
-
./conf/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-uesoftmodem"
interval
:
10s
timeout
:
5s
retries
:
5
oai-nr-ue5
:
image
:
oai-nr-ue:bing
container_name
:
rfsim5g-oai-nr-ue5
cap_drop
:
-
ALL
cap_add
:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
--sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000005 -C 3619200000 --rfsimulator.serveraddr 192.168.71.144 --log_config.global_log_options level,nocolor,time
networks
:
public_net
:
ipv4_address
:
192.168.72.154
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
-
./conf/ue.sa.conf:/opt/oai-nr-ue/etc/nr-ue.conf
healthcheck
:
test
:
/bin/bash -c "pgrep nr-uesoftmodem"
interval
:
10s
timeout
:
5s
retries
:
5
networks
:
# public_net:
# external:
# name: demo-oai-public-net
public_net
:
driver
:
bridge
name
:
demo-oai-ue-public-net
ipam
:
config
:
-
subnet
:
192.168.72.128/26
driver_opts
:
com.docker.network.bridge.name
:
"
demo-oai-ue"
README.md
View file @
8b6350ea
hello
## 1.构建镜像
### 1.1 构建策略
构建oai ran docker镜像的过程分为三步,先创建
``ran-base``
镜像(包含所有依赖包),再创建
``ran-build``
镜像(用于编译目标程序),最后得到
``oai-gnb``
、
``oai-nr-ue``
、
``oai-cu-up``
等目标镜像
或者也可以直接从docker hub上下载官方镜像文件
```
shell
docker pull oaisoftwarealliance/oai-gnb:develop
docker pull oaisoftwarealliance/oai-nr-ue:develop
```
### 1.2 文件组织
Dockerfiles的命名规则为:
``Dockerfile.${target}.${OS-version}``
### 1.3 构建
首先是构建两个基础镜像ran-base和ran-build
```
shell
git clone https://gitee.com/openxg/openxg-ran.git
cd
openxg-ran
sudo
docker build
--target
ran-base
--tag
ran-base:latest
--file
docker/Dockerfile.base.ubuntu20
.
sudo
docker build
--target
ran-build
--tag
ran-build:latest
--file
docker/Dockerfile.build.ubuntu20
.
```
接下来构建目标镜像
```
shell
#构建gnb
sudo
docker build
--target
oai-gnb
--tag
oai-gnb:latest
--file
docker/Dockerfile.gNB.ubuntu20
.
#构建nr-ue
sudo
docker build
--target
oai-nr-ue
--tag
oai-nr-ue:latest
--file
docker/Dockerfile.nrUE.ubuntu20
.
```
## 2. 启动镜像
### 2.1 拓扑图
![
tuopu
](
https://cdn.jsdelivr.net/gh/lidabing1999/image/img/tuopu.png
)
在容器跨主机通信的时候需要添加路由
```
sudo route add -net 192.168.70.128 mask 255.255.255.192 gw <远程主机ip>
```
### 2.2 运行
本样例是启动rfsim模式
核心网的启动参考oai5g-cn项目
基站和终端
```
shell
git clone http://gitlab.openxg.org.cn/openxg/oai-ran-docker.git
#启动基站
cd
oai-ran-docker/5g_simulator/gnb
sudo
docker-compose up
-d
oai-gnb
#启动终端
cd
oai-ran-docker/5g_simulator/ue
sudo
docker-compose up
-d
oai-nr-ue
#关闭容器
sudo
docker-compose down
-t
0
```
### 2.3 验证
```
shell
sudo
docker
exec
-it
rfsim5g-oai-nr-ue /bin/bash
ping www.baidu.com
-I
oaitun_ue1
```
如果用网卡且可以ping通百度,则说明系统搭建完成
conf/gnb.sa.band78.106prb.rfsim.conf
View file @
8b6350ea
...
...
@@ -169,8 +169,8 @@ gNBs =
NETWORK_INTERFACES
:
{
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.7
0
.140"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.7
0
.140"
;
GNB_IPV4_ADDRESS_FOR_NG_AMF
=
"192.168.7
1
.140"
;
GNB_IPV4_ADDRESS_FOR_NGU
=
"192.168.7
1
.140"
;
GNB_PORT_FOR_S1U
=
2152
;
# Spec 2152
};
...
...
docker-compose.yaml
View file @
8b6350ea
...
...
@@ -9,7 +9,7 @@ services:
ASAN_OPTIONS
:
detect_leaks=0
networks
:
public_net
:
ipv4_address
:
192.168.7
0
.140
ipv4_address
:
192.168.7
1
.140
volumes
:
-
./conf/gnb.sa.band78.106prb.rfsim.conf:/opt/oai-gnb/etc/gnb.conf
healthcheck
:
...
...
@@ -26,12 +26,12 @@ services:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 -C 3619200000 --rfsimulator.serveraddr 192.168.7
0
.140 --log_config.global_log_options level,nocolor,time
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 -C 3619200000 --rfsimulator.serveraddr 192.168.7
1
.140 --log_config.global_log_options level,nocolor,time
depends_on
:
-
oai-gnb
networks
:
public_net
:
ipv4_address
:
192.168.7
0
.150
ipv4_address
:
192.168.7
1
.150
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
...
...
@@ -50,12 +50,12 @@ services:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000002 -C 3619200000 --rfsimulator.serveraddr 192.168.7
0
.140 --log_config.global_log_options level,nocolor,time
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000002 -C 3619200000 --rfsimulator.serveraddr 192.168.7
1
.140 --log_config.global_log_options level,nocolor,time
depends_on
:
-
oai-gnb
networks
:
public_net
:
ipv4_address
:
192.168.7
0
.151
ipv4_address
:
192.168.7
1
.151
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
...
...
@@ -74,12 +74,12 @@ services:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000003 -C 3619200000 --rfsimulator.serveraddr 192.168.7
0
.140 --log_config.global_log_options level,nocolor,time
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000003 -C 3619200000 --rfsimulator.serveraddr 192.168.7
1
.140 --log_config.global_log_options level,nocolor,time
depends_on
:
-
oai-gnb
networks
:
public_net
:
ipv4_address
:
192.168.7
0
.152
ipv4_address
:
192.168.7
1
.152
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
...
...
@@ -98,12 +98,12 @@ services:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000004 -C 3619200000 --rfsimulator.serveraddr 192.168.7
0
.140 --log_config.global_log_options level,nocolor,time
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000004 -C 3619200000 --rfsimulator.serveraddr 192.168.7
1
.140 --log_config.global_log_options level,nocolor,time
depends_on
:
-
oai-gnb
networks
:
public_net
:
ipv4_address
:
192.168.7
0
.153
ipv4_address
:
192.168.7
1
.153
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
...
...
@@ -122,12 +122,12 @@ services:
-
NET_ADMIN
# for interface bringup
-
NET_RAW
# for ping
environment
:
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000005 -C 3619200000 --rfsimulator.serveraddr 192.168.7
0
.140 --log_config.global_log_options level,nocolor,time
USE_ADDITIONAL_OPTIONS
:
-E --sa --rfsim -r 106 --numerology 1 --uicc0.imsi 001010000000005 -C 3619200000 --rfsimulator.serveraddr 192.168.7
1
.140 --log_config.global_log_options level,nocolor,time
depends_on
:
-
oai-gnb
networks
:
public_net
:
ipv4_address
:
192.168.7
0
.154
ipv4_address
:
192.168.7
1
.154
devices
:
-
/dev/net/tun:/dev/net/tun
volumes
:
...
...
@@ -143,10 +143,10 @@ networks:
# name: demo-oai-public-net
public_net
:
driver
:
bridge
name
:
demo-oai-public-net
name
:
demo-oai-
ran-
public-net
ipam
:
config
:
-
subnet
:
192.168.7
0
.128/26
-
subnet
:
192.168.7
1
.128/26
driver_opts
:
com.docker.network.bridge.name
:
"
demo-oai"
com.docker.network.bridge.name
:
"
demo-oai
-ran
"
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