From cf0a1d6db4b9016d576e42da8728206c3a852004 Mon Sep 17 00:00:00 2001 From: Thomas Schlichter Date: Thu, 9 Jan 2025 10:37:29 +0100 Subject: [PATCH] update conf files for NTN LEO scenario Also added a dedicated conf file for NTN LEO, that can be used for CI. --- .../gnb.sa.band66.ntn.25prb.rfsim.conf | 10 +- .../gnb.sa.band66.ntn.leo.25prb.rfsim.conf | 301 ++++++++++++++++++ .../gnb.sa.band66.fr1.24PRB.usrpx300.conf | 27 +- .../gnb.sa.band66.fr1.25PRB.usrpx300.conf | 22 +- targets/PROJECTS/GENERIC-NR-5GC/CONF/ue.conf | 4 +- 5 files changed, 352 insertions(+), 12 deletions(-) create mode 100644 ci-scripts/conf_files/gnb.sa.band66.ntn.leo.25prb.rfsim.conf diff --git a/ci-scripts/conf_files/gnb.sa.band66.ntn.25prb.rfsim.conf b/ci-scripts/conf_files/gnb.sa.band66.ntn.25prb.rfsim.conf index 4e88f02b91..76957182e1 100644 --- a/ci-scripts/conf_files/gnb.sa.band66.ntn.25prb.rfsim.conf +++ b/ci-scripts/conf_files/gnb.sa.band66.ntn.25prb.rfsim.conf @@ -148,7 +148,7 @@ gNBs = #ext2 #ntn_Config_r17 cellSpecificKoffset_r17 = 478; - ta-Common-r17 = 29314900; + ta-Common-r17 = 29314900; # 119.37 ms positionX-r17 = 0; positionY-r17 = 0; positionZ-r17 = 32433846; @@ -196,8 +196,11 @@ MACRLCs = ( num_cc = 1; tr_s_preference = "local_L1"; tr_n_preference = "local_RRC"; +# ulsch_max_frame_inactivity = 0; pusch_TargetSNRx10 = 150; pucch_TargetSNRx10 = 200; + dl_max_mcs = 9; + ul_max_mcs = 9; } ); @@ -205,7 +208,7 @@ L1s = ( { num_cc = 1; tr_n_preference = "local_mac"; - prach_dtx_threshold = 120; + prach_dtx_threshold = 150; pucch0_dtx_threshold = 150; ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0 } @@ -244,7 +247,7 @@ rfsimulator : serveraddr = "server"; serverport = 4043; options = (); #("saviq"); or/and "chanmod" - modelname = "AWGN"; + prop_delay = 238.74; IQfile = "/tmp/rfsimulator.iqs"; }; @@ -277,4 +280,3 @@ log_config : ngap_log_level ="debug"; f1ap_log_level ="debug"; }; - diff --git a/ci-scripts/conf_files/gnb.sa.band66.ntn.leo.25prb.rfsim.conf b/ci-scripts/conf_files/gnb.sa.band66.ntn.leo.25prb.rfsim.conf new file mode 100644 index 0000000000..2cd1186dcd --- /dev/null +++ b/ci-scripts/conf_files/gnb.sa.band66.ntn.leo.25prb.rfsim.conf @@ -0,0 +1,301 @@ +Active_gNBs = ( "5G-GOA-gNB"); +# Asn1_verbosity, choice in: none, info, annoying +Asn1_verbosity = "none"; + +gNBs = +( + { + ////////// Identification parameters: + gNB_ID = 0xe00; + gNB_name = "5G-GOA-gNB"; + + // 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, sd = 0xffffff }) }); + nr_cellid = 12345678L; + + ////////// Physical parameters: + + sib1_tda = 5; + min_rxtxtime = 6; + num_dlharq = 32; + num_ulharq = 32; + + servingCellConfigCommon = ( + { + #spCellConfigCommon + + physCellId = 0; + +# downlinkConfigCommon + #frequencyInfoDL + # this is 2150.43 MHz + 14 PRBs@15kHz SCS (same as initial BWP), points to Subcarrier 0 of RB#10 of SSB block + absoluteFrequencySSB = 430590; + dl_frequencyBand = 66; + # this is 2150.43 MHz + dl_absoluteFrequencyPointA = 430086; + #scs-SpecificCarrierList + dl_offstToCarrier = 0; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + dl_subcarrierSpacing = 0; + dl_carrierBandwidth = 25; + #initialDownlinkBWP + #genericParameters + # this is RBstart=0,L=25 (275*(L-1))+RBstart + initialDLBWPlocationAndBandwidth = 6600; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + initialDLBWPsubcarrierSpacing = 0; + #pdcch-ConfigCommon + initialDLBWPcontrolResourceSetZero = 2; + initialDLBWPsearchSpaceZero = 0; + + #uplinkConfigCommon + #frequencyInfoUL + ul_frequencyBand = 66; + # this is 1750.43 MHz + ul_absoluteFrequencyPointA = 350086; + #scs-SpecificCarrierList + ul_offstToCarrier = 0; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + ul_subcarrierSpacing = 0; + ul_carrierBandwidth = 25; + pMax = 20; + #initialUplinkBWP + #genericParameters + initialULBWPlocationAndBandwidth = 6600; +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + initialULBWPsubcarrierSpacing = 0; + #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 = -118; +#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 = 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 = 0; +# 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_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 = 0; + + + #tdd-UL-DL-ConfigurationCommon +# subcarrierSpacing +# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120 + referenceSubcarrierSpacing = 0; + # 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; + + #ext2 + #ntn_Config_r17 + cellSpecificKoffset_r17 = 40; + ta-Common-r17 = 2317000; # 9.435 ms + ta-CommonDrift-r17 = -230000; # -46 µs/s + positionX-r17 = 0; + positionY-r17 = -2166908; # -2816980.4 m + positionZ-r17 = 4910784; # 6384019.2 m + velocityVX-r17 = 0; + velocityVY-r17 = 115246; # 6914.76 m/s + velocityVZ-r17 = 50853; # 3051.18 m/s + } + + ); + + TIMERS : + { + sr_ProhibitTimer = 0; + sr_TransMax = 64; + sr_ProhibitTimer_v1700 = 512; + t300 = 2000; + t301 = 2000; + t319 = 2000; + }; + + # ------- 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.71.132"; }); + + NETWORK_INTERFACES : + { + GNB_IPV4_ADDRESS_FOR_NG_AMF = "192.168.71.140/26"; + GNB_IPV4_ADDRESS_FOR_NGU = "192.168.71.140/26"; + GNB_PORT_FOR_S1U = 2152; # Spec 2152 + }; + + } +); + +MACRLCs = ( +{ + num_cc = 1; + tr_s_preference = "local_L1"; + tr_n_preference = "local_RRC"; +# ulsch_max_frame_inactivity = 0; + pusch_TargetSNRx10 = 150; + pucch_TargetSNRx10 = 200; + dl_max_mcs = 9; + ul_max_mcs = 9; +} +); + +L1s = ( +{ + num_cc = 1; + tr_n_preference = "local_mac"; + prach_dtx_threshold = 150; + pucch0_dtx_threshold = 150; + ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0 +} +); + +RUs = ( + { + local_rf = "yes"; + nb_tx = 1; + nb_rx = 1; + att_tx = 0; + att_rx = 0; + bands = [7]; + max_pdschReferenceSignalPower = -27; + max_rxgain = 114; + sf_extension = 0; + eNB_instances = [0]; + sdr_addrs = "type=x300"; + clock_src = "internal"; + # if_freq = 3700000000L; + # if_offset = 1000000; + } +); + +THREAD_STRUCT = ( + { + #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT" + parallel_config = "PARALLEL_RU_L1_TRX_SPLIT"; + #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE" + worker_config = "WORKER_DISABLE"; + } +); + +rfsimulator : +{ + serveraddr = "server"; + serverport = 4043; + options = ("chanmod"); #("saviq"); or/and "chanmod" + prop_delay = 20; + IQfile = "/tmp/rfsimulator.iqs"; +}; + +channelmod = { + max_chan=10; + modellist="modellist_rfsimu_1"; + modellist_rfsimu_1 = ( + { + model_name = "rfsimu_channel_enB0" + type = "SAT_LEO_TRANS"; + noise_power_dB = -100; + }, + { + model_name = "rfsimu_channel_ue0" + type = "SAT_LEO_TRANS"; + noise_power_dB = -100; + } + ); +}; + +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"; + ngap_log_level ="debug"; + f1ap_log_level ="debug"; +}; diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.24PRB.usrpx300.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.24PRB.usrpx300.conf index 144e7d042b..b0bbbf1671 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.24PRB.usrpx300.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.24PRB.usrpx300.conf @@ -35,6 +35,8 @@ gNBs = sib1_tda = 5; min_rxtxtime = 6; # disable_harq = 1; +# num_dlharq = 32; +# num_ulharq = 32; servingCellConfigCommon = ( { @@ -163,8 +165,25 @@ gNBs = #ext2 #ntn_Config_r17 -# cellSpecificKoffset_r17 = 478; # GEO satellite -# cellSpecificKoffset_r17 = 40; # LEO satellite +# GEO satellite +# cellSpecificKoffset_r17 = 478; +# ta-Common-r17 = 29314900; # 119.37 ms +# positionX-r17 = 0; +# positionY-r17 = 0; +# positionZ-r17 = 32433846; +# velocityVX-r17 = 0; +# velocityVY-r17 = 0; +# velocityVZ-r17 = 0; +# LEO satellite +# cellSpecificKoffset_r17 = 40; +# ta-Common-r17 = 2317000; # 9.435 ms +# ta-CommonDrift-r17 = -230000; # -46 µs/s +# positionX-r17 = 0; +# positionY-r17 = -2166908; # -2816980.4 m +# positionZ-r17 = 4910784; # 6384019.2 m +# velocityVX-r17 = 0; +# velocityVY-r17 = 115246; # 6914.76 m/s +# velocityVZ-r17 = 50853; # 3051.18 m/s } ); @@ -208,6 +227,8 @@ MACRLCs = ( tr_n_preference = "local_RRC"; pusch_TargetSNRx10 = 150; pucch_TargetSNRx10 = 200; +# dl_max_mcs = 9; +# ul_max_mcs = 9; } ); @@ -215,7 +236,7 @@ L1s = ( { num_cc = 1; tr_n_preference = "local_mac"; - prach_dtx_threshold = 120; + prach_dtx_threshold = 150; pucch0_dtx_threshold = 150; ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0 } diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.25PRB.usrpx300.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.25PRB.usrpx300.conf index fdb60c73fb..4fc4a07c21 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.25PRB.usrpx300.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/gnb.sa.band66.fr1.25PRB.usrpx300.conf @@ -35,6 +35,8 @@ gNBs = sib1_tda = 5; min_rxtxtime = 6; # disable_harq = 1; +# num_dlharq = 32; +# num_ulharq = 32; servingCellConfigCommon = ( { @@ -163,15 +165,25 @@ gNBs = #ext2 #ntn_Config_r17 -# cellSpecificKoffset_r17 = 478; # GEO satellite -# cellSpecificKoffset_r17 = 40; # LEO satellite -# ta-Common-r17 = 29314900; +# GEO satellite +# cellSpecificKoffset_r17 = 478; +# ta-Common-r17 = 29314900; # 119.37 ms # positionX-r17 = 0; # positionY-r17 = 0; # positionZ-r17 = 32433846; # velocityVX-r17 = 0; # velocityVY-r17 = 0; # velocityVZ-r17 = 0; +# LEO satellite +# cellSpecificKoffset_r17 = 40; +# ta-Common-r17 = 2317000; # 9.435 ms +# ta-CommonDrift-r17 = -230000; # -46 µs/s +# positionX-r17 = 0; +# positionY-r17 = -2166908; # -2816980.4 m +# positionZ-r17 = 4910784; # 6384019.2 m +# velocityVX-r17 = 0; +# velocityVY-r17 = 115246; # 6914.76 m/s +# velocityVZ-r17 = 50853; # 3051.18 m/s } ); @@ -215,6 +227,8 @@ MACRLCs = ( tr_n_preference = "local_RRC"; pusch_TargetSNRx10 = 150; pucch_TargetSNRx10 = 200; +# dl_max_mcs = 9; +# ul_max_mcs = 9; } ); @@ -222,7 +236,7 @@ L1s = ( { num_cc = 1; tr_n_preference = "local_mac"; - prach_dtx_threshold = 120; + prach_dtx_threshold = 150; pucch0_dtx_threshold = 150; ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0 } diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/ue.conf b/targets/PROJECTS/GENERIC-NR-5GC/CONF/ue.conf index 115104e8f1..4cea93ea46 100644 --- a/targets/PROJECTS/GENERIC-NR-5GC/CONF/ue.conf +++ b/targets/PROJECTS/GENERIC-NR-5GC/CONF/ue.conf @@ -11,4 +11,6 @@ position0 = { x = 0.0; y = 0.0; z = 6377900.0; -} \ No newline at end of file +} + +@include "channelmod_rfsimu_LEO_satellite.conf"