Commit a76c9690 authored by yankuo's avatar yankuo

fix Bug:oxgrf_lib.c and modify config

parent 51fd34f5
...@@ -589,7 +589,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) { ...@@ -589,7 +589,7 @@ int device_init(openair0_device *device, openair0_config_t *openair0_cfg) {
LOG_I(HW, "[oxgrf] device type: IQX%d(Split Mode)\n", model - 2); LOG_I(HW, "[oxgrf] device type: IQX%d(Split Mode)\n", model - 2);
} else if(model == 6000 || model == 7000 || model == 7100) { } else if(model == 6000 || model == 7000 || model == 7100) {
oxgrf->BoardType = IQX7000; oxgrf->BoardType = IQX7000;
shift = 4; shift = 2;
LOG_I(HW, "[oxgrf] device type: IQX%d\n", model); LOG_I(HW, "[oxgrf] device type: IQX%d\n", model);
} else { } else {
oxgrf->BoardType = UNKNOWN; oxgrf->BoardType = UNKNOWN;
......
Active_gNBs = ( "gNB-OAI"); Active_gNBs = ( "gNB-OpenXG");
# Asn1_verbosity, choice in: none, info, annoying # Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none"; Asn1_verbosity = "none";
...@@ -7,21 +7,20 @@ gNBs = ...@@ -7,21 +7,20 @@ gNBs =
{ {
////////// Identification parameters: ////////// Identification parameters:
gNB_ID = 0xe00; gNB_ID = 0xe00;
gNB_name = "gNB-OAI"; gNB_name = "gNB-OpenXG";
// Tracking area code, 0x0000 and 0xfffe are reserved values // Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1; tracking_area_code = 100;
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }); }); plmn_list = ({ mcc = 466; mnc = 92; mnc_length = 2; snssaiList = ({ sst = 1; }) });
nr_cellid = 12345678L; nr_cellid = 12345678L;
////////// Physical parameters: ////////// Physical parameters:
min_rxtxtime = 6;
pdsch_AntennaPorts_XP = 2; pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2; pusch_AntennaPorts = 2;
do_CSIRS = 1; do_CSIRS = 1;
do_SRS = 1; do_SRS = 1;
ul_prbblacklist = "51,52,53,54"
servingCellConfigCommon = ( servingCellConfigCommon = (
{ {
...@@ -32,10 +31,10 @@ gNBs = ...@@ -32,10 +31,10 @@ gNBs =
# downlinkConfigCommon # downlinkConfigCommon
#frequencyInfoDL #frequencyInfoDL
# this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68 # this is 3300.60 MHz + 53*12*30e-3 MHz = 3319.68
absoluteFrequencySSB = 621312; # 641280 absoluteFrequencySSB = 641280; # 621312
dl_frequencyBand = 78; dl_frequencyBand = 78;
# this is 3300.60 MHz # this is 3300.60 MHz
dl_absoluteFrequencyPointA = 620040; # 640008 dl_absoluteFrequencyPointA = 640008; # 620040
#scs-SpecificCarrierList #scs-SpecificCarrierList
dl_offstToCarrier = 0; dl_offstToCarrier = 0;
# subcarrierSpacing # subcarrierSpacing
...@@ -161,20 +160,13 @@ gNBs = ...@@ -161,20 +160,13 @@ gNBs =
////////// AMF parameters: ////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.0.80"; #"192.168.70.132"; amf_ip_address = ({ ipv4 = "172.11.200.14"; });
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : NETWORK_INTERFACES :
{ {
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai"; GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.11.200.1/24";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.0.202"; #"192.168.70.129/24"; GNB_IPV4_ADDRESS_FOR_NGU = "172.11.200.1/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.0.202"; #"192.168.70.129/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152 GNB_PORT_FOR_S1U = 2152; # Spec 2152
}; };
...@@ -186,10 +178,8 @@ MACRLCs = ( ...@@ -186,10 +178,8 @@ MACRLCs = (
num_cc = 1; num_cc = 1;
tr_s_preference = "local_L1"; tr_s_preference = "local_L1";
tr_n_preference = "local_RRC"; tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 300; #pusch_TargetSNRx10 = 150;
pucch_TargetSNRx10 = 300; #pucch_TargetSNRx10 = 200;
pusch_FailureThres = 1000;
ulsch_max_frame_inactivity = 0;
} }
); );
...@@ -216,10 +206,11 @@ RUs = ( ...@@ -216,10 +206,11 @@ RUs = (
##beamforming 1x2 matrix: 1 layer x 2 antennas ##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000]; bf_weights = [0x00007fff, 0x0000];
#clock_src = "internal"; #clock_src = "internal";
sdr_addrs = "dev=pciex:0,auxdac1=1630"; sdr_addrs = "dev=pciex:0,auxdac1=340";
} }
); );
THREAD_STRUCT = ( THREAD_STRUCT = (
{ {
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT" #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
...@@ -232,7 +223,7 @@ THREAD_STRUCT = ( ...@@ -232,7 +223,7 @@ THREAD_STRUCT = (
rfsimulator : rfsimulator :
{ {
serveraddr = "server"; serveraddr = "server";
serverport = "4043"; serverport = 4043;
options = (); #("saviq"); or/and "chanmod" options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN"; modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs"; IQfile = "/tmp/rfsimulator.iqs";
......
Active_gNBs = ( "gNB-OAI"); Active_gNBs = ( "gNB-OpenXG");
# Asn1_verbosity, choice in: none, info, annoying # Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none"; Asn1_verbosity = "none";
...@@ -7,16 +7,16 @@ gNBs = ...@@ -7,16 +7,16 @@ gNBs =
{ {
////////// Identification parameters: ////////// Identification parameters:
gNB_ID = 0xe00; gNB_ID = 0xe00;
gNB_name = "gNB-OAI"; gNB_name = "gNB-OpenXG";
// Tracking area code, 0x0000 and 0xfffe are reserved values // Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1; tracking_area_code = 100;
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); plmn_list = ({ mcc = 466; mnc = 92; mnc_length = 2; snssaiList = ({ sst = 1; }) });
nr_cellid = 12345678L; nr_cellid = 12345678L;
////////// Physical parameters: ////////// Physical parameters:
min_rxtxtime = 6;
do_CSIRS = 1; do_CSIRS = 1;
do_SRS = 1; do_SRS = 1;
...@@ -159,20 +159,13 @@ gNBs = ...@@ -159,20 +159,13 @@ gNBs =
////////// AMF parameters: ////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.70.132"; amf_ip_address = ({ ipv4 = "172.11.200.14"; });
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : NETWORK_INTERFACES :
{ {
GNB_INTERFACE_NAME_FOR_NG_AMF = "eno2"; GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.11.200.1/24";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.0.202/24"; GNB_IPV4_ADDRESS_FOR_NGU = "172.11.200.1/24";
GNB_INTERFACE_NAME_FOR_NGU = "eno2";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.0.202/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152 GNB_PORT_FOR_S1U = 2152; # Spec 2152
}; };
...@@ -186,7 +179,6 @@ MACRLCs = ( ...@@ -186,7 +179,6 @@ MACRLCs = (
tr_n_preference = "local_RRC"; tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 150; pusch_TargetSNRx10 = 150;
pucch_TargetSNRx10 = 200; pucch_TargetSNRx10 = 200;
ulsch_max_frame_inactivity = 0;
} }
); );
...@@ -213,11 +205,12 @@ RUs = ( ...@@ -213,11 +205,12 @@ RUs = (
eNB_instances = [0]; eNB_instances = [0];
#beamforming 1x4 matrix: #beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000]; bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
sdr_addrs = "dev=pciex:0,auxdac1=1660"; sdr_addrs = "dev=pciex:0,auxdac1=340";
clock_src = "internal"; clock_src = "internal";
} }
); );
THREAD_STRUCT = ( THREAD_STRUCT = (
{ {
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT" #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
...@@ -230,7 +223,7 @@ THREAD_STRUCT = ( ...@@ -230,7 +223,7 @@ THREAD_STRUCT = (
rfsimulator : rfsimulator :
{ {
serveraddr = "server"; serveraddr = "server";
serverport = "4043"; serverport = 4043;
options = (); #("saviq"); or/and "chanmod" options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN"; modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs"; IQfile = "/tmp/rfsimulator.iqs";
...@@ -266,3 +259,8 @@ log_config : ...@@ -266,3 +259,8 @@ log_config :
f1ap_log_level ="debug"; f1ap_log_level ="debug";
}; };
e2_agent = {
near_ric_ip_addr = "127.0.0.1";
#sm_dir = "/path/where/the/SMs/are/located/"
sm_dir = "/usr/local/lib/flexric/"
};
...@@ -10,13 +10,13 @@ gNBs = ...@@ -10,13 +10,13 @@ gNBs =
gNB_name = "gNB-OAI"; gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values // Tracking area code, 0x0000 and 0xfffe are reserved values
tracking_area_code = 1; tracking_area_code = 100;
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }) }); plmn_list = ({ mcc = 466; mnc = 92; mnc_length = 2; snssaiList = ({ sst = 1; }) });
nr_cellid = 12345678L; nr_cellid = 12345678L;
////////// Physical parameters: ////////// Physical parameters:
min_rxtxtime = 6;
do_CSIRS = 1; do_CSIRS = 1;
do_SRS = 1; do_SRS = 1;
...@@ -159,13 +159,13 @@ gNBs = ...@@ -159,13 +159,13 @@ gNBs =
////////// AMF parameters: ////////// AMF parameters:
amf_ip_address = ({ ipv4 = "192.168.70.132"; }); amf_ip_address = ({ ipv4 = "172.11.200.14"; });
NETWORK_INTERFACES : NETWORK_INTERFACES :
{ {
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.70.129/24"; GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.11.200.1/24";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.70.129/24"; GNB_IPV4_ADDRESS_FOR_NGU = "172.11.200.1/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152 GNB_PORT_FOR_S1U = 2152; # Spec 2152
}; };
......
Active_gNBs = ( "gNB-OAI"); Active_gNBs = ( "gNB-OpenXG");
# Asn1_verbosity, choice in: none, info, annoying # Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none"; Asn1_verbosity = "none";
gNBs = gNBs = (
( {
{ ////////// Identification parameters:
////////// Identification parameters: gNB_ID = 0xe00;
gNB_ID = 0xe00; gNB_name = "gNB-OpenXG";
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
// Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 100;
tracking_area_code = 1; plmn_list = ({ mcc = 466; mnc = 92; mnc_length = 2; snssaiList = ({ sst = 1; }); });
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }); });
nr_cellid = 12345678L;
nr_cellid = 12345678L;
////////// Physical parameters:
////////// Physical parameters: sib1_tda = 15;
min_rxtxtime = 6;
pdsch_AntennaPorts_XP = 2; pdsch_AntennaPorts_XP = 2;
pusch_AntennaPorts = 2; pusch_AntennaPorts = 2;
do_CSIRS = 1; do_CSIRS = 1;
do_SRS = 1; do_SRS = 1;
ul_prbblacklist = "135,136,137,138" ul_prbblacklist = "135,136,137,138"
servingCellConfigCommon = ( servingCellConfigCommon = (
{ {
#spCellConfigCommon # spCellConfigCommon
physCellId = 0; physCellId = 0;
# downlinkConfigCommon # downlinkConfigCommon
#frequencyInfoDL # frequencyInfoDL
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741) # this is 3900.60 MHz + (134 PRBs + 4 SCs)@30kHz SCS (GSCN: 8158)
absoluteFrequencySSB = 623232; absoluteFrequencySSB = 623232;
dl_frequencyBand = 78; dl_frequencyBand = 78;
# this is 3300.24 MHz # this is 3900.60 MHz
dl_absoluteFrequencyPointA = 620016; dl_absoluteFrequencyPointA = 620016;
#scs-SpecificCarrierList
dl_offstToCarrier = 0; # scs-SpecificCarrierList
# subcarrierSpacing dl_offstToCarrier = 0;
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
dl_subcarrierSpacing = 1; dl_subcarrierSpacing = 1;
dl_carrierBandwidth = 273; dl_carrierBandwidth = 273;
#initialDownlinkBWP
#genericParameters # initialDownlinkBWP
initialDLBWPlocationAndBandwidth = 1099; # genericParameters
# subcarrierSpacing initialDLBWPlocationAndBandwidth = 1099;
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # subcarrierSpacing
initialDLBWPsubcarrierSpacing = 1; # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
#pdcch-ConfigCommon initialDLBWPsubcarrierSpacing = 1;
initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 0; # pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12;
#uplinkConfigCommon initialDLBWPsearchSpaceZero = 0;
#frequencyInfoUL
ul_frequencyBand = 78; # uplinkConfigCommon
#scs-SpecificCarrierList # frequencyInfoUL
ul_offstToCarrier = 0; ul_frequencyBand = 78;
# subcarrierSpacing # scs-SpecificCarrierList
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 ul_offstToCarrier = 0;
ul_subcarrierSpacing = 1; # subcarrierSpacing
ul_carrierBandwidth = 273; # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
pMax = 20; ul_subcarrierSpacing = 1;
#initialUplinkBWP ul_carrierBandwidth = 273;
#genericParameters pMax = 20;
initialULBWPlocationAndBandwidth = 1099;
# subcarrierSpacing # initialUplinkBWP
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # genericParameters
initialULBWPsubcarrierSpacing = 1; initialULBWPlocationAndBandwidth = 1099;
#rach-ConfigCommon # subcarrierSpacing
#rach-ConfigGeneric # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
prach_ConfigurationIndex = 98; initialULBWPsubcarrierSpacing = 1;
#prach_msg1_FDM
#0 = one, 1=two, 2=four, 3=eight # rach-ConfigCommon
prach_msg1_FDM = 0; # rach-ConfigGeneric
prach_msg1_FrequencyStart = 0; prach_ConfigurationIndex = 98;
zeroCorrelationZoneConfig = 12; # prach_msg1_FDM
preambleReceivedTargetPower = -90; # 0 = one, 1=two, 2=four, 3=eight
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200) prach_msg1_FDM = 0;
preambleTransMax = 6; prach_msg1_FrequencyStart = 0;
#powerRampingStep zeroCorrelationZoneConfig = 12;
# 0=dB0,1=dB2,2=dB4,3=dB6 preambleReceivedTargetPower = -90;
powerRampingStep = 1; # preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
#ra_ReponseWindow preambleTransMax = 6;
#1,2,4,8,10,20,40,80 # powerRampingStep
ra_ResponseWindow = 4; # 0=dB0,1=dB2,2=dB4,3=dB6
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR powerRampingStep = 1;
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen # ra_ReponseWindow
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3; # 1,2,4,8,10,20,40,80
#oneHalf (0..15) 4,8,12,16,...60,64 ra_ResponseWindow = 4;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15; # ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#ra_ContentionResolutionTimer # 1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
#(0..7) 8,16,24,32,40,48,56,64 ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
ra_ContentionResolutionTimer = 7; # oneHalf (0..15) 4,8,12,16,...60,64
rsrp_ThresholdSSB = 19; ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
#prach-RootSequenceIndex_PR # ra_ContentionResolutionTimer
#1 = 839, 2 = 139 # (0..7) 8,16,24,32,40,48,56,64
prach_RootSequenceIndex_PR = 2; ra_ContentionResolutionTimer = 7;
prach_RootSequenceIndex = 1; rsrp_ThresholdSSB = 19;
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex # prach-RootSequenceIndex_PR
# # 1 = 839, 2 = 139
msg1_SubcarrierSpacing = 1, prach_RootSequenceIndex_PR = 2;
# restrictedSetConfig prach_RootSequenceIndex = 1;
# 0=unrestricted, 1=restricted type A, 2=restricted type B # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
restrictedSetConfig = 0, msg1_SubcarrierSpacing = 1,
# restrictedSetConfig
msg3_DeltaPreamble = 1; # 0=unrestricted, 1=restricted type A, 2=restricted type B
p0_NominalWithGrant =-90; restrictedSetConfig = 0,
msg3_DeltaPreamble = 1;
# pucch-ConfigCommon setup : p0_NominalWithGrant =-90;
# pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping # pucch-ConfigCommon
pucchGroupHopping = 0; # pucchGroupHopping
hoppingId = 40; # 0 = neither, 1= group hopping, 2=sequence hopping
p0_nominal = -70; pucchGroupHopping = 0;
# ssb_PositionsInBurs_BitmapPR hoppingId = 40;
# 1=short, 2=medium, 3=long p0_nominal = -70;
ssb_PositionsInBurst_PR = 2;
ssb_PositionsInBurst_Bitmap = 1; # dmrs_TypeA_position
# 0 = pos2, 1 = pos3
# ssb_periodicityServingCell dmrs_TypeA_Position = 0;
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2; # subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
# dmrs_TypeA_position subcarrierSpacing = 1;
# 0 = pos2, 1 = pos3
dmrs_TypeA_Position = 0;
# ssb_PositionsInBurs_BitmapPR
# subcarrierSpacing # 1=short, 2=medium, 3=long
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 ssb_PositionsInBurst_PR = 2;
subcarrierSpacing = 1; ssb_PositionsInBurst_Bitmap = 1;
# ssb_periodicityServingCell
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
#tdd-UL-DL-ConfigurationCommon ssb_periodicityServingCell = 2;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 #tdd-UL-DL-ConfigurationCommon
referenceSubcarrierSpacing = 1; # subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1;
# pattern1 # pattern1
# dl_UL_TransmissionPeriodicity # dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10 # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6; dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7; nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6; nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2; nrofUplinkSlots = 2;
nrofUplinkSymbols = 4; nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -5; ssPBCH_BlockPower = -25;
} }
); );
# ------- SCTP definitions # ------- SCTP definitions
SCTP : SCTP :
{ {
# Number of streams to use in input/output # Number of streams to use in input/output
SCTP_INSTREAMS = 2; SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2; SCTP_OUTSTREAMS = 2;
}; };
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.0.80";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : ////////// AMF parameters:
{ amf_ip_address = ({ ipv4 = "172.11.200.14"; });
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.0.201/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.0.201/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
NETWORK_INTERFACES :
{
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.11.200.1/24";
GNB_IPV4_ADDRESS_FOR_NGU = "172.11.200.1/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
} }
}
); );
MACRLCs = ( MACRLCs = (
...@@ -187,19 +180,18 @@ MACRLCs = ( ...@@ -187,19 +180,18 @@ MACRLCs = (
tr_s_preference = "local_L1"; tr_s_preference = "local_L1";
tr_n_preference = "local_RRC"; tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 300; pusch_TargetSNRx10 = 300;
pucch_TargetSNRx10 = 300; pucch_TargetSNRx10 = 200;
pusch_FailureThres = 1000; pusch_FailureThres = 1000;
ulsch_max_frame_inactivity = 0;
ul_max_mcs = 28; ul_max_mcs = 28;
} }
); );
L1s = ( L1s = (
{ {
num_cc = 1; num_cc = 1;
tr_n_preference = "local_mac"; tr_n_preference = "local_mac";
prach_dtx_threshold = 120; prach_dtx_threshold = 120;
pucch0_dtx_threshold = 80; pucch0_dtx_threshold = 80;
} }
); );
...@@ -217,10 +209,11 @@ RUs = ( ...@@ -217,10 +209,11 @@ RUs = (
##beamforming 1x2 matrix: 1 layer x 2 antennas ##beamforming 1x2 matrix: 1 layer x 2 antennas
bf_weights = [0x00007fff, 0x0000]; bf_weights = [0x00007fff, 0x0000];
#clock_src = "internal"; #clock_src = "internal";
sdr_addrs = "dev=pciex:0,auxdac1=1630"; sdr_addrs = "dev=pciex:0,auxdac1=340";
} }
); );
THREAD_STRUCT = ( THREAD_STRUCT = (
{ {
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT" #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
...@@ -233,7 +226,7 @@ THREAD_STRUCT = ( ...@@ -233,7 +226,7 @@ THREAD_STRUCT = (
rfsimulator : rfsimulator :
{ {
serveraddr = "server"; serveraddr = "server";
serverport = "4043"; serverport = 4043;
options = (); #("saviq"); or/and "chanmod" options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN"; modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs"; IQfile = "/tmp/rfsimulator.iqs";
......
Active_gNBs = ( "gNB-OAI"); Active_gNBs = ( "gNB-OpenXG");
# Asn1_verbosity, choice in: none, info, annoying # Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none"; Asn1_verbosity = "none";
gNBs = gNBs = (
( {
{ ////////// Identification parameters:
////////// Identification parameters: gNB_ID = 0xe00;
gNB_ID = 0xe00; gNB_name = "gNB-OpenXG";
gNB_name = "gNB-OAI";
// Tracking area code, 0x0000 and 0xfffe are reserved values
// Tracking area code, 0x0000 and 0xfffe are reserved values tracking_area_code = 100;
tracking_area_code = 1; plmn_list = ({ mcc = 466; mnc = 92; mnc_length = 2; snssaiList = ({ sst = 1; }); });
plmn_list = ({ mcc = 001; mnc = 01; mnc_length = 2; snssaiList = ({ sst = 1; }); });
nr_cellid = 12345678L;
nr_cellid = 12345678L;
////////// Physical parameters:
////////// Physical parameters: min_rxtxtime = 6;
pdsch_AntennaPorts_XP = 1;
ssb_SubcarrierOffset = 0; pusch_AntennaPorts = 1;
pdsch_AntennaPorts_XP = 1; do_CSIRS = 1;
pusch_AntennaPorts = 1; do_SRS = 1;
do_CSIRS = 1; ul_prbblacklist = "135,136,137,138"
ul_prbblacklist = "135,136,137,138"
servingCellConfigCommon = (
servingCellConfigCommon = ( {
{ # spCellConfigCommon
#spCellConfigCommon
physCellId = 0;
physCellId = 0;
# downlinkConfigCommon
# downlinkConfigCommon # frequencyInfoDL
#frequencyInfoDL # this is 3900.60 MHz + (134 PRBs + 4 SCs)@30kHz SCS (GSCN: 8158)
# this is 3300.24 + 134*12*30e3 = 3348.48 MHz (5G NR GSCN: 7741) absoluteFrequencySSB = 623232;
absoluteFrequencySSB = 623232; dl_frequencyBand = 78;
dl_frequencyBand = 78; # this is 3900.60 MHz
# this is 3300.24 MHz dl_absoluteFrequencyPointA = 620016;
dl_absoluteFrequencyPointA = 620016;
#scs-SpecificCarrierList # scs-SpecificCarrierList
dl_offstToCarrier = 0; dl_offstToCarrier = 0;
# subcarrierSpacing # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 dl_subcarrierSpacing = 1;
dl_subcarrierSpacing = 1; dl_carrierBandwidth = 273;
dl_carrierBandwidth = 273;
#initialDownlinkBWP # initialDownlinkBWP
#genericParameters # genericParameters
initialDLBWPlocationAndBandwidth = 1099; initialDLBWPlocationAndBandwidth = 1099;
# # subcarrierSpacing
# subcarrierSpacing # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 initialDLBWPsubcarrierSpacing = 1;
initialDLBWPsubcarrierSpacing = 1;
#pdcch-ConfigCommon # pdcch-ConfigCommon
initialDLBWPcontrolResourceSetZero = 12; initialDLBWPcontrolResourceSetZero = 12;
initialDLBWPsearchSpaceZero = 10; initialDLBWPsearchSpaceZero = 0;
#uplinkConfigCommon # uplinkConfigCommon
#frequencyInfoUL # frequencyInfoUL
ul_frequencyBand = 78; ul_frequencyBand = 78;
#scs-SpecificCarrierList # scs-SpecificCarrierList
ul_offstToCarrier = 0; ul_offstToCarrier = 0;
# subcarrierSpacing # subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ul_subcarrierSpacing = 1; ul_subcarrierSpacing = 1;
ul_carrierBandwidth = 273; ul_carrierBandwidth = 273;
pMax = 20; pMax = 20;
#initialUplinkBWP
#genericParameters # initialUplinkBWP
initialULBWPlocationAndBandwidth = 1099; # genericParameters
# subcarrierSpacing initialULBWPlocationAndBandwidth = 1099;
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # subcarrierSpacing
initialULBWPsubcarrierSpacing = 1; # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
#rach-ConfigCommon initialULBWPsubcarrierSpacing = 1;
#rach-ConfigGeneric
prach_ConfigurationIndex = 98; # rach-ConfigCommon
#prach_msg1_FDM # rach-ConfigGeneric
#0 = one, 1=two, 2=four, 3=eight prach_ConfigurationIndex = 98;
prach_msg1_FDM = 0; # prach_msg1_FDM
prach_msg1_FrequencyStart = 0; # 0 = one, 1=two, 2=four, 3=eight
zeroCorrelationZoneConfig = 12; prach_msg1_FDM = 0;
preambleReceivedTargetPower = -90; prach_msg1_FrequencyStart = 0;
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200) zeroCorrelationZoneConfig = 12;
preambleTransMax = 6; preambleReceivedTargetPower = -90;
#powerRampingStep # preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
# 0=dB0,1=dB2,2=dB4,3=dB6 preambleTransMax = 6;
powerRampingStep = 1; # powerRampingStep
#ra_ReponseWindow # 0=dB0,1=dB2,2=dB4,3=dB6
#1,2,4,8,10,20,40,80 powerRampingStep = 1;
ra_ResponseWindow = 4; # ra_ReponseWindow
#ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR # 1,2,4,8,10,20,40,80
#1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen ra_ResponseWindow = 4;
ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3; # ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR
#oneHalf (0..15) 4,8,12,16,...60,64 # 1=oneeighth,2=onefourth,3=half,4=one,5=two,6=four,7=eight,8=sixteen
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15; ssb_perRACH_OccasionAndCB_PreamblesPerSSB_PR = 3;
#ra_ContentionResolutionTimer # oneHalf (0..15) 4,8,12,16,...60,64
#(0..7) 8,16,24,32,40,48,56,64 ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 15;
ra_ContentionResolutionTimer = 7; # ra_ContentionResolutionTimer
rsrp_ThresholdSSB = 19; # (0..7) 8,16,24,32,40,48,56,64
#prach-RootSequenceIndex_PR ra_ContentionResolutionTimer = 7;
#1 = 839, 2 = 139 rsrp_ThresholdSSB = 19;
prach_RootSequenceIndex_PR = 2; # prach-RootSequenceIndex_PR
prach_RootSequenceIndex = 1; # 1 = 839, 2 = 139
# SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex prach_RootSequenceIndex_PR = 2;
# prach_RootSequenceIndex = 1;
msg1_SubcarrierSpacing = 1, # SCS for msg1, can only be 15 for 30 kHz < 6 GHz, takes precendence over the one derived from prach-ConfigIndex
# restrictedSetConfig msg1_SubcarrierSpacing = 1,
# 0=unrestricted, 1=restricted type A, 2=restricted type B # restrictedSetConfig
restrictedSetConfig = 0, # 0=unrestricted, 1=restricted type A, 2=restricted type B
restrictedSetConfig = 0,
msg3_DeltaPreamble = 1; msg3_DeltaPreamble = 1;
p0_NominalWithGrant =-90; p0_NominalWithGrant =-90;
# pucch-ConfigCommon setup : # pucch-ConfigCommon
# pucchGroupHopping # pucchGroupHopping
# 0 = neither, 1= group hopping, 2=sequence hopping # 0 = neither, 1= group hopping, 2=sequence hopping
pucchGroupHopping = 0; pucchGroupHopping = 0;
hoppingId = 40; hoppingId = 40;
p0_nominal = -70; p0_nominal = -70;
# ssb_PositionsInBurs_BitmapPR
# 1=short, 2=medium, 3=long # dmrs_TypeA_position
ssb_PositionsInBurst_PR = 2; # 0 = pos2, 1 = pos3
ssb_PositionsInBurst_Bitmap = 1; dmrs_TypeA_Position = 0;
# ssb_periodicityServingCell # subcarrierSpacing
# 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
ssb_periodicityServingCell = 2; subcarrierSpacing = 1;
# dmrs_TypeA_position
# 0 = pos2, 1 = pos3 # ssb_PositionsInBurs_BitmapPR
dmrs_TypeA_Position = 0; # 1=short, 2=medium, 3=long
ssb_PositionsInBurst_PR = 2;
# subcarrierSpacing ssb_PositionsInBurst_Bitmap = 1;
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # ssb_periodicityServingCell
subcarrierSpacing = 1; # 0 = ms5, 1=ms10, 2=ms20, 3=ms40, 4=ms80, 5=ms160, 6=spare2, 7=spare1
ssb_periodicityServingCell = 2;
#tdd-UL-DL-ConfigurationCommon #tdd-UL-DL-ConfigurationCommon
# subcarrierSpacing # subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 # 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
referenceSubcarrierSpacing = 1; referenceSubcarrierSpacing = 1;
# pattern1 # pattern1
# dl_UL_TransmissionPeriodicity # dl_UL_TransmissionPeriodicity
# 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10 # 0=ms0p5, 1=ms0p625, 2=ms1, 3=ms1p25, 4=ms2, 5=ms2p5, 6=ms5, 7=ms10
dl_UL_TransmissionPeriodicity = 6; dl_UL_TransmissionPeriodicity = 6;
nrofDownlinkSlots = 7; nrofDownlinkSlots = 7;
nrofDownlinkSymbols = 6; nrofDownlinkSymbols = 6;
nrofUplinkSlots = 2; nrofUplinkSlots = 2;
nrofUplinkSymbols = 4; nrofUplinkSymbols = 4;
ssPBCH_BlockPower = -5; ssPBCH_BlockPower = -25;
} }
); );
# ------- SCTP definitions # ------- SCTP definitions
SCTP : SCTP :
{ {
# Number of streams to use in input/output # Number of streams to use in input/output
SCTP_INSTREAMS = 2; SCTP_INSTREAMS = 2;
SCTP_OUTSTREAMS = 2; SCTP_OUTSTREAMS = 2;
}; };
////////// AMF parameters:
amf_ip_address = ( { ipv4 = "192.168.0.80";
ipv6 = "192:168:30::17";
active = "yes";
preference = "ipv4";
}
);
NETWORK_INTERFACES : ////////// AMF parameters:
{ amf_ip_address = ({ ipv4 = "172.11.200.14"; });
GNB_INTERFACE_NAME_FOR_NG_AMF = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.0.201/24";
GNB_INTERFACE_NAME_FOR_NGU = "demo-oai";
GNB_IPV4_ADDRESS_FOR_NGU = "192.168.0.201/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
};
NETWORK_INTERFACES :
{
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.11.200.1/24";
GNB_IPV4_ADDRESS_FOR_NGU = "172.11.200.1/24";
GNB_PORT_FOR_S1U = 2152; # Spec 2152
} }
}
); );
MACRLCs = ( MACRLCs = (
...@@ -188,10 +179,9 @@ MACRLCs = ( ...@@ -188,10 +179,9 @@ MACRLCs = (
tr_s_preference = "local_L1"; tr_s_preference = "local_L1";
tr_n_preference = "local_RRC"; tr_n_preference = "local_RRC";
pusch_TargetSNRx10 = 300; pusch_TargetSNRx10 = 300;
pucch_TargetSNRx10 = 300; pucch_TargetSNRx10 = 200;
pusch_FailureThres = 1000; pusch_FailureThres = 1000;
ulsch_max_frame_inactivity = 0; ul_max_mcs = 28;
# ul_max_mcs = 28;
} }
); );
...@@ -207,21 +197,22 @@ L1s = ( ...@@ -207,21 +197,22 @@ L1s = (
RUs = ( RUs = (
{ {
local_rf = "yes" local_rf = "yes"
nb_tx = 1; nb_tx = 1
nb_rx = 1; nb_rx = 1
att_tx = 0; att_tx = 0;
att_rx = 0; att_rx = 0;
bands = [78]; bands = [78];
max_pdschReferenceSignalPower = -27; max_pdschReferenceSignalPower = -27;
max_rxgain = 102; max_rxgain = 102;
eNB_instances = [0]; eNB_instances = [0];
##beamforming 1x2 matrix: 1 layer x 2 antennas #beamforming 1x4 matrix:
bf_weights = [0x00007fff, 0x0000]; bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
#clock_src = "internal"; sdr_addrs = "dev=pciex:0,auxdac1=340";
sdr_addrs = "dev=pciex:0,auxdac1=1630"; clock_src = "internal";
} }
); );
THREAD_STRUCT = ( THREAD_STRUCT = (
{ {
#three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT" #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
...@@ -234,7 +225,7 @@ THREAD_STRUCT = ( ...@@ -234,7 +225,7 @@ THREAD_STRUCT = (
rfsimulator : rfsimulator :
{ {
serveraddr = "server"; serveraddr = "server";
serverport = "4043"; serverport = 4043;
options = (); #("saviq"); or/and "chanmod" options = (); #("saviq"); or/and "chanmod"
modelname = "AWGN"; modelname = "AWGN";
IQfile = "/tmp/rfsimulator.iqs"; IQfile = "/tmp/rfsimulator.iqs";
......
uicc0 = { uicc0 = {
imsi = "2089900007487"; imsi = "466920000000001";
key = "fec86ba6eb707ed08905757b1bb44b8f"; key = "00112233445566778899aabbccddeeff";
opc= "C42449363BBAD02B66D16BC975D77CC1"; opc= "000102030405060708090a0b0c0d0e0f";
dnn= "oai"; dnn= "internet";
nssai_sst=1; nssai_sst=1;
nssai_sd=1; nssai_sd=0xFFFFFF;
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
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