gnb.sa.band41.fr1.106PRB.usrpb210.conf 11.7 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
Active_gNBs = ( "gNB-Eurecom-5GNRBox");
# Asn1_verbosity, choice in: none, info, annoying
Asn1_verbosity = "none";

gNBs =
(
 {
    ////////// Identification parameters:
    gNB_ID    =  0xe00;
    gNB_name  =  "gNB-Eurecom-5GNRBox";

    // Tracking area code, 0x0000 and 0xfffe are reserved values
    tracking_area_code  =  1;
rmagueta's avatar
rmagueta committed
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
    plmn_list = ({
                  mcc = 208;
                  mnc = 99;
                  mnc_length = 2;
                  snssaiList = (
                    {
                      sst = 1;
                      sd  = 0x1; // 0 false, else true
                    },
                    {
                      sst = 1;
                      sd  = 0x112233; // 0 false, else true
                    }
                  );

                  });

    nr_cellid = 12345678L;
32 33 34 35 36

    ////////// Physical parameters:

    ssb_SubcarrierOffset                                      = 0;
    pdsch_AntennaPorts                                        = 1;
37
    pusch_AntennaPorts                                        = 1;
francescomani's avatar
francescomani committed
38
    sib1_tda                                                  = 0;
39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

     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                                             = 518670;
      dl_frequencyBand                                                 = 41;
      # this is 3600 MHz
      dl_absoluteFrequencyPointA                                       = 514854;
      #scs-SpecificCarrierList
        dl_offstToCarrier                                              = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        dl_subcarrierSpacing                                           = 1;
        dl_carrierBandwidth                                            = 106;
     #initialDownlinkBWP
      #genericParameters
rmagueta's avatar
rmagueta committed
68 69
        # this is RBstart=27,L=48 (275*(L-1))+RBstart
        initialDLBWPlocationAndBandwidth                               = 12952; # 6366 12925 12956 28875 12952
70 71 72 73 74 75 76 77
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
        initialDLBWPsubcarrierSpacing                                   = 1;
      #pdcch-ConfigCommon
        initialDLBWPcontrolResourceSetZero                              = 12;
        initialDLBWPsearchSpaceZero                                     = 0;
      #pdsch-ConfigCommon
        #pdschTimeDomainAllocationList (up to 16 entries)
78 79 80 81 82 83
        initialDLBWPk0_0                    = 0;  #for DL slot
        initialDLBWPmappingType_0           = 0;  #0=typeA,1=typeB
        initialDLBWPstartSymbolAndLength_0  = 40; #this is SS=1,L=13

        initialDLBWPk0_1                    = 0;  #for mixed slot
        initialDLBWPmappingType_1           = 0;
84
        initialDLBWPstartSymbolAndLength_1  = 57; #this is SS=1,L=5
85 86 87 88 89 90 91 92 93 94 95 96 97

  #uplinkConfigCommon
     #frequencyInfoUL
      ul_frequencyBand                                              = 41;
      #scs-SpecificCarrierList
      ul_offstToCarrier                                             = 0;
# subcarrierSpacing
# 0=kHz15, 1=kHz30, 2=kHz60, 3=kHz120
      ul_subcarrierSpacing                                          = 1;
      ul_carrierBandwidth                                           = 106;
      pMax                                                          = 20;
     #initialUplinkBWP
      #genericParameters
rmagueta's avatar
rmagueta committed
98
        initialULBWPlocationAndBandwidth                            = 12952;
99 100 101 102 103 104 105 106 107
# 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;
108
          prach_msg1_FrequencyStart                                 = 0;
109
          zeroCorrelationZoneConfig                                 = 13;
rmagueta's avatar
rmagueta committed
110
          preambleReceivedTargetPower                               = -96;
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
#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,

      # pusch-ConfigCommon (up to 16 elements)
140
        initialULBWPk2_0                      = 6;  # used for UL slot
141
        initialULBWPmappingType_0             = 1
142
        initialULBWPstartSymbolAndLength_0    = 41; # this is SS=0 L=13
143

144
        initialULBWPk2_1                      = 6;  # used for mixed slot
145
        initialULBWPmappingType_1             = 1;
146
        initialULBWPstartSymbolAndLength_1    = 52; # this is SS=10 L=4
147

148
        initialULBWPk2_2                      = 7;  # used for Msg.3 during RA
149
        initialULBWPmappingType_2             = 1;
150
        initialULBWPstartSymbolAndLength_2    = 52; # this is SS=10 L=4
151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191

        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;

192
      ssPBCH_BlockPower                                             = -25;
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
  }

  );


    # ------- SCTP definitions
    SCTP :
    {
        # Number of streams to use in input/output
        SCTP_INSTREAMS  = 2;
        SCTP_OUTSTREAMS = 2;
    };


    ////////// MME parameters:
rmagueta's avatar
rmagueta committed
208
    amf_ip_address      = ( { ipv4       = "192.168.70.132";
209 210 211 212 213 214 215 216 217
                              ipv6       = "192:168:30::17";
                              active     = "yes";
                              preference = "ipv4";
                            }
                          );


    NETWORK_INTERFACES :
    {
rmagueta's avatar
rmagueta committed
218 219 220 221
        GNB_INTERFACE_NAME_FOR_NG_AMF            = "demo-oai";
        GNB_IPV4_ADDRESS_FOR_NG_AMF              = "192.168.70.129/24";
        GNB_INTERFACE_NAME_FOR_NGU               = "demo-oai";
        GNB_IPV4_ADDRESS_FOR_NGU                 = "192.168.70.129/24";
222 223 224 225 226 227 228
        GNB_PORT_FOR_S1U                         = 2152; # Spec 2152
    };

  }
);

MACRLCs = (
229
    {
230 231 232
        num_cc                      = 1;
        tr_s_preference             = "local_L1";
        tr_n_preference             = "local_RRC";
rmagueta's avatar
rmagueta committed
233
        ulsch_max_slots_inactivity  = 10;
rmagueta's avatar
rmagueta committed
234
        pusch_TargetSNRx10          = 150;
235
        pucch_TargetSNRx10          = 200;
236
    }
237 238 239
);

L1s = (
240
    {
241 242
	num_cc = 1;
	tr_n_preference = "local_mac";
243
	pusch_proc_threads = 8;
244 245 246
	prach_dtx_threshold = 120;
    pucch0_dtx_threshold = 150;
    ofdm_offset_divisor = 8; #set this to UINT_MAX for offset 0
rmagueta's avatar
rmagueta committed
247
    }
248 249 250 251 252 253 254 255 256
);

RUs = (
    {
       local_rf       = "yes"
         nb_tx          = 1
         nb_rx          = 1
         att_tx         = 0
         att_rx         = 0;
rmagueta's avatar
rmagueta committed
257
         bands          = [41];
258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284
         max_pdschReferenceSignalPower = -27;
         max_rxgain                    = 114;
         eNB_instances  = [0];
         #beamforming 1x4 matrix:
         bf_weights = [0x00007fff, 0x0000, 0x0000, 0x0000];
         clock_src = "internal";
    }
);

THREAD_STRUCT = (
  {
    #three config for level of parallelism "PARALLEL_SINGLE_THREAD", "PARALLEL_RU_L1_SPLIT", or "PARALLEL_RU_L1_TRX_SPLIT"
    parallel_config    = "PARALLEL_SINGLE_THREAD";
    #two option for worker "WORKER_DISABLE" or "WORKER_ENABLE"
    worker_config      = "WORKER_ENABLE";
  }
);

rfsimulator :
{
    serveraddr = "server";
    serverport = "4043";
    options = (); #("saviq"); or/and "chanmod"
    modelname = "AWGN";
    IQfile = "/tmp/rfsimulator.iqs";
};

285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301
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";
};

302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
     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";
rmagueta's avatar
rmagueta committed
318 319
       ngap_log_level                         ="debug";
       ngap_log_verbosity                     ="medium";
320 321
    };