Master Information Block (MIB)

Its a 32 bit payload transmitted using PBCH channel. The payload carries information related to following parameters.

Important

  • MIB Module generates the complete payload consisting of 24 bit MIB payload 7 additional timing bits and 1 choice bit.

Table 26 Table-1: Content of PBCH Payload/MIB

Payload

Information

Size

Dependent Variable

choiceBit

choiceBit

1

NA

MIB

subCarrierSpacingCommon

1

Carrier frequency

MIB

DMRSTypeAPosition

1

NA

MIB

controlResourceSet0

4

NA

MIB

searchSpace0

4

NA

MIB

cellBarred

1

NA

MIB

intraFrequencyReselection

1

NA

MIB

ssbSubCarrierOffset

4-5

Carrier frequency

MIB

ssbIndex

0-3

nssbCandidatesInHrf

MIB/ATI

systemFrameNumber

4+6

NA

MIB Generation

The details about the input-output interface of the MIB generation is provided below.

class toolkit5G.PayloadGeneration.MIBGeneration(carrierFreq, choiceBit, subCarrierSpacing, dmrsPosition, cResourceSetZero, searchSpaceZero, cellBarred, intraFrequencyReselection, systemFrameNumber, ssbSubCarrierOffset, hrfBit, ssbIndex)[source]

Generates the PBCH payload. It generates 32 bit PBCH information consisting of 24 MIB + 7 additional timing bits and choice bit. The title is slightly misnomer.

Parameters:
  • carrierFreq (number) – Defines the carrier frequency considered for simulation \(\in [0.5, 52.6]\) GHz.

  • choiceBit (number) – Defines the choice bit from MIB information \(\in \{0, 1\}\).

  • subCarrierSpacingCommon (number) – Defines subCarrierSpacingCommon information for SSB which \(\in \{15000, 30000\}\) for frequency range-1 (carrierFreq < 6 GHz) and \(\in \{120000, 240000\}\) for frequency range-1 (6 GHz <carrierFreq < 52.6 GHz). Indicates the Subcarrier spacing for SIB1, Msg.2/4 for initial access and SI-messages.

  • DMRSTypeAPosition (str) – Defines dmrs-TypeA-Position information in MIB. It is used to indicate position of (first) DL DM-RS. \(\in \{\text{"pos2", "pos3"}\}\)

  • controlResourceSet0 ((N,), int) – Defines common ControlResourceSet (CORESET). It is one of the most crucial information for UE to decode the SIB1.

  • searchSpace0 ((N,), int) – Defines searchSpace0 in MIB. It is one of the most crucial information for UE to decode the SIB1.

  • cellBarred (int) – Defines cellBarred in MIB \(\in \{0, 1\}\). This field indicates whether or not UEs in the cell are allowed to access the cell; ‘barred’ indicates, the UEs are not allowed to access the cell.

  • intraFrequencyReselection (int) – Defines intraFrequencyReselection in MIB \(\in \{0, 1\}\). This field controls cell selection/reselection to intra-frequency cells when the highest ranked cell is barred (as indicated by cellBarred) or treated as barred by the UE.

  • systemFrameNumber (int) – Defines system frame number \(\in \{0, 1, \dots, 1023\}\) requires 10 bits for representation. The 6 MSB bits of the 10-bit SFN are carried by MIB-IE from higher layers and the 4 LSB bits of the SFN are conveyed in the PBCH transport block as part of channel coding (i.e. outside the MIB encoding).

  • ssbSubCarrierOffset ((N,), int) – Defines \(\text{k}_{SSB}\) indicates the frequency domain offset between SSB and the overall resource block grid in number of subcarriers. For FR1, it takes 24 values \(\in \{0, 1, \dots, 23\}\) and for FR2 it takes 12 values \(\in \{0, 1, \dots, 11\}\). This field may indicate that this cell does not provide SIB1 and that there is hence no common CORESET. In this case, the field pdcch-ConfigSIB1 may indicate the frequency positions where the UE may (not) find a SS/PBCH with a control resource set and search space for SIB1

  • hrfBit (int) – Defines the half frame bit \(\in \{0, 1\}\). This bit is cleared (set to 0) if SSB is broadcasted in the first half-frame or set to 1 otherwise. This information is combined with SSB index for frame synchronization.

  • ssbIndex ((N,), int) – Defines the index of the SSB within SSB burst set \(\in \{0, 1, \dots, \text{L}_\text{max}-1\}\).

  • cellID (int) – Defines the cell-ID \(\in \{0, 1, \dots, 1007\}\).

  • nssbCandidatesInHrf (int) – Defines the maximum number of candidate SSBs (\(\text{L}_\text{max}\)) within an SS burst set. The values of this parameter depends upon the carrier frequency.

Important

The controlResourceSet0 and searchSpace0 is the most important information the UE should know in order for it to monitor for scheduling (PDCCH) of SIB1.

Important

The size of controlResourceSet0, searchSpace0, ssbIndex and ssbSubCarrierOffset must be consistent.

Input:

No input required.

Output:

[N, 32], np.complex64

Raises:
  • ValueError – [Error]: CORESET-0 should either be scalar or array with size 1 oo size matching with searchSpace0, ssbIndex and ssbSubCarrierOffset!

  • ValueError – [Error]: searchSpace0 should either be scalar or array with size 1 oo size matching with CORESET-0, ssbIndex and ssbSubCarrierOffset!

  • ValueError – [Error]: ssbSubCarrierOffset should either be scalar or array with size 1 oo size matching with CORESET-0, searchSpace0 and ssbIndex!

  • ValueError – [Error]: ssbIndex should either be scalar or array with size 1 oo size matching with CORESET-0, searchSpace0 and ssbSubCarrierOffset!

  • ValueError – [Error]: carrierFreq must be integer or Float type!

  • Exception – [Error]: Carrier frequency is not supported!n Carrier frequency must be within 0.5GHz to 52.6 GHz!

  • ValueError – [Error]: Choice Bit must be integer or Float type or boolean!

  • ValueError – [Error]: Choice Bit should take only 0 ot 1 value!

  • ValueError – [Error]: controlResourceSet0 must be integer or int array!

  • ValueError – [Error]: controlResourceSet0 should take only between 0 to 15 value!

  • ValueError – [Error]: controlResourceSet0 should take only between 0 to 15 value!

  • ValueError – [Error]: searchSpace0 must be integer!

  • ValueError – [Error]: searchSpace0 should take only between 0 to 15 value!

  • ValueError – [Error]: searchSpace0 should take only between 0 to 15 value!

  • ValueError – [Error]: cellBarred flag must be String type!

  • ValueError – [Error]: cellBarred take either a value “”barred”” or “”notBarred””!

  • ValueError – [Error]: intraFrequencyReselection flag must be String type!

  • ValueError – [Error]: intraFrequencyReselection take either a value “”allowed”” or “”notAllowed””!

  • ValueError – [Error]: hrfBit must be integer or Float type or boolean!

  • ValueError – [Error]: hrfBit should take only 0 ot 1 value!

  • ValueError – [Error]: systemFrameNumber must be integer or Float type!

  • ValueError – [Error]: systemFrameNumber should take value between 0 and 1023!

  • ValueError – [Error]: ssbIndex must be integer or integer array!

  • ValueError – [Error]: ssbIndex should take only between 0 to “+str(self.nssbCandidatesInHrf)+”value!

  • ValueError – [Error]: ssbIndex should take only between 0 to “+str(self.nssbCandidatesInHrf)+”value!

  • ValueError – [Error]: dmrsTypeAPosition must be string type!

  • ValueError – [Error]: dmrsTypeAPosition take either a value “”typeA”” or “”typeB””!

  • ValueError – [Error]: subCarrierSpacingCommon must be integer or Float type!

  • ValueError – [Error]: subCarrierSpacingCommon must be 15kHz or 30kHz for Frequency range-1!

  • ValueError – [Error]: subCarrierSpacingCommon must be 120kHz or 240kHz for Frequency range-2!

  • ValueError – [Error]: Carrier frequency must be integer or Float type!

  • ValueError – [Error]: Carrier frequency must be in the range 0.5GHz to 100GHz!

  • ValueError – [Error]: The number of SSBs must be integer or Float type!

  • ValueError – [Error]: The number of SSBs in a HF must be positive!

  • ValueError – [Error]: For carrier frequency range-1 [<3GHz], [3GHz-6GHz], [>6GHz], the number of Beams must be less than 4, 8, 64 respectively!

  • ValueError – [Error]: The ssbSubCarrierOffset must be integer or int array!

  • ValueError – [Error]: The ssbSubCarrierOffset must be positive!

  • ValueError – [Error]: For carrier frequency range-1, 2, the ssbSubCarrierOffset must be <= to 22 and 11 respectively!

  • ValueError – [Error]: The ssbSubCarrierOffset must be positive!

  • ValueError – [Error]: For carrier frequency range-1, 2, the ssbSubCarrierOffset must be <= to 22 and 11 respectively!

  • Exception – [Error]: Currently not supporting carrier frequencies above 52.6GHz

property carrierFreq

Defines the carrier frequency considered for SSB transmission

property cellBarred

Defines the cellBarred parameter carried by PBCH payload

property choiceBit

Defines the choice bit carried by PBCH

property controlResourceSet0

Defines the control resource set-0 parameter carried by PBCH

displayParameters(index)[source]

Displays all the MIB Parameters.

Parameters:

index (int) – Defines the index (if multiple MIBs are to be generated) of the MIB whose parameters are to be generated.

property dmrsTypeAPosition

Defines dmrsTypeAPosition parameter carried by PBCH payload

property hrfBit

Defines the half frame bit parameter carried by PBCH payload

property intraFrequencyReselection

Defines the intraFrequencyReselection parameter carried by PBCH payload

property nssbCandidatesInHrf

Defines the maximum number of candidate SSBs ( \(\text{L}_\text{max}\) ) within an SS burst set

property searchSpace0

Defines the search space-0 parameter carried by PBCH

property ssbIndex

Defines the SSB Index value carried by PBCH payload

property ssbSubCarrierOffset

Defines \(\text{k}_\text{SSB}\) indicates the frequency domain offset between SSB and the overall resource block grid in number of subcarriers.

property subCarrierSpacingCommon

Defines subCarrierSpacingCommon parameter carried by PBCH payload

property systemFrameNumber

Defines the system frame number carried by PBCH

MIB Extraction

The details about the input-output interface of the MIB extraction is provided below.

class toolkit5G.PayloadGeneration.MIBExtraction(carrierFreq)[source]

Extracts the PBCH parameters (MIB, additional bits and choice bit) from the PBCH payload. It extracts

Parameters:
  • carrierFreq (number) – Defines the carrier frequency considered for simulation \(\in [0.5, 52.6]\) GHz.

  • nssbCandidatesInHrf (int) – Defines the maximum number of candidate SSBs (\(\text{L}_\text{max}\).) within an SS burst set depends upon the carrier frequency.

Input:

payLoadSeq ((N, 32) int) – MIB payload sequences

Output:

None

Raises:
  • ValueError – [Error]: CORESET-0 should either be scalar or array with size 1 oo size matching with searchSpace0, ssbIndex and ssbSubCarrierOffset!

  • ValueError – [Error]: searchSpace0 should either be scalar or array with size 1 oo size matching with CORESET-0, ssbIndex and ssbSubCarrierOffset!

  • ValueError – [Error]: ssbSubCarrierOffset should either be scalar or array with size 1 oo size matching with CORESET-0, searchSpace0 and ssbIndex!

  • ValueError – [Error]: ssbIndex should either be scalar or array with size 1 oo size matching with CORESET-0, searchSpace0 and ssbSubCarrierOffset!

  • ValueError – [Error]: carrierFreq must be integer or Float type!

  • Exception – [Error]: Carrier frequency is not supported!n Carrier frequency must be within 0.5GHz to 52.6 GHz!

  • ValueError – [Error]: Choice Bit must be integer or Float type or boolean!

  • ValueError – [Error]: Choice Bit should take only 0 ot 1 value!

  • ValueError – [Error]: controlResourceSet0 must be integer or int array!

  • ValueError – [Error]: controlResourceSet0 should take only between 0 to 15 value!

  • ValueError – [Error]: controlResourceSet0 should take only between 0 to 15 value!

  • ValueError – [Error]: searchSpace0 must be integer!

  • ValueError – [Error]: searchSpace0 should take only between 0 to 15 value!

  • ValueError – [Error]: searchSpace0 should take only between 0 to 15 value!

  • ValueError – [Error]: cellBarred flag must be String type!

  • ValueError – [Error]: cellBarred take either a value “”barred”” or “”notBarred””!

  • ValueError – [Error]: intraFrequencyReselection flag must be String type!

  • ValueError – [Error]: intraFrequencyReselection take either a value “”allowed”” or “”notAllowed””!

  • ValueError – [Error]: hrfBit must be integer or Float type or boolean!

  • ValueError – [Error]: hrfBit should take only 0 ot 1 value!

  • ValueError – [Error]: systemFrameNumber must be integer or Float type!

  • ValueError – [Error]: systemFrameNumber should take value between 0 and 1023!

  • ValueError – [Error]: ssbIndex must be integer or integer array!

  • ValueError – [Error]: ssbIndex should take only between 0 to “+str(self.nssbCandidatesInHrf)+”value!

  • ValueError – [Error]: ssbIndex should take only between 0 to “+str(self.nssbCandidatesInHrf)+”value!

  • ValueError – [Error]: dmrsTypeAPosition must be string type!

  • ValueError – [Error]: dmrsTypeAPosition take either a value “”typeA”” or “”typeB””!

  • ValueError – [Error]: subCarrierSpacingCommon must be integer or Float type!

  • ValueError – [Error]: subCarrierSpacingCommon must be 15kHz or 30kHz for Frequency range-1!

  • ValueError – [Error]: subCarrierSpacingCommon must be 120kHz or 240kHz for Frequency range-2!

  • ValueError – [Error]: Carrier frequency must be integer or Float type!

  • ValueError – [Error]: Carrier frequency must be in the range 0.5GHz to 100GHz!

  • ValueError – [Error]: The number of SSBs must be integer or Float type!

  • ValueError – [Error]: The number of SSBs in a HF must be positive!

  • ValueError – [Error]: For carrier frequency range-1 [<3GHz], [3GHz-6GHz], [>6GHz], the number of Beams must be less than 4, 8, 64 respectively!

  • ValueError – [Error]: The ssbSubCarrierOffset must be integer or int array!

  • ValueError – [Error]: The ssbSubCarrierOffset must be positive!

  • ValueError – [Error]: For carrier frequency range-1, 2, the ssbSubCarrierOffset must be <= to 22 and 11 respectively!

  • ValueError – [Error]: The ssbSubCarrierOffset must be positive!

  • ValueError – [Error]: For carrier frequency range-1, 2, the ssbSubCarrierOffset must be <= to 22 and 11 respectively!

  • Exception – [Error]: Currently not supporting carrier frequencies above 52.6GHz

property carrierFreq

Defines the carrier frequency considered for SSB transmission

property cellBarred

Defines the cellBarred parameter carried by PBCH payload

property choiceBit

Defines the choice bit carried by PBCH

property controlResourceSet0

Defines the control resource set-0 parameter carried by PBCH

displayParameters(index)[source]

Displays all the MIB Parameters.

Parameters:

index (int) – Defines the index (if multiple MIBs are to be generated) of the MIB whose parameters are to be generated.

property dmrsTypeAPosition

Defines dmrsTypeAPosition parameter carried by PBCH payload

property hrfBit

Defines the half frame bit parameter carried by PBCH payload

property intraFrequencyReselection

Defines the intraFrequencyReselection parameter carried by PBCH payload

property nssbCandidatesInHrf

Defines the maximum number of candidate SSBs ( \(\text{L}_\text{max}\) ) within an SS burst set

property searchSpace0

Defines the search space-0 parameter carried by PBCH

property ssbIndex

Defines the SSB Index value carried by PBCH payload

property ssbSubCarrierOffset

Defines \(\text{k}_\text{SSB}\) indicates the frequency domain offset between SSB and the overall resource block grid in number of subcarriers.

property subCarrierSpacingCommon

Defines subCarrierSpacingCommon parameter carried by PBCH payload

property systemFrameNumber

Defines the system frame number carried by PBCH

References:
[3GPPTS38211_MIB]

3GPP TS 38.211 “Physical channels and modulation (Release 17)”, V17.1.0 (2022-03).