Refactor DLSCH scheduler Refactor the DLSCH post processor similarly to what has been done in !3521 with the goal of saving an additional iteration through all UEs, hopefully making the DLSCH scheduler faster. It further includes changes to make working with and debugging multi-UE operation easier: - add some measurements in L1 (for total TX/RX time) - a new option MACRLCs.[0].stats_max_ue to limit the number of UEs in the periodic output (default: 8, 0=disable) - avoid stack overflow in the MAC - fix the writing of stats to nrMAC_stats.log and nrL1_stats.log when the written output reduces by truncating the files - avoid to schedule retransmission with 0 RBs.
265 lines
9.4 KiB
Plaintext
265 lines
9.4 KiB
Plaintext
Active_gNBs = ( "gNB-Eurecom-n78_20");
|
|
# Asn1_verbosity, choice in: none, info, annoying
|
|
Asn1_verbosity = "none";
|
|
|
|
#device :{
|
|
# name = "aw2sori_transpro";
|
|
#}
|
|
|
|
gNBs =
|
|
(
|
|
{
|
|
////////// Identification parameters:
|
|
gNB_ID = 0xe00;
|
|
|
|
gNB_name = "gNB-Eurecom-n78_20";
|
|
|
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
|
tracking_area_code = 0x1;
|
|
plmn_list = ({ mcc = 001; mnc = 02; mnc_length = 2; snssaiList = ({ sst =0x1; }) });
|
|
|
|
nr_cellid = 12345678L
|
|
|
|
////////// Physical parameters:
|
|
uess_agg_levels = [2, 2, 2, 0, 0];
|
|
|
|
servingCellConfigCommon = (
|
|
{
|
|
#spCellConfigCommon
|
|
|
|
physCellId = 0;
|
|
|
|
# downlinkConfigCommon
|
|
#frequencyInfoDL
|
|
# this is 3410.400 MHz
|
|
absoluteFrequencySSB = 627360;
|
|
dl_frequencyBand = 78;
|
|
# this is 3401.220 MHz
|
|
dl_absoluteFrequencyPointA = 626748;
|
|
#scs-SpecificCarrierList
|
|
dl_offstToCarrier = 0;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
dl_subcarrierSpacing = 1;
|
|
dl_carrierBandwidth = 51;
|
|
#initialDownlinkBWP
|
|
#genericParameters
|
|
# this is RBstart=0,L=50 (275*(L-1))+RBstart
|
|
initialDLBWPlocationAndBandwidth = 13750;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
initialDLBWPsubcarrierSpacing = 1;
|
|
#pdcch-ConfigCommon
|
|
initialDLBWPcontrolResourceSetZero = 11; # this means shift of 14, so Coreset is in PRBs 1..48, SSB starts at PRB 15
|
|
initialDLBWPsearchSpaceZero = 0;
|
|
#pdsch-ConfigCommon
|
|
|
|
#uplinkConfigCommon
|
|
#frequencyInfoUL
|
|
ul_frequencyBand = 78;
|
|
#scs-SpecificCarrierList
|
|
ul_offstToCarrier = 0;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
ul_subcarrierSpacing = 1;
|
|
ul_carrierBandwidth = 51;
|
|
pMax = 20;
|
|
#initialUplinkBWP
|
|
#genericParameters
|
|
initialULBWPlocationAndBandwidth = 13750;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
initialULBWPsubcarrierSpacing = 1;
|
|
#rach-ConfigCommon
|
|
#rach-ConfigGeneric
|
|
prach_ConfigurationIndex = 101;
|
|
#prach_msg1_FDM
|
|
#0 = one, 1=two, 2=four, 3=eight
|
|
prach_msg1_FDM = 0;
|
|
prach_msg1_FrequencyStart = 0;
|
|
zeroCorrelationZoneConfig = 15;
|
|
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;
|
|
#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 = 4;
|
|
#one (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 =-96;
|
|
|
|
# pucch-ConfigCommon setup :
|
|
# pucchGroupHopping
|
|
# 0 = neither, 1= group hopping, 2=sequence hopping
|
|
pucchGroupHopping = 0;
|
|
hoppingId = 40;
|
|
p0_nominal = -96;
|
|
|
|
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 = 5;
|
|
nrofDownlinkSlots = 2;
|
|
nrofDownlinkSymbols = 6;
|
|
nrofUplinkSlots = 2;
|
|
nrofUplinkSymbols = 4;
|
|
|
|
ssPBCH_BlockPower = -10;
|
|
}
|
|
|
|
);
|
|
|
|
RedCap: {
|
|
cellBarredRedCap1Rx_r17 = 1;
|
|
cellBarredRedCap2Rx_r17 = 1;
|
|
intraFreqReselectionRedCap_r17 = 0;
|
|
}
|
|
|
|
# ------- SCTP definitions
|
|
SCTP :
|
|
{
|
|
# Number of streams to use in input/output
|
|
SCTP_INSTREAMS = 2;
|
|
SCTP_OUTSTREAMS = 2;
|
|
};
|
|
|
|
|
|
////////// AMF parameters:
|
|
amf_ip_address = ({ ipv4 = "172.21.6.100"; });
|
|
|
|
NETWORK_INTERFACES :
|
|
{
|
|
|
|
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.21.16.124/20";
|
|
GNB_IPV4_ADDRESS_FOR_NGU = "172.21.16.124/20";
|
|
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;
|
|
stats_max_ue = 17;
|
|
}
|
|
);
|
|
|
|
L1s = (
|
|
{
|
|
num_cc = 1;
|
|
tr_n_preference = "local_mac";
|
|
prach_dtx_threshold = 120;
|
|
pucch0_dtx_threshold = 50;
|
|
pusch_dtx_threshold = 10;
|
|
}
|
|
);
|
|
|
|
RUs = (
|
|
{
|
|
local_if_name = "ens7f3";
|
|
remote_address = "192.168.80.239";
|
|
local_address = "192.168.80.24";
|
|
local_portc = 50000;
|
|
remote_portc = 55444;
|
|
local_portd = 52001;
|
|
remote_portd = 52183;
|
|
local_rf = "no"
|
|
tr_preference = "udp_ecpri_if5"
|
|
nb_tx = 1
|
|
nb_rx = 1
|
|
att_tx = 18
|
|
att_rx = 0;
|
|
num_tp_cores = 4;
|
|
rxfh_core_id = 9;
|
|
txfh_core_id = 10;
|
|
tp_cores = [11,12,13,14];
|
|
nr_flag = 1;
|
|
eNB_instances = [0];
|
|
bands = [78];
|
|
sl_ahead = 5;
|
|
}
|
|
);
|
|
|
|
|
|
security = {
|
|
# preferred ciphering algorithms
|
|
# the first one of the list that an UE supports in chosen
|
|
# valid values: nea0, nea1, nea2, nea3
|
|
ciphering_algorithms = ( "nea2", "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 = "yes";
|
|
};
|
|
|
|
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";
|
|
f1ap_log_level ="debug";
|
|
f1ap_log_verbosity ="medium";
|
|
ngap_log_level ="debug";
|
|
ngap_log_verbosity ="medium";
|
|
};
|
|
|