5G/NR - SS Block

 

 

 

SS Block(SSB) in a Nutshell

SSB is the first thing a UE ever decodes from a cell, so almost everything else on this page depends on it. The table below is the short answer to what it is and how often it arrives. The sections after it take the same items one at a time.

 

  • What is it for ?  Carries specific signals for establishing Dowlink Synchronization
  • Components of SSB : PSS(Prinmary Sync Signal),SSS(Secondary Sync Signal) and PBCH
  • Position of SSB in Frequency Domain : Variable (Configurable) meaning 'No need to be at the center frequency'.
  • Period of SSB transmission : ms5, ms10, ms20, ms40, ms80, ms160 but ms20 (20ms interval) is most common
  • Max number of consecutive SSB : 4 or 8 or 64 (4 or 8 is for FR1, 64 for FR2)
  • Main purpose of consecutive SSBs : Beam Management (i.e, Transmitting each SSB in different beam)
  • RRC Parameters for SSB sequence and SSB Interval : ssb-PositionsInBurst, ssb-periodicityServingCell

SS Block in Detail

SS Block(SSB) stands for Synchronization Signal Block and in reality it refers to Synchronization/PBCH block because Synchnronization signal and PBCH channel are packed as a single block that always moves together. The components of this block are as follows :

  • Synchronization Signal : PSS (Primary Synchronization Signal), SSS (Secondary Synchronization Signal)
  • PBCH : PBCH DMRS and PBCH (Data)

Packing the four together is the point of the design. A UE that has just found PSS and SSS already knows where the block starts, so it knows where PBCH DMRS and PBCH sit without being told anything. That is why the block is defined as one unit rather than as four signals that happen to be near each other.

The block occupies four OFDM symbols and a fixed number of subcarriers, and it always carries the same four things in the same relative places. Everything configurable about SSB is therefore about where and when the block is placed, not about what is inside it.

  • The block is the unit : PSS, SSS, PBCH DMRS and PBCH are transmitted together and are found together.
  • The inside is fixed : the four components always sit in the same relative positions within the block.
  • The outside is configurable : the frequency position, the periodicity and which blocks in a burst are actually sent are all set by RRC.

This is just two major components of SS Block and it carries a lot of details. Followings are the topics that will be explained in this page.

LTE SS Block vs NR SS Block

Following illustrations shows some high level differences between LTE SS Block and NR SS Block (In LTE, we didn't use the term 'SS Block', but LTE also use PSS/SSS and PBCH which can be called as SS Block).

Major difference between LTE SS/PBCH and NR SSH lies in the periodicity of each channel. In LTE, SS(PSS,SSS) are transmitted in every 5ms and PBCH is tranmitted in every 10ms. That is, the periodicity of SS and PBCH are different in LTE. However in NR, SS and PBCH are transmitted all at the same time, which means their perodicity is all same. Typical periodicity of SSB(SS+PBCH) in NR is 20ms, but the peridicity can vary in terms of 3gpp specification.

Eight 10 ms frames drawn twice, LTE above and NR below. LTE carries the sync signal and PBCH at a fixed position in every frame, and NR carries one SSB burst every 20 ms at a position that varies

Time Domain transmission pattern of SS Block in NR is more complicated than LTE SS Block (Actually LTE has only one pattern of SSB Transmission in Time Domain as shown in LTE Frame Structure. In LTE, the subframe number and OFDM symbol number within the subframe is always same in any cases). In NR, there are many different cases of Time Domain pattern of SSB Transmission as illustrated below.

The NR 5 ms SSB window expanded into eight rows, Case A at 15 kHz, Case B and Case C at 30 kHz each split by frequency range, Case D at 120 kHz and Case E at 240 kHz

NOTE 1 : I want to introduce a good note for this type of design quoted from section II of this paper as follows :

    The transmission of SS/PBCHs within an SS/PBCH set is confined to a 5 ms window.The maximum number of SS/PBCHs within an SS/PBCH set (i.e., within 5ms period) is specified to be4 for frequency ranges up to 3 GHz, 8 for 3 to 6 GHz, or 64 for 6 to 52.6 GHzin order to achieve a trade-off between coverage and resource overhead. Furthermore, the number of actual transmitted SS/PBCHs is configurable and could be less than the maximum number. This option is particularly useful towards reducing processing burden at the gNB, especially in the case of requiring transmission of multiple SS/PBCHs on multiple carriers within a slot

SSB Transmission Pattern(SSB Bitmap)

The illustration of SSB transmission shown above is the case where all the SSB is transmitted, but it is not required to transmit all the SSB. Depending on network requirement, it can selectively transmit only a few SSB and inform UE of which SSBs are transmitted and which are not transmitted. This transmission pattern is informed via a RRC IE(Information Element) called ssb-PositionInBurst. The structure of ssb-PositionInBurst is a little different depending on which message it is used.. I don't know why they designed the same thing in different way though.

This is used for SA(Standalone) and configured in SIB1 message.

Following is based on 38.331 v19.3.0 (Release 19)

ServingCellConfigCommonSIB ::=      SEQUENCE {
    ...
    ssb-PositionsInBurst                SEQUENCE {
        inOneGroup                          BIT STRING (SIZE (8)),
        groupPresence                       BIT STRING (SIZE (8))                                   OPTIONAL  -- Cond FR2-Only
    },
    ssb-PeriodicityServingCell          ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160},
    ...
}

NOTE : In FR1, inOneGroup can specify all the possible ssb bitmap. In FR2, inOneGroup only cannot specify all the possible ssb bitmap because FR2 SSB bitmap is max 64 bits, but inOneGroup can specify only 8 bits.  The groupPresence IE is there to handle this kind of situation. The 64 bitmap is grouped into 8 group which comprised of 8 bits. Each of the group bitmap is specified by groupPresense. Combining the two IE inOneGroup and groupPrsense can specify any of 64 bitmap.

 

This is used for NSA(Non-Standalone) and configured in RRC Connection Reconfiguration in LTE anchor.

Following is based on 38.331 v19.3.0 (Release 19)

ServingCellConfigCommon ::=         SEQUENCE {
    ...
    ssb-PositionsInBurst                CHOICE {
        shortBitmap                         BIT STRING (SIZE (4)),
        mediumBitmap                        BIT STRING (SIZE (8)),
        longBitmap                          BIT STRING (SIZE (64))
    }                                                                                                       OPTIONAL, -- Cond AbsFreqSSB
    ssb-periodicityServingCell          ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 }   OPTIONAL, -- Need S
    ...
}

Even though the structure of ssb-PositionInBurst is a little bit different depending cases, the way of interpretation is pretty similar. The first bit(the left most bit) indicates the first SSB, the second bit(the second from the left most bit) indicates the second SSB etc. It would be much easier if you go through some examples.

Example 1 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is sub 3Ghz Case A or Case B since it defines only 4 bits (4 SSBs) and the NR Cell transmit every SSBs because every bit is set to be '1'.

 

    ssb-PositionsInBurst CHOICE {

        shortBitmap                  = 1111

    },

Example 2 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is sub 3Ghz Case A or Case B since it defines only 4 bits (4 SSBs) and the NR Cell transmit the first SSB (SSB#0) and the third SSB(SSB#2).

 

    ssb-PositionsInBurst CHOICE {

        shortBitmap                  = 1010

    },

Example 3 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is Case A or Case B between 3Ghz and 6Ghz since it defines 8 bits (8 SSBs) and every SSBs are transmitted because all the bits are set to be 1.

 

    ssb-PositionsInBurst CHOICE {

        mediumBitmap                  = 11111111

    },

Example 4 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is Case A or Case B between 3Ghz and 6Ghz since it defines  8 bits (8 SSBs) and SSB#0,#2,#4,#6 are transmitted.

 

    ssb-PositionsInBurst CHOICE {

        mediumBitmap                  = 10101010

    },

Example 5 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is Case A or Case B between 3Ghz and 6Ghz since it defines 8 bits (8 SSBs) and SSB#0,#1,#2,#3 are transmitted.

    ssb-PositionsInBurst CHOICE {

        mediumBitmap                  = 11110000

    },

Example 6 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is Case D or Case E in mmWave(over 6Ghz) since it defines  64 bits (64 SSBs) and every SSBs are transmitted because all the bits are set to be 1.

    ssb-PositionsInBurst CHOICE {

        longBitmap                   = 11111111 11111111 11111111 11111111

                                        11111111 11111111 11111111 11111111  

    },

Example 7 >

If the bitmap is set as follows in RRC Connection Reconfiguration of LTE Anchor to add an NR cell is set as below, it means the SSB pattern of this NR cell is Case D or Case E in mmWave(over 6Ghz) since it defines  64 bits (64 SSBs) and SSB#0,#1,#2,#3,#4,#5,#6,#7 are transmitted.

 

    ssb-PositionsInBurst CHOICE {

        longBitmap                   = 11111111 00000000 00000000 00000000

                                        00000000 00000000 00000000 00000000  

    },

Details on NR SS Block

Even though it is a small package sitting in a radio frame, it has many different components in it and the way it works is pretty complicated. So it would be too much to describe all the details of SS Block in a single page. In my notes, the detailed description of the SS Block is scattered among several different pages. This page is written in order to consolidate all of those separate pagesand help you to get a big picture on SS Block.  

  • How each of SS Block components (PSS, SSS, PBCH DMRS, PBCH) are allocated in SS Block Resource Grid ? - See here
  • Exactly when/where the SS Block is transmitted in a radio frame ? - See here.
  • How PSS(Primary Synchronization Signal) is generated and what kind of parameters are involved ? - See here.
  • How SSS(Secondary Synchronization Signal) is generated and what kind of parameters are involved ? - See here.
  • How PBCH DMRS signal is generated and what kind of information can be detected from this signal ? - See here.
  • How PBCH(MIB Data) is processed from higher layer to physical layer ? - See here.

The list above is best read in the order it is given. The first two items place the block in the grid and in time, and the last four take one component of the block each. A reader who only needs to know when a UE can camp can stop after the second item.

  • The first two items are about placement : where the block sits in the resource grid, and when it is transmitted in the radio frame.
  • The last four are about contents : PSS, SSS, PBCH DMRS and PBCH each get their own page.

How SSB Subcarrier Spacing is determined ?

The subcarrier spacing of SSB is not always signalled, and that is the difficulty. A UE searching a carrier for the first time has no RRC configuration yet, so it has to know which spacings are even possible before it can look for anything. The answer depends on the band and on the case the band belongs to.

The general tule for SSB SCS determination is specified in 38.213 - 4.1 as follows.

    if the SCS of SS/PBCH blocks is not provided by ssbSubcarrierSpacing, the applicable cases for a cell depend on a respective frequency band as specified in this table for FR1 and this table for FR2. In case of NSA, SSB subcarrierSpacing tend to be explicitely specified by RRC(i.e, ssbSubcarrierSpacing) but in SA case I think UE need to figure out from the combination of this table and blind search (i.e, try all SCS that are allowed in a specific band)

The cases themselves are the useful part of that clause, and there are five of them. 38.213 names each case with the subcarrier spacing it uses, and the case diagram in the LTE SS Block vs NR SS Block section draws the symbol positions each one produces.

Case

SSB subcarrier spacing

Carrier frequency

Case A

15 kHz

f <= 3 GHz, and 3 < f <= 6 GHz

Case B

30 kHz

f <= 3 GHz, and 3 < f <= 6 GHz

Case C

30 kHz

f <= 3 GHz, and 3 < f <= 6 GHz

Case D

120 kHz

6 GHz < f

Case E

240 kHz

6 GHz < f

Two spacings do most of the work. Below 6 GHz only 15 kHz and 30 kHz appear, and three of the five cases live there. Above 6 GHz the spacing jumps to 120 or 240 kHz, which is why the same 5 ms window holds far more blocks in FR2 than in FR1.

  • Five cases, three spacings : 15 kHz for Case A, 30 kHz for Case B and Case C, and 120 or 240 kHz for Case D and Case E.
  • The frequency range picks the case : Cases A to C are sub 6 GHz and Cases D and E are above it.
  • Standalone may have to search : without ssbSubcarrierSpacing the UE falls back to what the band allows, and tries each of them.

How SSB is indexed and get informed to UE ?

Each SSBlock within a SSBlot Set (ie, all of the SSblocks within the 5 ms period of the SSB transmission) is assigned with a unique numbers starting from 0 and increasing by 1. This number reset to 0 in the next SS Block Set (i.e, next 5 ms span after SSB transmission cycle(e.g, 20 ms). This unique number (i.e, SSBlock Index) is informed to UE via two different within SSBlock.

38.213 - 4.1 states as follows :

    The candidate SS/PBCH blocks in a half frame are indexed in an ascending order in time from 0 to  L-1. A UE shall determine the 2 LSB bits, for L = 4, or the 3 LSB bits, for L > 4 , of a SS/PBCH block index per half frame from a one-to-one mapping with an index of the DM-RS sequence transmitted in the PBCH. For L = 64  , the UE shall determine the 3 MSB bits of the SS/PBCH block index per half frame by PBCH payload bits

The split between the two carriers is not arbitrary. Below 6 GHz the burst holds at most 8 blocks, so 3 bits are enough and the DMRS alone can carry the index. In FR2 the burst holds up to 64, which needs 6 bits, and the extra 3 have to travel in the PBCH payload because DMRS cannot hold them.

The consequence matters for the next section. A UE that has decoded only PBCH DMRS already knows the index in FR1, and in FR2 it has to decode PBCH as well before it knows which block it found.

  • The index identifies the block within a half frame : numbering starts at 0 and runs to L-1 in time order.
  • DMRS carries the low bits : the 2 LSB come from PBCH DMRS, and for L = 64 the 3 MSB come from the PBCH payload.
  • FR1 needs no PBCH decode for the index : with 8 blocks or fewer the DMRS is enough on its own.
  • The index is the beam identity : each index maps to one beam, which is what the next section is built on.

Beam Sweeping by SSB

This part is inspired by Dan Serbescu who has been doing a lot of proof reading for my notes and makes well use of the notes. He is posting many small tips on Linked in with revised figures from my notes. In many cases, I liked his revised figures(illustration) better than my original drawing.

This is about how beam sweeping is implemented by changing beam direction for each SSB transmission. I think following illustration would be intuitive and self-sufficient. You may need much explanation on this. First take a look at this illustration and try to make your own story out of it.

NOTE : For the simplicity of the drawing, I used SSB for sub 6 Ghz even though Beamforming /Sweeping would not be such a critical functionality as in mmWave.

Eight SSBs in a 5 ms window, each mapped to a beam numbered 0 to 7 in time, radiated in different directions in space, with signal strength bar charts showing UE1 peaking on an early beam and UE2 on a late one

Let me make my own story out of this illustratioin (I hope you already had your version of stories). This is the mechanism by which UE measure and identifies the best beam for a UE.

    i) Multiple SSBs are being transmitted with a certain interval.

    ii) Each SSB can be identified by a unique number called SSB index

    iii) Each SSB is transmitted via a specific beam radiated in a certain direction

    iv) Multiple UEs are located at various places around a gNB.

    v) UE measures the signal strength of each SSB it detected for a certain period (a period of one SSB Set).

    vi) From the measurement result, UE can identifies the SSB index with the strongest signal strength. This SSB with the strongest signal strength is the best beam for the UE 1. (For example, Beam #1 is the best beam(the selected beam for UE1 and Beam#7 is the best beam for the UE 2)

NOTE : How many different beams are being transmitted is determined by how many SSBs are being transmitted within a SSB Burst Set(a set of SSBs being transmitted in 5 ms window of SSB transmission). The parameter defining the maximum number of SSBs within a SSB set is called Lmax(See here). In sub 6 Ghz, Lmax is 4 or 8 and in mmWave Lmax is 64. In other words, in sub6 Ghz, max 4 or 8 different beams can be used and they sweep in one dimension (horizontal only or vertical only). in mmWave max 64 different beams can be used and they can sweep in two dimensions (horizontal and vertical directions).

RRC Parameters Related to SS/PBCH Block

The details of SS/PBCH block is informed to UE via various RRC parameters as listed below. It will take pretty much time and effort to fully understand the correlation between the low layer parameters listed above and RRC parameters listed below.

38.331 v19.3.0 (Release 19)

Following is based on 38.331 v19.3.0 (Release 19)

MIB ::=                             SEQUENCE {
    systemFrameNumber                   BIT STRING (SIZE (6)),
    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120},
    ssb-SubcarrierOffset                INTEGER (0..15),
    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},
    pdcch-ConfigSIB1                    PDCCH-ConfigSIB1,
    cellBarred                          ENUMERATED {barred, notBarred},
    intraFreqReselection                ENUMERATED {allowed, notAllowed},
    spare                               BIT STRING (SIZE (1))
}

 

Following is based on 38.331 v19.3.0 (Release 19)

SIB1 ::=        SEQUENCE {
    cellSelectionInfo                   SEQUENCE {
        q-RxLevMin                          Q-RxLevMin,
        q-RxLevMinOffset                    INTEGER (1..8)                                              OPTIONAL,   -- Need S
        q-RxLevMinSUL                       Q-RxLevMin                                                  OPTIONAL,   -- Need R
        q-QualMin                           Q-QualMin                                                   OPTIONAL,   -- Need S
        q-QualMinOffset                     INTEGER (1..8)                                              OPTIONAL    -- Need S
    }                                                                                                   OPTIONAL,   -- Cond Standalone
    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,   -- Need R
    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    -- Need S
    }                                                                                                   OPTIONAL,   -- Need R
    useFullResumeID                     ENUMERATED {true}                                               OPTIONAL,   -- Need R
    lateNonCriticalExtension            OCTET STRING                                                    OPTIONAL,
    nonCriticalExtension                SIB1-v1610-IEs                                                  OPTIONAL
}

 

Following is based on 38.331 v19.3.0 (Release 19)

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

 

Following is based on 38.331 v19.3.0 (Release 19)

ServingCellConfigCommonSIB ::=      SEQUENCE {
    downlinkConfigCommon                DownlinkConfigCommonSIB,
    uplinkConfigCommon                  UplinkConfigCommonSIB                                       OPTIONAL, -- Need R
    supplementaryUplink                 UplinkConfigCommonSIB                                       OPTIONAL, -- Need R
    n-TimingAdvanceOffset               ENUMERATED { n0, n25600, n39936 }                           OPTIONAL, -- Need S
    ssb-PositionsInBurst                SEQUENCE {
        inOneGroup                          BIT STRING (SIZE (8)),
        groupPresence                       BIT STRING (SIZE (8))                                   OPTIONAL  -- Cond FR2-Only
    },
    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),
    ...
    -- the r16 and r17 extension groups are not SSB position related and are not repeated here
}

 

Following is based on 38.331 v19.3.0 (Release 19)

ServingCellConfigCommon ::=         SEQUENCE {
    physCellId                          PhysCellId                                                          OPTIONAL,   -- Cond HOAndServCellAdd,
    downlinkConfigCommon                DownlinkConfigCommon                                                OPTIONAL,   -- Cond HOAndServCellAdd
    uplinkConfigCommon                  UplinkConfigCommon                                                  OPTIONAL,   -- Need M
    supplementaryUplinkConfig           UplinkConfigCommon                                                  OPTIONAL,   -- Need S
    n-TimingAdvanceOffset               ENUMERATED { n0, n25600, n39936 }                                   OPTIONAL,   -- Need S
    ssb-PositionsInBurst                CHOICE {
        shortBitmap                         BIT STRING (SIZE (4)),
        mediumBitmap                        BIT STRING (SIZE (8)),
        longBitmap                          BIT STRING (SIZE (64))
    }                                                                                                       OPTIONAL, -- Cond AbsFreqSSB
    ssb-periodicityServingCell          ENUMERATED { ms5, ms10, ms20, ms40, ms80, ms160, spare2, spare1 }   OPTIONAL, -- Need S
    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},
    lte-CRS-ToMatchAround               SetupRelease { RateMatchPatternLTE-CRS }                            OPTIONAL, -- Need M
    rateMatchPatternToAddModList        SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPattern   OPTIONAL, -- Need N
    rateMatchPatternToReleaseList       SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF RateMatchPatternId OPTIONAL, -- Need N
    ssbSubcarrierSpacing                SubcarrierSpacing                                                   OPTIONAL, -- Cond HOAndServCellWithSSB
    tdd-UL-DL-ConfigurationCommon       TDD-UL-DL-ConfigCommon                                              OPTIONAL, -- Cond TDD
    ss-PBCH-BlockPower                  INTEGER (-60..50),
    ...
    -- the r16, r17 and later extension groups are not SSB position related and are not repeated here
}

 

ssb-PositionsInBurst : Indicates the time domain positions of the transmitted SS-blocks in an SS-burst. The first/ leftmost bit corresponds to SS/PBCH block index 0, the second bit corresponds to SS/PBCH block index 1, and so on. Value 0 in the bitmap indicates that the corresponding SS/PBCH block is not transmitted while value 1 indicates that the corresponding SS/PBCH block is transmitted. Corresponds to L1 parameter 'SSB-Transmitted' (see 38.213 - 4.1)

inOneGroup : the interpretation of this field differs depending on carrier frequency(f).

  • When f <= 3Ghz, only the 4 leftmost bits are valid; the UE ignores the 4 rightmost bits.
  • When 3 Ghz < f <= 6Ghz, all 8 bits are valid. The first/ leftmost bit corresponds to SS/PBCH block index 0, the second bit corresponds to SS/PBCH block index 1, and so on.
  • When 6 Ghz < f, all 8 bit are valid; The first/ leftmost bit corresponds to the first SS/PBCH block index in the group (i.e., to SSB index 0, 8, and so one); the second bit corresponds to the second SS/PBCH block index in the group (i.e., to SSB index 1, 9, and so one), and so on.  Value 0 in the bitmap indicates that the corresponding SS/PBCH block is not transmitted while value 1 indicates that the corresponding SS/PBCH block is transmitted.

groupPresence : This field is present when the carrier frequency is above 6GHz. The first/leftmost bit corresponds to the SS/PBCH index 0-7, the second bit corresponds to SS/PBCH block 8-15, and so on. Value 0 in the bitmap indicates that the SSBs according to inOneGroup are not present. Value 1 indicates that the SS/PBCH blocks are transmitted in accordance with inOneGroup.

ssb-periodicityServingCell : he SSB periodicity in msec for the rate matching purpose. If the field is absent, the UE applies the value ms5

 

Following is based on 38.331 v19.3.0 (Release 19)

FrequencyInfoDL ::=                 SEQUENCE {
    absoluteFrequencySSB                ARFCN-ValueNR                                                   OPTIONAL,   -- Cond SpCellAdd
    frequencyBandList                   MultiFrequencyBandListNR,
    absoluteFrequencyPointA             ARFCN-ValueNR,
    scs-SpecificCarrierList             SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,
    ...,
    [[
    referenceCell-r18                   ServCellIndex                                                   OPTIONAL    -- Cond SSBlessSCell
    ]]
}

 

Following is based on 38.331 v19.3.0 (Release 19)

SCS-SpecificCarrier ::=             SEQUENCE {
    offsetToCarrier                     INTEGER (0..2199),
    subcarrierSpacing                   SubcarrierSpacing,
    carrierBandwidth                    INTEGER (1..maxNrofPhysicalResourceBlocks),
    ...,
    [[
    txDirectCurrentLocation         INTEGER (0..4095)                                       OPTIONAL            -- Need S
    ]],
    [[
    sbfd-Subband-Allocation-r19     SBFD-Subband-Allocation-r19                             OPTIONAL            -- Need R
    ]]
}

absoluteFrequencySSB : Frequency of the SSB to be used for this serving cell. The frequency provided in this field identifies the position of resource element RE=#0 (subcarrier #0) of resource block RB#10 of the SS block. The cell-defining SSB of an SpCell is always on the sync raster. Frequencies are considered to be on the sync raster if they are also identifiable with a GSCN value (see 38.101).   

ssb-SubcarrierOffset : The frequency domain offset between SSB and the overall resource block grid in number of subcarriers. Absence of the field indicates that no offset is applied (offset = 0). For FR2 only values up to 11 are applicable. Corresponds to L1 parameter kssb.

frequencyBandList : List of one or multiple frequency bands to which this carrier(s) belongs. Multiple values are only supported in system information but not when the FrequencyInfoDL is provided in dedicated signalling (HO or S(p)Cell addition).

absoluteFrequencyPointA : Absolute frequency position of the reference resource block (Common RB 0). Its lowest subcarrier is also known as Point A. Note that the lower edge of the actual carrier is not defined by this field but rather in the scs-SpecificCarrierList. Corresponds to L1 parameter 'offset-ref-low-scs-ref-PRB'

offsetToCarrier : Offset in frequency domain between Point A (lowest subcarrier of common RB 0) and the lowest usable subcarrier on this carrier in number of PRBs (using the subcarrierSpacing defined for this carrier). The maximum value corresponds to 275*8-1. It corresponds to L1 parameter 'offset-pointA-low-scs'

subcarrierSpacing : Subcarrier spacing of this carrier. It is used to convert the offsetToCarrier into an actual frequency. Only the values 15 or 30 kHz  (<6GHz), 60 or 120 kHz (>6GHz) are applicable. This corresponds to L1 parameter 'ref-scs'

k0 : Corresponds to L1 parameter k0 (38.211-5.3.1). n-6 corresponds to value -6, n0 corresponds to value 0 and n6 corresponds to value +6  

carrierBandwidth : Width of this carrier in number of PRBs (using the subcarrierSpacing defined for this carrier). It corresponds to L1 parameter 'BW'

Reference : YouTube

[1]  5G Explained: Synchronization Signal Blocks in 5G NR