5G/NR - MIB / SIB                                           Home : www.sharetechnote.com

 

 

 

 

MIB / SIB

 

Overall functionality and structure of MIB / SIB  of NR is almost same as LTE, but there is one major differeces between NR and LTE. In LTE (actually all other techology except NR), all the SIBs are broadcast periodically regardless of whether UE want it or not. However, in NR there are two different types of SIBs. One type is the one being transmitted periodically like SIBs in LTE and the other type is the one being transmitted only when there is the request from UE.  

 

 

 

Overall MIB/SIB Transmission Flow

 

Overall MIB / SIB transmission and relationships among SIBs is illustrated as below (38.331 - 5.2 System information)  

 

 

 

 

MIB/SIB Aquisition Process

 

MIB / SIB acquisition process would vary depending on cases. I will describe the overall MIB/SIB acquisition process with various cases.

 

 

< Case 1 : Upon Power On and No Stored SIB in UE, No-OnDemand SI indication >

    i) Power On

    ii) Search Cell and Decode MIB

    iii) Store the decoded MIB

    iv) Check if CellBarred = barred, stop there and if not, move to next step.

    v) Using the parameters in MIB, try decoding SIB1.

    vi) [if SIB1 decoding is successful] store the infromation and then move to next step.

    vii) [assuming that SIB1 indicate No On-Demand SI] Decode Other SIBs (SI)

 

 

< Case 2 : Upon Power On and No Stored SIB in UE, OnDemand SI indication >

    i) Power On

    ii) Search Cell and Decode MIB

    iii) Store the decoded MIB

    iv) Check if CellBarred = barred, stop there and if not, move to next step.

    v) Using the parameters in MIB, try decoding SIB1.

    vi) [if SIB1 decoding is successful] store the infromation and then move to next step.

    vii) [assuming that SIB1 indicate On-Demand SI] Check the RRC Status (NOTE : Based on 38.331-5.2.2.3.3]

      a) if RRC Status is in RRC_IDLE or RRC_INACTIVE

      • Trigger lower layer to initiate preamble transmission procedure
      • Aquire the requiested SI messages when Acknowledgement for SI request is received

      b) if RRC Status is in RRC_CONNECTED

      • [Process is not defined yet.]

 

 

 

MasterInformationBlock

 

 

Followings are the overall characteristics of MIB (MasterInformationBlock). See 38.331-5.2.1 and 38.213-4.1 for further details of MIB scheduling.

  • Transmitted over BCH / PBCH (NOTE : PBCH is transmitted as a part of SSB. So it will be benificial to understand on SSB as much as possible. See here for SSB details)
  • Transmitted with the periodicity of 80 ms and within this 80 ms repeatative transmission happens
  • For initial cell selection, a UE may assume that half frames with SS/PBCH blocks occur with a periodicity of 2 frames
  • Includes the parameters that are required to decode SIB1 (SystemInformationType1)

 

  

MIB ::= SEQUENCE {

    systemFrameNumber                   BIT STRING (SIZE (6)),

    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120},

    ssb-SubcarrierOffset                INTEGER (0..15),

    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},

    pdcch-ConfigSIB1                   INTEGER (0..255),

    cellBarred                          ENUMERATED {barred, notBarred},

    intraFreqReselection                ENUMERATED {allowed, notAllowed},

    spare                               BIT STRING (SIZE (1))

}

 

 

subCarrierSpacingCommon : Indicates the Subcarrier spacing for SIB1, Msg.2/4 for initial access and SI-messages. Interpretation of this value varies with frequency range as summarized in the following table.

 

scs15or60

scs30or120

FR1

15 Khz

30 Khz

FR2

60 Khz

120 Khz

 

ssb-subcarrierOffset : This corresponds to k_ssb(38.213). Indicates the frequency domain offset between SSB and the overall resource block grid in number of subcarriers. If k_ssb requires the value higher than 15, it is represented by the combination of a PBCH data field and ssb-subcarrierOffset.

 

dmrs-TypeA-Position : Indicates Position of (first) DL DM-RS.

 

pdcchConfigSIB1: Determines a bandwidth for PDCCH/SIB, a common ControlResourceSet (CORESET), a common search space and necessary PDCCH parameters. This corresponds to RMSI-PDCCH-Config.

 

 

NOTE : How many bits are required for BCCH/MIB ?

In many cases, we are using PBCH and MIB interchangeably.. but you would know that they are not exactly same. PBCH is the name of the channel that carries MIB in it. Simply put, PBCH is a kind of container and MIB is the contents of the container. So you may easily guess that the size of PBCH (the container) would be at least the same or larger than the size of MIB(the contents). In order to clarify on this, you should look at the ASN structure of BCCH for MIB transmission. It is defined as follows.

 

BCCH-BCH-Message ::=            SEQUENCE {

    message                               BCCH-BCH-MessageType

}

 

BCCH-BCH-MessageType ::=        CHOICE {

    mib                                      MIB,

    messageClassExtension           SEQUENCE {}

}

 

As you see here, BCCH-BCH is made of one choice parameter which has two elements (MIB or messageClassExtension). So this choice parameter requires 1 bit. As a result, BCCH-BCH bit length can be one of the followings :

    i) bit length of BCCH-BCH = bit length of mib + 1

    ii) bit length of BCCH-BCH = messageClassExtension + 1

At least in the latest spec (38.331 f03), messageClassExtension is not defined. So let's think of case 1. To calculate the case 1, let's figure out the bit length of mib message. It can be counted as follows.

 

MIB ::= SEQUENCE {

    systemFrameNumber                   BIT STRING (SIZE (6)), => 6 bits

    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120}, => 1 bit

    ssb-SubcarrierOffset                INTEGER (0..15), => 4 bits

    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},  => 1 bit

    pdcch-ConfigSIB1                    INTEGER (0..255), => 8 bits

    cellBarred                          ENUMERATED {barred, notBarred},  => 1 bit

    intraFreqReselection                ENUMERATED {allowed, notAllowed}, => 1 bit

    spare                               BIT STRING (SIZE (1)) => 1 bit

}

 

If you sum up all the number in red, you would get 23 bits. It means the size of MIB is 23 bits.

Therefore, the size of BCCH-BCH = 23 + 1 = 24 bit. This 24 bit is the input data (A) of PBCH transport channel Process

 

 

 

SystemInformationBlockType1

 

 

Followings are the overall characteristics of SIB1 (SystemInformationBlockType1)

  • Transmitted over DL-SCH (NOTE : SIB1 is the first RRC message (except MIB). So UE need to be able to decode SIB1 without much information from OTA signaling message. Therefore, 3GPP defines very specific (often complicated) procedure to transmit/decode DCI and PDSCH for SIB1. See here for SIB1 scheduling).
  • Transmitted with the periodicity of 160 ms and within this 160 ms repeatative transmission happens
  • Includes information regarding the availability and scheduling (e.g. periodcity, SI-window size) of other SIB
  • Indicates whether they (i.e. other SIBs) are provided via periodic broadcast basis or only on-demand basis
  • (If other SIBs are provided on-demand then SIB1) Includes information for the UE to perform SI request   

 

 

36.331-15.5

 

SIB1 ::=        SEQUENCE {

    cellSelectionInfo                   SEQUENCE {

        q-RxLevMin                          Q-RxLevMin,

        q-RxLevMinOffset                    INTEGER (1..8)      OPTIONAL,   -- Need R

        q-RxLevMinSUL                       Q-RxLevMin          OPTIONAL,   -- Need R

        q-QualMin                           Q-QualMin           OPTIONAL,   -- Need R

        q-QualMinOffset                     INTEGER (1..8)      OPTIONAL    -- Need R

    }    OPTIONAL,   -- Need S

    cellAccessRelatedInfo               CellAccessRelatedInfo,

    connEstFailureControl               ConnEstFailureControl   OPTIONAL,   -- Need R

    si-SchedulingInfo                   SI-SchedulingInfo       OPTIONAL,   -- Need R

    servingCellConfigCommon             ServingCellConfigCommonSIB    OPTIONAL,   -- Need R

    ims-EmergencySupport                ENUMERATED {true}             OPTIONAL,   -- Need R

    eCallOverIMS-Support                ENUMERATED {true}             OPTIONAL,   -- Cond Absent

    ue-TimersAndConstants               UE-TimersAndConstants         OPTIONAL,   -- Need R

 

    uac-BarringInfo                     SEQUENCE {

        uac-BarringForCommon                UAC-BarringPerCatList     OPTIONAL,   -- Need S

        uac-BarringPerPLMN-List             UAC-BarringPerPLMN-List   OPTIONAL,   -- Need S

        uac-BarringInfoSetList              UAC-BarringInfoSetList,

        uac-AccessCategory1-SelectionAssistanceInfo CHOICE {

            plmnCommon                      UAC-AccessCategory1-SelectionAssistanceInfo,

            individualPLMNList              SEQUENCE (SIZE (2..maxPLMN))

                                               OF UAC-AccessCategory1-SelectionAssistanceInfo

        }   OPTIONAL

    }     OPTIONAL,   -- Need R

 

    useFullResumeID                     ENUMERATED {true}    OPTIONAL,   -- Need N

    lateNonCriticalExtension            OCTET STRING         OPTIONAL,

    nonCriticalExtension                SEQUENCE{}           OPTIONAL

}

 

UAC-AccessCategory1-SelectionAssistanceInfo ::= ENUMERATED {a, b, c}

 

 

ServingCellConfigCommonSIB ::=      SEQUENCE {

    downlinkConfigCommon                DownlinkConfigCommonSIB,

    uplinkConfigCommon                  UplinkConfigCommonSIB   OPTIONAL,   -- Need R

    supplementaryUplink                 UplinkConfigCommonSIB   OPTIONAL,   -- Need R

    n-TimingAdvanceOffset               ENUMERATED { n0, n25560, n39936 }   OPTIONAL, -- Need S

    ssb-PositionsInBurst                    SEQUENCE {

        inOneGroup                          BIT STRING (SIZE (8)),

        groupPresence                       BIT STRING (SIZE (8))                                       OPTIONAL -- Cond Above6GHzOnly

    },

    ssb-PeriodicityServingCell          ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160},

    tdd-UL-DL-ConfigurationCommon       TDD-UL-DL-ConfigCommon    OPTIONAL, -- Cond TDD

    ss-PBCH-BlockPower                  INTEGER (-60..50),

    ...

}

 

DownlinkConfigCommonSIB ::=     SEQUENCE {

    frequencyInfoDL                 FrequencyInfoDL-SIB,

    initialDownlinkBWP              BWP-DownlinkCommon,

    bcch-Config                     BCCH-Config,

    pcch-Config                     PCCH-Config,

    ...

}

 

 

BCCH-Config ::=    SEQUENCE {  modificationPeriodCoeff   ENUMERATED {n2, n4, n8, n16},

    ...

}

 

 

PCCH-Config ::=             SEQUENCE {

    defaultPagingCycle                  PagingCycle,

    nAndPagingFrameOffset               CHOICE {

        oneT                                NULL,

        halfT                               INTEGER (0..1),

        quarterT                            INTEGER (0..3),

        oneEighthT                          INTEGER (0..7),

        oneSixteenthT                       INTEGER (0..15)

    },

    ns                                  ENUMERATED {four, two, one},

    firstPDCCH-MonitoringOccasionOfPO   CHOICE {

        sCS15KHZoneT                 SEQUENCE (SIZE (1..4)) OF INTEGER (0..139),

        sCS30KHZoneT-SCS15KHZhalfT   SEQUENCE (SIZE (1..4)) OF INTEGER (0..279),

        sCS60KHZoneT-SCS30KHZhalfT-SCS15KHZquarterT                                 

                                     SEQUENCE (SIZE (1..4)) OF INTEGER (0..559),

        sCS120KHZoneT-SCS60KHZhalfT-SCS30KHZquarterT-SCS15KHZoneEighthT             

                                     SEQUENCE (SIZE (1..4)) OF INTEGER (0..1119),

        sCS120KHZhalfT-SCS60KHZquarterT-SCS30KHZoneEighthT-SCS15KHZoneSixteenthT    

                                     SEQUENCE (SIZE (1..4)) OF INTEGER (0..2239),

        sCS120KHZquarterT-SCS60KHZoneEighthT-SCS30KHZoneSixteenthT                  

                                     SEQUENCE (SIZE (1..4)) OF INTEGER (0..4479),

        sCS120KHZoneEighthT-SCS60KHZoneSixteenthT                                   

                                     SEQUENCE (SIZE (1..4)) OF INTEGER (0..8959),

        sCS120KHZoneSixteenthT       SEQUENCE (SIZE (1..4)) OF INTEGER (0..17919)

    }   OPTIONAL,           -- Need R

    ...

}

 

 

FrequencyInfoDL-SIB ::=             SEQUENCE {

    frequencyBandList                   MultiFrequencyBandListNR-SIB,

    offsetToPointA                      INTEGER (0..2199),

    scs-SpecificCarrierList             SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier

}

 

 

BWP-DownlinkCommon ::=      SEQUENCE {

    genericParameters   BWP,

    pdcch-ConfigCommon  SetupRelease { PDCCH-ConfigCommon }

    pdsch-ConfigCommon  SetupRelease { PDSCH-ConfigCommon }

    ...

}

 

 

BWP-Downlink ::=    SEQUENCE {

    bwp-Id              BWP-Id,

    bwp-Common          BWP-DownlinkCommon  

    bwp-Dedicated       BWP-DownlinkDedicated   

    ...

}

 

 

PDCCH-ConfigCommon ::=                  SEQUENCE {

    commonControlResourcesSets      SEQUENCE (SIZE(1..2)) OF ControlResourceSet     OPTIONAL,

    commonSearchSpaces              SEQUENCE (SIZE(1..4)) OF SearchSpace            OPTIONAL, 

    searchSpaceSIB1                         SearchSpaceId             OPTIONAL, 

    searchSpaceOtherSystemInformation       SearchSpaceId             OPTIONAL,  

    pagingSearchSpace                       SearchSpaceId             OPTIONAL,  

    ra-ControlResourceSet                   ControlResourceSetId      OPTIONAL,   

    ra-SearchSpace                          SearchSpaceId             OPTIONAL,

    ...

 

}

 

commonControlResourcesSets : A list of common control resource sets. Only CORESETs with ControlResourceSetId = 0 or 1 are allowed. The CORESET#0 corresponds to the CORESET configured in MIB (see pdcch-ConfigSIB1) and is used to provide that information to the UE by dedicated signalling during handover and (P)SCell addition. The CORESET#1 may be configured an used for RAR

 

commonSearchSpaces :  A list of additional common search spaces

 

searchSpaceSIB1 : ID of the search space for SIB1 message. Corresponds to L1 parameter 'rmsi-SearchSpace'

 

searchSpaceOtherSystemInformation : ID of the Search space for other system information, i.e., SIB2 and beyond. Corresponds to L1 parameter 'osi-SearchSpace'. If the field is absent, the monitoring occasions are derived as described in PDCCH Type 0 Common Search Space page.

 

pagingSearchSpace : ID of the Search space for paging. Corresponds to L1 parameter 'paging-SearchSpace'. If the field is absent, the monitoring occasions are derived as described in PDCCH Type 0 Common Search Space page.

 

ra-ControlResourceSet : CORESET configured for random access. When the field is absent the UE uses the CORESET according to pdcch-ConfigSIB1 which is associated with ControlResourceSetId = 0. Corresponds to L1 parameter 'rach-coreset-configuration'

 

ra-SearchSpace : ID of the Search space for random access procedure. Corresponds to L1 parameter 'ra-SearchSpace'.  If the field is absent, the monitoring occasions are derived as described in PDCCH Type 0 Common Search Space page.

 

 

UplinkConfigCommonSIB ::=               SEQUENCE {

    frequencyInfoUL                         FrequencyInfoUL-SIB,

    initialUplinkBWP                        BWP-UplinkCommon,

    timeAlignmentTimerCommon                TimeAlignmentTimer

}

 

 

FrequencyInfoUL-SIB ::=           SEQUENCE {

    frequencyBandList               MultiFrequencyBandListNR-SIB     OPTIONAL,   -- Cond FDD-OrSUL

    absoluteFrequencyPointA         ARFCN-ValueNR             OPTIONAL,   -- Cond FDD-OrSUL

    scs-SpecificCarrierList         SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,

    p-Max                           P-Max         OPTIONAL,   -- Need S

    frequencyShift7p5khz            ENUMERATED {true}  OPTIONAL,   -- Cond FDD-OrSUL-Optional

    ...

}

 

 

BWP-UplinkCommon ::=                SEQUENCE {

    genericParameters                   BWP,

    rach-ConfigCommon                   SetupRelease { RACH-ConfigCommon }      OPTIONAL,   

    pusch-ConfigCommon                  SetupRelease { PUSCH-ConfigCommon }     OPTIONAL,

    pucch-ConfigCommon                  SetupRelease { PUCCH-ConfigCommon }     OPTIONAL,

    ...

}

 

 

RACH-ConfigCommon ::=  SEQUENCE {

    rach-ConfigGeneric              RACH-ConfigGeneric,

    totalNumberOfRA-Preambles       INTEGER (1..63)             OPTIONAL,   -- Need S

    ssb-perRACH-OccasionAndCB-PreamblesPerSSB   CHOICE {

        oneEighth  ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        oneFourth  ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        oneHalf    ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        one        ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32,n36,n40,n44,n48,n52,n56,n60,n64},

        two        ENUMERATED {n4,n8,n12,n16,n20,n24,n28,n32},

        four       INTEGER (1..16),

        eight      INTEGER (1..8),

        sixteen    INTEGER (1..4)

    }   OPTIONAL,   -- Need M

 

    groupBconfigured      SEQUENCE {

        ra-Msg3SizeGroupA      ENUMERATED {b56, b144, b208, b256, b282, b480, b640, b800, b1000,

                                          spare7, spare6, spare5, spare4, spare3, spare2, spare1},

        messagePowerOffsetGroupB   ENUMERATED { minusinfinity, dB0, dB5, dB8, dB10, dB12,

                                                dB15, dB18},

        numberOfRA-PreamblesGroupA          INTEGER (1..64)

    }   OPTIONAL,   -- Need R

 

    ra-ContentionResolutionTimer    ENUMERATED { sf8, sf16, sf24, sf32, sf40, sf48, sf56, sf64},

    rsrp-ThresholdSSB                       RSRP-Range          OPTIONAL,   -- Need R

    rsrp-ThresholdSSB-SUL                   RSRP-Range          OPTIONAL,   -- Need R

    prach-RootSequenceIndex                 CHOICE {

        l839                                    INTEGER (0..837),

        l139                                    INTEGER (0..137)

    },

    msg1-SubcarrierSpacing   SubcarrierSpacing,

    restrictedSetConfig      ENUMERATED {unrestrictedSet, restrictedSetTypeA, restrictedSetTypeB},

    msg3-transformPrecoding  ENUMERATED {enabled} OPTIONAL,  -- Need R

    ...

}

 

 

RACH-ConfigGeneric ::=          SEQUENCE {

    prach-ConfigurationIndex         INTEGER (0..255),

    msg1-FDM                         ENUMERATED {one, two, four, eight},

    msg1-FrequencyStart              INTEGER (0..maxNrofPhysicalResourceBlocks-1),

    zeroCorrelationZoneConfig        INTEGER(0..15),

    preambleReceivedTargetPower      INTEGER (-200..-74),

    preambleTransMax                 ENUMERATED {n3,n4,n5,n6,n7,n8,n10,n20,n50,n100,n200},

    powerRampingStep                 ENUMERATED {dB0, dB2, dB4, dB6},

    ra-ResponseWindow                ENUMERATED {sl1, sl2, sl4, sl8, sl10, sl20, sl40, sl80}

}

 

 

CellAccessRelatedInfo ::= SEQUENCE {

    plmn-IdentityList                PLMN-IdentityInfoList,

    cellReservedForOtherUse          ENUMERATED {true} OPTIONAL, -- Need R

    ...

}

 

 

PLMN-IdentityInfo ::= SEQUENCE {

   plmn-IdentityList                SEQUENCE (SIZE (1..maxPLMN)) OF PLMN-Identity,

   trackingAreaCode                 TrackingAreaCode OPTIONAL,

   ranac RAN-AreaCode               OPTIONAL,

   cellIdentity                     CellIdentity,

   cellReservedForOperatorUse       ENUMERATED {reserved, notReserved},

   ...

}

 

 

PLMN-Identity ::= SEQUENCE {

   mcc                             MCC OPTIONAL, -- Cond MCC

   mnc                             MNC

}

 

MCC ::= SEQUENCE (SIZE (3)) OF MCC-MNC-Digit

MNC ::= SEQUENCE (SIZE (2..3)) OF MCC-MNC-Digit

MCC-MNC-Digit ::= INTEGER (0..9)

 

 

SI-SchedulingInfo ::= SEQUENCE {

   schedulingInfoList                   SEQUENCE (SIZE (1..maxSI-Message)) OF SchedulingInfo,

   si-WindowLength                      ENUMERATED {s5, s10, s20, s40, s80, s160, s320,

                                                    s640, s1280},

   si-RequestConfig                     SI-RequestConfig OPTIONAL, -- Cond MSG-1

   si-RequestConfigSUL                  SI-RequestConfig OPTIONAL, -- Cond SUL-MSG-1

   systemInformationAreaID              BIT STRING (SIZE (24)) OPTIONAL, -- Need R

   ...

}

 

SchedulingInfo ::= SEQUENCE {

   si-BroadcastStatus                   ENUMERATED {broadcasting, notBroadcasting},

   si-Periodicity                       ENUMERATED {rf8, rf16, rf32, rf64, rf128, rf256, rf512},

   sib-MappingInfo                      SIB-Mapping

}

 

SIB-Mapping ::= SEQUENCE (SIZE (1..maxSIB)) OF SIB-TypeInfo

 

SIB-TypeInfo ::= SEQUENCE {

   type                                 ENUMERATED {sibType2, sibType3, sibType4, sibType5,

                                                    sibType6, sibType7, sibType8, sibType9,

                                                    spare8, spare7, spare6, spare5, spare4,

                                                    spare3, spare2, spare1,... },

   valueTag                             INTEGER (0..31) OPTIONAL, -- Cond SIB-TYPE

   areaScope                            ENUMERATED {true} OPTIONAL -- Need S

}

 

SI-RequestConfig::= SEQUENCE {

   rach-OccasionsSI SEQUENCE {

      rach-ConfigSI                      RACH-ConfigGeneric,

      ssb-perRACH-Occasion               ENUMERATED {oneEighth, oneFourth, oneHalf, one, two,

                                                     four, eight, sixteen}

   } OPTIONAL, -- Need R

   si-RequestPeriod                      ENUMERATED {one, two, four, six, eight, ten, twelve,

                                                     sixteen} OPTIONAL,

   si-RequestResources                   SEQUENCE(SIZE (1..maxSI-Message)) OF SI-RequestResources

}

 

SI-RequestResources ::= SEQUENCE {

   ra-PreambleStartIndex                 INTEGER (0..63),

   ra-AssociationPeriodIndex             INTEGER (0..15) OPTIONAL, -- Need R

   ra-ssb-OccasionMaskIndex              INTEGER (0..15) OPTIONAL -- Need R

}

 

 

ConnEstFailureControl ::= SEQUENCE {

   connEstFailCount                    ENUMERATED {n1, n2, n3, n4},

   connEstFailOffsetValidity           ENUMERATED {s30, s60, s120, s240, s300, s420, s600, s900},

   connEstFailOffset                   INTEGER (0..15) OPTIONAL -- Need S

}

 

 

 

Other SIBs (Periodic SIBs)

 

 

Followings are the overall characteristics of other SIBs (i.e, SIBs other than SIB1) that are transmitted by periodic broadcast

  • Transmitted over DL-SCH (For the detailed lower layer and higher layer scheduling for OSI, see this page)
  • Transmitted within periodically occurring time-domain window called SI-Window

 

 

 

SIB2

 

 

SIB2 ::= SEQUENCE {

    cellReselectionInfoCommon SEQUENCE {

        nrofSS-BlocksToAverage               INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL,

        absThreshSS-BlocksConsolidation      ThresholdNR OPTIONAL,

        rangeToBestCell                      RangeToBestCell OPTIONAL,

        q-Hyst ENUMERATED {

            dB0, dB1, dB2, dB3, dB4, dB5, dB6, dB8, dB10,

            dB12, dB14, dB16, dB18, dB20, dB22, dB24},

        speedStateReselectionPars            SEQUENCE {

            mobilityStateParameters             MobilityStateParameters,

            q-HystSF SEQUENCE {

                sf-Medium                       ENUMERATED {dB-6, dB-4, dB-2, dB0},

                sf-High                         ENUMERATED {dB-6, dB-4, dB-2, dB0}

            }

        } OPTIONAL,

        ...

    },

    cellReselectionServingFreqInfo SEQUENCE {

        s-NonIntraSearchP                    ReselectionThreshold OPTIONAL,

        s-NonIntraSearchQ                    ReselectionThresholdQ OPTIONAL,

        threshServingLowP                    ReselectionThreshold,

        threshServingLowQ                    ReselectionThresholdQ OPTIONAL,

        cellReselectionPriority              CellReselectionPriority,

        cellReselectionSubPriority           CellReselectionSubPriority OPTIONAL,

        ...

    },

    intraFreqCellReselectionInfo SEQUENCE {

        q-RxLevMin                           Q-RxLevMin,

        q-RxLevMinSUL                        Q-RxLevMin OPTIONAL, -- Need R

        q-QualMin                            Q-QualMin OPTIONAL, -- Need S

        s-IntraSearchP                       ReselectionThreshold,

        s-IntraSearchQ                       ReselectionThresholdQ OPTIONAL,

        t-ReselectionNR                      T-Reselection,

        frequencyBandList                    MultiFrequencyBandListNR-SIB OPTIONAL,

        frequencyBandListSUL                 MultiFrequencyBandListNR-SIB OPTIONAL,

        p-Max                                P-Max OPTIONAL, -- Need R

        smtc                                 SSB-MTC OPTIONAL, -- Need R

        ss-RSSI-Measurement                  SS-RSSI-Measurement OPTIONAL, -- Need R

        ssb-ToMeasure                        SSB-ToMeasure OPTIONAL, -- Need R

        deriveSSB-IndexFromCell              BOOLEAN,

        ...,

    [[

        t-ReselectionNR-SF                   SpeedStateScaleFactors OPTIONAL -- Need N

    ]]

    },

    ...

}

 

RangeToBestCell ::= Q-OffsetRange

 

 

Q-OffsetRange ::= ENUMERATED {

                     dB-24, dB-22, dB-20, dB-18, dB-16, dB-14,

                     dB-12, dB-10, dB-8, dB-6, dB-5, dB-4, dB-3,

                     dB-2, dB-1, dB0, dB1, dB2, dB3, dB4, dB5,

                     dB6, dB8, dB10, dB12, dB14, dB16, dB18,

                     dB20, dB22, dB24}

 

 

SSB-MTC ::= SEQUENCE {

    periodicityAndOffset CHOICE {

        sf5          INTEGER (0..4),

        sf10         INTEGER (0..9),

        sf20         INTEGER (0..19),

        sf40         INTEGER (0..39),

        sf80         INTEGER (0..79),

        sf160        INTEGER (0..159)

    },

    duration         ENUMERATED { sf1, sf2, sf3, sf4, sf5 }

}

 

 

SS-RSSI-Measurement ::= SEQUENCE {

    measurementSlots       BIT STRING (SIZE (1..80)),

    endSymbol              INTEGER(0..3)

}

 

 

SSB-ToMeasure ::= CHOICE {

    shortBitmap            BIT STRING (SIZE (4)),

    mediumBitmap           BIT STRING (SIZE (8)),

    longBitmap             BIT STRING (SIZE (64))

}

 

 

SpeedStateScaleFactors ::= SEQUENCE {

    sf-Medium              ENUMERATED {oDot25, oDot5, oDot75, lDot0},

    sf-High                ENUMERATED {oDot25, oDot5, oDot75, lDot0}

}

 

 

ThresholdNR ::= SEQUENCE{

    thresholdRSRP          RSRP-Range OPTIONAL, -- Need R

    thresholdRSRQ          RSRQ-Range OPTIONAL, -- Need R

    thresholdSINR          SINR-Range OPTIONAL -- Need R

}

 

 

 

SIB3

 

: Caries NR Intrafrequency Neighbor cell list and Reselection Critera

 

 

SIB3 ::= SEQUENCE {

    intraFreqNeighCellList                 IntraFreqNeighCellList OPTIONAL,

    intraFreqBlackCellList                 IntraFreqBlackCellList OPTIONAL,

    lateNonCriticalExtension               OCTET STRING OPTIONAL,

    ...

}

 

IntraFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellIntra)) OF IntraFreqNeighCellInfo

 

IntraFreqNeighCellInfo ::= SEQUENCE {

    physCellId                             PhysCellId,

    q-OffsetCell                           Q-OffsetRange,

    q-RxLevMinOffsetCell                   INTEGER (1..8) OPTIONAL,

    q-RxLevMinOffsetCellSUL                INTEGER (1..8) OPTIONAL,

    q-QualMinOffsetCell                    INTEGER (1..8) OPTIONAL,

    ...

}

 

IntraFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range

 

 

 

SIB4

 

: Caries NR Interfrequency Neighbor cell list and Reselection Critera

 

 

SIB4 ::= SEQUENCE {

    interFreqCarrierFreqList               InterFreqCarrierFreqList,

    lateNonCriticalExtension               OCTET STRING OPTIONAL,

    ...

}

 

InterFreqCarrierFreqList ::= SEQUENCE (SIZE (1..maxFreq)) OF InterFreqCarrierFreqInfo

 

InterFreqCarrierFreqInfo ::= SEQUENCE {

    dl-CarrierFreq                        ARFCN-ValueNR,

    frequencyBandList                     MultiFrequencyBandListNR-SIB OPTIONAL,

    frequencyBandListSUL                  MultiFrequencyBandListNR-SIB OPTIONAL,

    nrofSS-BlocksToAverage                INTEGER (2..maxNrofSS-BlocksToAverage) OPTIONAL,

    absThreshSS-BlocksConsolidation       ThresholdNR OPTIONAL,

    smtc                                  SSB-MTC OPTIONAL,

    ssbSubcarrierSpacing                  SubcarrierSpacing,

    ssb-ToMeasure                         SSB-ToMeasure OPTIONAL,

    deriveSSB-IndexFromCell               BOOLEAN,

    ss-RSSI-Measurement                   SS-RSSI-Measurement OPTIONAL,

    q-RxLevMin                            Q-RxLevMin,

    q-RxLevMinSUL                         Q-RxLevMin OPTIONAL,

    q-QualMin                             Q-QualMin OPTIONAL, ,

    p-Max                                 P-Max OPTIONAL,

    t-ReselectionNR                       T-Reselection,

    t-ReselectionNR-SF                    SpeedStateScaleFactors OPTIONAL,

    threshX-HighP                         ReselectionThreshold,

    threshX-LowP                          ReselectionThreshold,

    threshX-Q SEQUENCE {

        threshX-HighQ                     ReselectionThresholdQ,

        threshX-LowQ                      ReselectionThresholdQ

    } OPTIONAL,

    cellReselectionPriority               CellReselectionPriority OPTIONAL,

    cellReselectionSubPriority            CellReselectionSubPriority OPTIONAL,

    q-OffsetFreq                          Q-OffsetRange DEFAULT dB0,

    interFreqNeighCellList                InterFreqNeighCellList OPTIONAL, -- Need R

    interFreqBlackCellList                InterFreqBlackCellList OPTIONAL, -- Need R

    ...

}

 

InterFreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellInter)) OF InterFreqNeighCellInfo

 

InterFreqNeighCellInfo ::= SEQUENCE {

    physCellId PhysCellId,

    q-OffsetCell Q-OffsetRange,

    q-RxLevMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R

    q-RxLevMinOffsetCellSUL INTEGER (1..8) OPTIONAL, -- Need R

    q-QualMinOffsetCell INTEGER (1..8) OPTIONAL, -- Need R

    ...

}

 

InterFreqBlackCellList ::= SEQUENCE (SIZE (1..maxCellBlack)) OF PCI-Range

 

 

SSB-MTC ::= SEQUENCE {

    periodicityAndOffset CHOICE {

        sf5          INTEGER (0..4),

        sf10         INTEGER (0..9),

        sf20         INTEGER (0..19),

        sf40         INTEGER (0..39),

        sf80         INTEGER (0..79),

        sf160        INTEGER (0..159)

    },

    duration         ENUMERATED { sf1, sf2, sf3, sf4, sf5 }

}

 

 

SS-RSSI-Measurement ::= SEQUENCE {

    measurementSlots       BIT STRING (SIZE (1..80)),

    endSymbol              INTEGER(0..3)

}

 

 

SSB-ToMeasure ::= CHOICE {

    shortBitmap            BIT STRING (SIZE (4)),

    mediumBitmap           BIT STRING (SIZE (8)),

    longBitmap             BIT STRING (SIZE (64))

}

 

 

SpeedStateScaleFactors ::= SEQUENCE {

    sf-Medium              ENUMERATED {oDot25, oDot5, oDot75, lDot0},

    sf-High                ENUMERATED {oDot25, oDot5, oDot75, lDot0}

}

 

 

ThresholdNR ::= SEQUENCE{

    thresholdRSRP          RSRP-Range OPTIONAL, -- Need R

    thresholdRSRQ          RSRQ-Range OPTIONAL, -- Need R

    thresholdSINR          SINR-Range OPTIONAL -- Need R

}

 

 

 

SIB5

 

: Caries EUTRA Neighbor cell list and Reselection Critera

 

 

SIB5 ::= SEQUENCE {

    carrierFreqListEUTRA                    CarrierFreqListEUTRA OPTIONAL,

    t-ReselectionEUTRA                      T-Reselection,

    t-ReselectionEUTRA-SF                   SpeedStateScaleFactors OPTIONAL,

    lateNonCriticalExtension                OCTET STRING OPTIONAL,

    ...

}

 

CarrierFreqListEUTRA ::= SEQUENCE (SIZE (1..maxEUTRA-Carrier)) OF CarrierFreqEUTRA

 

CarrierFreqEUTRA ::= SEQUENCE {

    carrierFreq                             ARFCN-ValueEUTRA,

    eutra-multiBandInfoList                 EUTRA-MultiBandInfoList OPTIONAL,

    eutra-FreqNeighCellList                 EUTRA-FreqNeighCellList OPTIONAL,

    eutra-BlackCellList                     EUTRA-FreqBlackCellList OPTIONAL,

    allowedMeasBandwidth                    EUTRA-AllowedMeasBandwidth,

    presenceAntennaPort1                    EUTRA-PresenceAntennaPort1,

    cellReselectionPriority                 CellReselectionPriority OPTIONAL,

    cellReselectionSubPriority              CellReselectionSubPriority OPTIONAL,

    threshX-High                            ReselectionThreshold,

    threshX-Low                             ReselectionThreshold,

    q-RxLevMin                              INTEGER (-70..-22),

    q-QualMin                               INTEGER (-34..-3),

    p-MaxEUTRA                              INTEGER (-30..33),

    threshX-Q SEQUENCE {

        threshX-HighQ                       ReselectionThresholdQ,

        threshX-LowQ                        ReselectionThresholdQ

    } OPTIONAL

}

 

EUTRA-MultiBandInfoList ::= SEQUENCE (SIZE (1..maxMultiBands)) OF EUTRA-MultiBandInfo

 

EUTRA-MultiBandInfo ::= SEQUENCE {

    eutra-FreqBandIndicator                 FreqBandIndicatorEUTRA,

    eutra-NS-PmaxList                       EUTRA-NS-PmaxList OPTIONAL -- Need R

}

 

 

EUTRA-FreqBlackCellList ::= SEQUENCE (SIZE (1..maxEUTRA-CellBlack)) OF EUTRA-PhysCellIdRange

 

EUTRA-FreqNeighCellList ::= SEQUENCE (SIZE (1..maxCellEUTRA)) OF EUTRA-FreqNeighCellInfo

 

EUTRA-FreqNeighCellInfo ::= SEQUENCE {

    physCellId                              EUTRA-PhysCellId,

    q-OffsetCell                            EUTRA-Q-OffsetRange,

    q-RxLevMinOffsetCell                    INTEGER (1..8) OPTIONAL,

    q-QualMinOffsetCell                     INTEGER (1..8) OPTIONAL

}

 

SpeedStateScaleFactors ::= SEQUENCE {

    sf-Medium              ENUMERATED {oDot25, oDot5, oDot75, lDot0},

    sf-High                ENUMERATED {oDot25, oDot5, oDot75, lDot0}

}

 

T-Reselection ::= INTEGER (0..7)

 

 

CellReselectionPriority ::= INTEGER (0..7)  // 0 = lowest priority

 

 

CellReselectionSubPriority ::= ENUMERATED {oDot2, oDot4, oDot6, oDot8}

 

 

 

SIB6

 

: Carries ETWS

 

SIB6 ::= SEQUENCE {

    messageIdentifier            BIT STRING (SIZE (16)),

    serialNumber                 BIT STRING (SIZE (16)),

    warningType                  OCTET STRING (SIZE (2)),

    lateNonCriticalExtension     OCTET STRING OPTIONAL,

    ...

}

 

 

 

SIB7

 

: Carries ETWS Secondary Notification

 

SIB7 ::= SEQUENCE {

    messageIdentifier            BIT STRING (SIZE (16)),

    serialNumber                 BIT STRING (SIZE (16)),

    warningMessageSegmentType    ENUMERATED {notLastSegment, lastSegment},

    warningMessageSegmentNumber  INTEGER (0..63),

    warningMessageSegment        OCTET STRING,

    dataCodingScheme             OCTET STRING (SIZE (1)) OPTIONAL,

    lateNonCriticalExtension     OCTET STRING OPTIONAL,

    ...

}

 

 

 

SIB8

 

: Carries CMAS Notification

 

SIB8 ::= SEQUENCE {

    messageIdentifier                          BIT STRING (SIZE (16)),

    serialNumber                               BIT STRING (SIZE (16)),

    warningMessageSegmentType                  ENUMERATED {notLastSegment, lastSegment},

    warningMessageSegmentNumber                INTEGER (0..63),

    warningMessageSegment                      OCTET STRING,

    dataCodingScheme                           OCTET STRING (SIZE (1)) OPTIONAL,

    warningAreaCoordinatesSegment              OCTET STRING OPTIONAL,

    lateNonCriticalExtension                   OCTET STRING OPTIONAL,

    ...

}

 

 

 

SIB9

 

: Carries GPS time and UTC(Coordinated Universal Time)

 

SIB9 ::= SEQUENCE {

    timeInfo SEQUENCE {

        timeInfoUTC                          INTEGER (0..549755813887),

        dayLightSavingTime                   BIT STRING (SIZE (2)) OPTIONAL,

        leapSeconds                          INTEGER (-127..128) OPTIONAL,

        localTimeOffset                      INTEGER (-63..64) OPTIONAL

    } OPTIONAL, -- Need R

    lateNonCriticalExtension OCTET STRING OPTIONAL,

    ...

}

 

 

 

Reference

 

[1]