mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
Support for aperiodic SRS at gNB
Add support for aperiodic SRS, which currently, if activated, is
hardcoded to be periodically scheduled every 160 TTIs. The configuration
file has been changed, and instead of
do_SRS = 0/1
is now
do_SRS = "none"/"periodic"/"aperiodic"
Reviewed-By: Robert Schmidt <robert.schmidt@openairinterface.org>
Reviewed-By: Maxime Elkael <m.elkael@northeastern.edu>
268 lines
9.0 KiB
Plaintext
268 lines
9.0 KiB
Plaintext
# SPDX-License-Identifier: LicenseRef-CSSL-1.0
|
|
|
|
Active_gNBs = ( "gNB-OAI-DU");
|
|
# Asn1_verbosity, choice in: none, info, annoying
|
|
Asn1_verbosity = "none";
|
|
|
|
gNBs =
|
|
(
|
|
{
|
|
////////// Identification parameters:
|
|
gNB_ID = 0xe00;
|
|
gNB_DU_ID = 0xe00;
|
|
gNB_name = "gNB-OAI-DU";
|
|
|
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
|
tracking_area_code = 1;
|
|
plmn_list = ({ mcc = 208; mnc = 99; mnc_length = 2; snssaiList = ( { sst = 1; }); });
|
|
|
|
nr_cellid = 1;
|
|
|
|
////////// Physical parameters:
|
|
|
|
pdsch_AntennaPorts_XP = 2;
|
|
pdsch_AntennaPorts_N1 = 2;
|
|
pusch_AntennaPorts = 4;
|
|
do_CSIRS = 1;
|
|
force_UL256qam_off = 1;
|
|
maxMIMO_layers = 2;
|
|
|
|
servingCellConfigCommon = (
|
|
{
|
|
#spCellConfigCommon
|
|
|
|
physCellId = 0;
|
|
# n_TimingAdvanceOffset = 0;
|
|
# downlinkConfigCommon
|
|
#frequencyInfoDL
|
|
# center frequency = 3950.4 MHz
|
|
# selected SSB frequency = 3950.4 MHz
|
|
absoluteFrequencySSB = 663360;
|
|
dl_frequencyBand = 77;
|
|
# frequency point A = 3901.26 MHz
|
|
dl_absoluteFrequencyPointA = 660084;
|
|
#scs-SpecificCarrierList
|
|
dl_offstToCarrier = 0;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
dl_subcarrierSpacing = 1;
|
|
dl_carrierBandwidth = 273;
|
|
#initialDownlinkBWP
|
|
#genericParameters
|
|
initialDLBWPlocationAndBandwidth = 1099; #38.101-1 Table 5.3.2-1
|
|
#
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
initialDLBWPsubcarrierSpacing = 1;
|
|
#pdcch-ConfigCommon
|
|
initialDLBWPcontrolResourceSetZero = 11;
|
|
initialDLBWPsearchSpaceZero = 0;
|
|
|
|
#uplinkConfigCommon
|
|
#frequencyInfoUL
|
|
ul_frequencyBand = 77;
|
|
#scs-SpecificCarrierList
|
|
ul_offstToCarrier = 0;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
ul_subcarrierSpacing = 1;
|
|
ul_carrierBandwidth = 273;
|
|
pMax = 23;
|
|
#initialUplinkBWP
|
|
#genericParameters
|
|
initialULBWPlocationAndBandwidth = 1099;
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
initialULBWPsubcarrierSpacing = 1;
|
|
#rach-ConfigCommon
|
|
#rach-ConfigGeneric
|
|
prach_ConfigurationIndex = 152;
|
|
#prach_msg1_FDM
|
|
#0 = one, 1=two, 2=four, 3=eight
|
|
prach_msg1_FDM = 0;
|
|
prach_msg1_FrequencyStart = 0;
|
|
zeroCorrelationZoneConfig = 0;
|
|
preambleReceivedTargetPower = -100;
|
|
#preamblTransMax (0...10) = (3,4,5,6,7,8,10,20,50,100,200)
|
|
preambleTransMax = 8;
|
|
#powerRampingStep
|
|
# 0=dB0,1=dB2,2=dB4,3=dB6
|
|
powerRampingStep = 3;
|
|
#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,
|
|
|
|
# this is the offset between the last PRACH preamble power and the Msg3 PUSCH, 2 times the field value in dB
|
|
msg3_DeltaPreamble = 2;
|
|
p0_NominalWithGrant = -96;
|
|
|
|
# pucch-ConfigCommon setup :
|
|
# pucchGroupHopping
|
|
# 0 = neither, 1= group hopping, 2=sequence hopping
|
|
pucchGroupHopping = 0;
|
|
hoppingId = 0;
|
|
p0_nominal = -96;
|
|
|
|
ssb_PositionsInBurst_Bitmap = 0x1;
|
|
|
|
# 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 = 3;
|
|
nrofDownlinkSymbols = 6;
|
|
nrofUplinkSlots = 1;
|
|
nrofUplinkSymbols = 4;
|
|
|
|
ssPBCH_BlockPower = 0;
|
|
}
|
|
|
|
);
|
|
|
|
|
|
# ------- SCTP definitions
|
|
SCTP :
|
|
{
|
|
# Number of streams to use in input/output
|
|
SCTP_INSTREAMS = 2;
|
|
SCTP_OUTSTREAMS = 2;
|
|
};
|
|
}
|
|
);
|
|
|
|
|
|
MACRLCs = (
|
|
{
|
|
tr_s_preference = "local_L1";
|
|
tr_n_preference = "f1";
|
|
local_n_address = "172.21.16.51";
|
|
remote_n_address = "172.21.6.90";
|
|
local_n_portd = 2153;
|
|
remote_n_portd = 2153;
|
|
pusch_TargetSNRx10 = 120;
|
|
pucch_TargetSNRx10 = 200;
|
|
dl_bler_target_upper = .35;
|
|
dl_bler_target_lower = .15;
|
|
ul_bler_target_upper = .35;
|
|
ul_bler_target_lower = .15;
|
|
pusch_FailureThres = 100;
|
|
ul_max_mcs = 28;
|
|
min_grant_prb = 1;
|
|
set_analog_beamforming = "lophy";
|
|
beam_duration = 1;
|
|
beams_per_period = 2;
|
|
}
|
|
);
|
|
|
|
L1s = (
|
|
{
|
|
enable_das = 1;
|
|
tr_n_preference = "local_mac";
|
|
prach_dtx_threshold = 100;
|
|
pucch0_dtx_threshold = 80;
|
|
pusch_dtx_threshold = 10;
|
|
max_ldpc_iterations = 10;
|
|
tx_amp_backoff_dB = 12; # needs to match O-RU configuration
|
|
L1_rx_thread_core = 8;
|
|
L1_tx_thread_core = 10; # relevant after merge of l1_tx_thread
|
|
phase_compensation = 0; # needs to match O-RU configuration
|
|
}
|
|
);
|
|
|
|
RUs = (
|
|
{
|
|
local_rf = "no";
|
|
nb_tx = 8;
|
|
nb_rx = 8;
|
|
att_tx = 0;
|
|
att_rx = 0;
|
|
bands = [77];
|
|
max_pdschReferenceSignalPower = -27;
|
|
max_rxgain = 75;
|
|
sf_extension = 0;
|
|
eNB_instances = [0];
|
|
ru_thread_core = 9;
|
|
sl_ahead = 10;
|
|
tr_preference = "raw_if4p5"; # important: activate FHI7.2
|
|
do_precoding = 0; # needs to match O-RU configuration
|
|
}
|
|
);
|
|
|
|
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";
|
|
ngap_log_level = "info";
|
|
f1ap_log_level = "info";
|
|
};
|
|
|
|
fhi_72 = {
|
|
dpdk_devices = ("0000:01:01.0", "0000:01:01.1", "0000:01:01.2", "0000:01:01.3"); # two VFs can be used as well
|
|
system_core = 0;
|
|
io_core = 1;
|
|
worker_cores = (2);
|
|
ru_addr = ("8c:1f:64:d1:10:46","8c:1f:64:d1:10:46","8c:1f:64:d1:10:43","8c:1f:64:d1:10:43"); # if two VFs, set two RU MAC addresses (one per RU)
|
|
mtu = 9216;
|
|
fh_config = (
|
|
# RAN650 #1
|
|
{
|
|
T1a_cp_dl = (419, 470);
|
|
T1a_cp_ul = (285, 336);
|
|
T1a_up = (294, 345);
|
|
Ta4 = (0, 200);
|
|
ru_config = {
|
|
iq_width = 9;
|
|
iq_width_prach = 9;
|
|
};
|
|
},
|
|
# RAN650 #2
|
|
{
|
|
T1a_cp_dl = (419, 470);
|
|
T1a_cp_ul = (285, 336);
|
|
T1a_up = (294, 345);
|
|
Ta4 = (0, 200);
|
|
ru_config = {
|
|
iq_width = 9;
|
|
iq_width_prach = 9;
|
|
};
|
|
});
|
|
};
|