This commit provides CSI reporting support which is required for MIMO. It also updates the configuration files, provides sample BLER simualtion files for packet dropping in the MIMO 2x2 case. It also includes the hooks and functions (e.g., updating UCI2_3_4 PDU field) for MIMO 2x2 support. This commit will not include any channel abstraction code or modelling.
234 lines
8.8 KiB
Plaintext
234 lines
8.8 KiB
Plaintext
Active_gNBs = ( "gNB-OAI");
|
|
# Asn1_verbosity, choice in: none, info, annoying
|
|
Asn1_verbosity = "none";
|
|
|
|
gNBs =
|
|
(
|
|
{
|
|
////////// Identification parameters:
|
|
gNB_ID = 0xe00;
|
|
gNB_name = "gNB-OAI";
|
|
|
|
// Tracking area code, 0x0000 and 0xfffe are reserved values
|
|
tracking_area_code = 40960;
|
|
plmn_list = ({ mcc = 208; mnc = 95; mnc_length = 2; snssaiList = ({ sst = 1 }) });
|
|
|
|
nr_cellid = 12345678L;
|
|
|
|
////////// Physical parameters:
|
|
|
|
pdsch_AntennaPorts_XP = 2;
|
|
pusch_AntennaPorts = 2;
|
|
do_CSIRS = 1;
|
|
min_rxtxtime = 6;
|
|
pdcch_ConfigSIB1 = (
|
|
{
|
|
controlResourceSetZero = 12;
|
|
searchSpaceZero = 0;
|
|
}
|
|
);
|
|
|
|
servingCellConfigCommon = (
|
|
{
|
|
#spCellConfigCommon
|
|
|
|
physCellId = 0;
|
|
|
|
# downlinkConfigCommon
|
|
#frequencyInfoDL
|
|
# this is 3600 MHz + 43 PRBs@30kHz SCS (same as initial BWP)
|
|
absoluteFrequencySSB = 641280;
|
|
dl_frequencyBand = 78;
|
|
# this is 3600 MHz
|
|
dl_absoluteFrequencyPointA = 640008;
|
|
#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=27,L=48 (275*(L-1))+RBstart
|
|
initialDLBWPlocationAndBandwidth = 12952; # 6366 12925 12956 28875 12952
|
|
# subcarrierSpacing
|
|
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
|
|
initialDLBWPsubcarrierSpacing = 1;
|
|
#pdcch-ConfigCommon
|
|
initialDLBWPcontrolResourceSetZero = 12;
|
|
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 = 12952;
|
|
# 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 = 13;
|
|
preambleReceivedTargetPower = -96;
|
|
#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 = 4;
|
|
#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;
|
|
#oneHalf (0..15) 4,8,12,16,...60,64
|
|
ssb_perRACH_OccasionAndCB_PreamblesPerSSB = 14;
|
|
#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";
|
|
ipv6 = "192:168:30::17";
|
|
active = "yes";
|
|
preference = "ipv4";
|
|
}
|
|
);
|
|
|
|
|
|
NETWORK_INTERFACES :
|
|
{
|
|
GNB_INTERFACE_NAME_FOR_NG_AMF = "ctrl0";
|
|
GNB_IPV4_ADDRESS_FOR_NG_AMF = "172.16.0.1";
|
|
GNB_INTERFACE_NAME_FOR_NGU = "ctrl0";
|
|
GNB_IPV4_ADDRESS_FOR_NGU = "172.16.0.1";
|
|
GNB_PORT_FOR_NGU = 2152; # Spec 2152
|
|
};
|
|
|
|
}
|
|
);
|
|
|
|
MACRLCs = (
|
|
{
|
|
num_cc = 1;
|
|
local_s_if_name = "lo:";
|
|
remote_s_address = "127.0.0.1"; // pnf addr [!]
|
|
local_s_address = "127.0.0.2"; // vnf addr
|
|
local_s_portc = 50601; // vnf p5 port
|
|
remote_s_portc = 50600; // pnf p5 port [!]
|
|
local_s_portd = 50611; // vnf p7 port [!]
|
|
remote_s_portd = 50610; // pnf p7 port [!]
|
|
tr_s_preference = "nfapi";
|
|
tr_n_preference = "local_RRC";
|
|
}
|
|
);
|
|
|
|
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 ="analysis";
|
|
hw_log_level ="analysis";
|
|
phy_log_level ="analysis";
|
|
mac_log_level ="analysis";
|
|
rlc_log_level ="analysis";
|
|
pdcp_log_level ="analysis";
|
|
rrc_log_level ="analysis";
|
|
ngap_log_level ="analysis";
|
|
};
|
|
|