Module 5 — SIB1 & Cell Selection

SIB1 —
The cell's first real message

SIB1 is the first structured message a UE receives from the network after MIB. While MIB was 24 bits giving only enough to find PDCCH, SIB1 is the full cell introduction — operator identity, signal thresholds, bandwidth configuration, and critically, how to perform RACH to connect.

TS 38.331 §6.2.2 TS 38.213 §13 TS 38.304 §5.2

What SIB1 is and how it arrives

System Information Block 1 (SIB1) is carried on PDSCH, scheduled by DCI 1_0 with SI-RNTI. We just decoded that DCI in the previous section: SIB1 is at RBs 24–38, symbols 2–12, of slot 2, using MCS 5 (QPSK, code rate 0.38).

SIB1 is transmitted periodically every 160 ms (default), with up to 8 repetitions within that period for coverage. A UE that misses one can catch the next repetition without waiting the full 160 ms.

SIB1 contains information relevant when evaluating if a UE is allowed to access a cell and defines the scheduling of other system information. It is broadcast on PDSCH scheduled by PDCCH with CRC scrambled by SI-RNTI.
3GPP TS 38.331, Section 5.2.1

SIB1 top-level structure

SIB1 ASN.1 structure — key fields TS 38.331 §6.2.2
FieldOur valuePurpose
cellSelectionInfoq-RxLevMin = −70Minimum signal level to camp
cellAccessRelatedInfoPLMN 244-05Operator identity
connectToOtherAMFAMF selection hints
trackingAreaCode0x1F4 = 500TAC for registration/paging
cellIdentity0x1A2B3C4Unique 28-bit cell ID
servingCellConfigCommonvariousBWP, RACH, DL config
si-SchedulingInfoSIB2–SIB9When/where other SIBs appear
ue-TimersAndConstantsT300=ms1000RRC procedure timers

Field 1 — cellSelectionInfo

This is the most important field for determining whether the UE can camp on the cell. It provides the threshold values used in the S-criterion (covered in the next section).

q-RxLevMin: Minimum required Rx level in the cell (dBm). The actual value is (IE value × 2) dBm.
q-QualMin: Minimum required quality level in the cell (dB). Only applicable for RSRQ-based cell selection.
3GPP TS 38.331, Section 6.3.2
cellSelectionInfo — decoded valuesTS 38.331 §6.3.2
// From SIB1 for our cell:
q-RxLevMin  = −70     ← actual value = −70 × 2 = −140 dBm
q-QualMin   = −20     ← actual value = −20 dB (RSRQ)

// UE measures:
RSRP (measured) = −85 dBm  ← reference signal received power
RSRQ (measured) = −10 dB   ← reference signal received quality

// S-criterion (TS 38.304):
Srxlev = RSRP − q-RxLevMin = −85 − (−140) = +55 dB  > 0 ✓
Squal  = RSRQ − q-QualMin  = −10 − (−20)  = +10 dB  > 0 ✓
// Both positive → cell is suitable

Field 2 — cellAccessRelatedInfo

This field carries the PLMN identity list — which mobile operators this cell serves. A UE checks this against its SIM card to verify it is on a valid network.

cellAccessRelatedInfo — our cellTS 38.331 §6.3.2
// PLMN list (up to 12 entries):
PLMN 1:  MCC = 244,  MNC = 05   ← Finland, Elisa
PLMN 2:  MCC = 244,  MNC = 91   ← Elisa MVNO

// UE SIM card:
HPLMN: MCC = 244, MNC = 05      ← matches PLMN 1 ✓

// Additional identifiers:
trackingAreaCode = 0x1F4 = 500
cellIdentity     = 0x1A2B3C4 = 27,471,812  (28-bit cell ID)

Field 3 — servingCellConfigCommon

This is the largest SIB1 field. It configures the UE's initial downlink BWP and provides the complete RACH configuration — the information the UE needs to send Msg1 and actually connect to the network.

Initial Downlink BWP

initialDownlinkBWP — SIB1 configuredTS 38.331 §6.3.2
// Initial DL BWP (active immediately after SIB1 decoding):
locationAndBandwidth:
  startRB = 0    ← starts at Point A (CRB 0 = 3496.38 MHz)
  numRBs  = 52   ← 52 × 360 kHz = 18.72 MHz

subcarrierSpacing = 30 kHz  ← matches subCarrierSpacingCommon in MIB

// Frequency range:
BWP_start = 3496.38 MHz  (Point A)
BWP_end   = 3496.38 + 52 × 0.360 = 3515.10 MHz

RACH Configuration

The RACH configuration tells the UE exactly how to send its first uplink message to the gNB. Without this, the UE cannot connect. Key parameters:

rach-ConfigCommon — SIB1 RACH parameters TS 38.331 §6.3.2, TS 38.213 §8
ParameterOur valueMeaning
prach-ConfigIndex16Preamble format 0, long sequence
msg1-FrequencyStart4 RBsPRACH frequency offset from BWP start
msg1-FDM1Number of PRACH occasions in frequency
zeroCorrelationZoneConfig13Preamble sequence guard zone
preambleReceivedTargetPower−110 dBmTarget received preamble power at gNB
powerRampingStep4 dBPower increase per RACH retry
ra-ResponseWindowsl10UE waits up to 10 slots for Msg2
preambleTransMax7Max preamble retries before failure

Field 4 — si-SchedulingInfo

SIB1 also tells the UE how to find SIB2 through SIB9 — the other system information blocks. Each is scheduled periodically and the UE only reads them if needed.

Other SIBs — what each carries TS 38.331 §6.2.2
SIBContentWhen needed
SIB2Intra-frequency cell reselection parametersCell reselection in IDLE
SIB3Intra-frequency neighbour cell listMobility in IDLE
SIB4Inter-frequency neighbour cellsInter-frequency reselection
SIB5Inter-RAT (LTE, WCDMA) neighboursMulti-RAT reselection
SIB6/7ETWS earthquake/tsunami warningEmergency broadcast
SIB9GPS/UTC time synchronisationTiming-sensitive applications
SIB1 decoded — UE now knows:
Operator             → PLMN 244-05 (Elisa Finland)
Location             → TAC = 500, Cell ID = 0x1A2B3C4
Signal threshold     → q-RxLevMin = −140 dBm
Initial DL BWP       → 52 RBs, 3496.38–3515.10 MHz
RACH config          → ready to compute Msg1
Next step            → S-criterion check → camp decision