MIB and SSB Parameters
Master information block (MIB) abd synchronization signal block (SSB) parameters are required to implement the physical broadcast channel (PBCH). These are some of the most complex parameters to configure and are required for PBCH implementation. This module provides an API to generate these parameters as simply as possible.
Important
The user can pass the bare minimum parameters which are relevant for their simulations. The module will generate the remaining parameters automatically. The parameters will be selected randomly from the set of possible legit values.
Generate the Valid Configurations for SSB/PBCH
carrierFrequency = 1*10**9
lamda = 3e8/carrierFrequency;
nSCSOffset = 1
ssbParameters = GenerateValidSSBParameters(carrierFrequency, nSCSOffset)
isPairedBand = ssbParameters.isPairedBand
nSCSOffset = ssbParameters.nSCSOffset
choiceBit = ssbParameters.choiceBit
ssbType = ssbParameters.ssbType
subCarrierSpacingCommon = ssbParameters.subCarrierSpacingCommon
ssbSubCarrierOffset = ssbParameters.ssbSubCarrierOffset
nssbCandidatesInHrf = ssbParameters.nssbCandidatesInHrf
DMRSTypeAPosition = ssbParameters.DMRSTypeAPosition
ssbIndex = ssbParameters.ssbIndex
hrfBit = ssbParameters.hrfBit
systemFrameNumber = ssbParameters.systemFrameNumber
controlResourceSet0 = ssbParameters.controlResourceSet0
searchSpace0 = ssbParameters.searchSpace0
cellBarred = ssbParameters.cellBarred
intraFrequencyReselection = ssbParameters.intraFrequencyReselection
withSharedSpectrumChannelAccess = ssbParameters.withSharedSpectrumChannelAccess
The details about the input-output interface of the GenerateValidSSBParameters detailed below.
- class toolkit5G.Configurations.GenerateValidSSBParameters(carrierFreq, nSCSOffset, ssbType=None, intraFrequencyReselection=None, withSharedSpectrumChannelAccess=None, isPairedBand=None, choiceBit=None, subCarrierSpacingCommon=None, ssbSubCarrierOffset=None, nssbCandidatesInHrf=None, DMRSTypeAPosition=None, ssbIndex=None, hrfBit=None, systemFrameNumber=None, controlResourceSet0=None, searchSpace0=None, cellBarred=None)[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.
nSCSOffset (int) – Defines the number of subcarrier offsets to be generated.
ssbType (str) – Defines the SSB-type. It can a take a value from the set {“caseA”, “caseB”, “caseC”, “caseE”, “caseD”}.
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.
withSharedSpectrumChannelAccess (bool) – Defines whether shared spectrum channel access is allowed or not for the SSB.
isPairedBand (bool) – Defines whether paired band is allowed or not for the SSB.
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.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.
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.
DMRSTypeAPosition (str) – Defines dmrs-TypeA-Position information in MIB. It is used to indicate position of (first) DL DM-RS. \(\in \{\text{"pos2", "pos3"}\}\)
ssbIndex ((N,), int) – Defines the index of the SSB within SSB burst set \(\in \{0, 1, \dots, \text{L}_\text{max}-1\}\).
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.
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).
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.
- Input:
None
- Output:
None
- Attributes:
carrierFreq (number) – Defines the carrier frequency considered for simulation \(\in [0.5, 52.6]\) GHz.
nSCSOffset (int) – Defines the number of subcarrier offsets to be generated.
ssbType (str) – Defines the SSB-type. It can a take a value from the set {“caseA”, “caseB”, “caseC”, “caseE”, “caseD”}.
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.
withSharedSpectrumChannelAccess (bool) – Defines whether shared spectrum channel access is allowed or not for the SSB.
isPairedBand (bool) – Defines whether paired band is allowed or not for the SSB.
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.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.
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.
DMRSTypeAPosition (str) – Defines dmrs-TypeA-Position information in MIB. It is used to indicate position of (first) DL DM-RS. \(\in \{\text{"pos2", "pos3"}\}\)
ssbIndex ((N,), int) – Defines the index of the SSB within SSB burst set \(\in \{0, 1, \dots, \text{L}_\text{max}-1\}\).
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.
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).
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.
Important
The
controlResourceSet0
andsearchSpace0
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
andssbSubCarrierOffset
must be consistent.- Raises:
ValueError – [Error-GenerateValidSSBParameters]: ‘ssbType’ must be string from the set {‘caseA’, ‘caseB’, ‘caseC’, ‘caseE’, ‘caseD’}
Exception – [Error-GenerateValidSSBParameters]: ssb Type: ‘case-A’ is not configurable for FR2!
Exception – [Error-GenerateValidSSBParameters]: ssb Type: ‘case-B’ is not configurable for shared spectrum channel access!
Exception – [Error-GenerateValidSSBParameters]: ssb Type: ‘case-B’ is not configurable for FR2!
Exception – [Error-GenerateValidSSBParameters]: ssb Type: ‘case-D’ is not configurable for FR1!
Exception – [Error-GenerateValidSSBParameters]: ssb Type: ‘case-D’ is not configurable for FR1!
Exception – [Error-GenerateValidSSBParameters]: ssb Type: ‘case-D’ is not configurable for FR1!
Exception – [Error-GenerateValidSSBParameters]: Invalid choice of ssbType