SSB/PBCH Configurations
SSB Configurations generate the parameters for MIB, PBCH, SSB, PBCH-DMRS and carrier. This API details of the parameters generated are discussed in following section.
Note
The un-configured parameters are selected randomly from a valid set of possible values.
- class toolkit5G.Configurations.SSBConfiguration(carrierFreq, 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, numRBs=None, offsetInSubcarriers=None, offsetInRBs=None, ssbPositionInBurst=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.
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.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.
numRBs (int) – Defines the size of resource grid. The SSB will be loaded into this resource grid. This value is used to generate the legit subcarrier and RB offsets.
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.
offsetInRBs ((N,), int) – Defines the offset in units of resource blocks. Its the equavalent of OffsettoPointA.
ssbPositionInBurst ((nssbCandidatesInHrf,) NumPy Array of 0s and 1s.) – Defines the SSBs which are transmitted in the half frame. The SSBs whose bit map is set are loaded into the resource Grid. The remaining (whose bit map is 0) are ignored.
Note
The total offset between subcarrier-0 of the grid and subcarrier-0 of SSB is given by
ssbSubCarrierOffset
+ 12*``offsetInRBs``.- Input:
None
- Output:
None
- Attributes:
carrierFreq (number) – Defines the carrier frequency considered for simulation \(\in [0.5, 52.6]\) GHz.
numSSBs (int) – Defines the number of SSBs that will be transmitted. It equals the number of ones in the bit-map (ssbPositionInBurst).
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.
numRBs (int) – Defines the size of resource grid. The SSB will be loaded into this resource grid. This value is used to generate the legit subcarrier and RB offsets.
offsetInRBs ((N,), int) – Defines the offset in units of resource blocks. Its the equavalent of OffsettoPointA.
ssbPositionInBurst ((nssbCandidatesInHrf,) NumPy Array of 0s and 1s.) – Defines the SSBs which are transmitted in the half frame. The SSBs whose bit map is set are loaded into the resource Grid. The remaining (whose bit map is 0) are ignored.
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