5G/NR - SS Block                                Home : www.sharetechnote.com






SS Block


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)

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).




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.





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.




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




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.




    systemFrameNumber                   BIT STRING (SIZE (6)),

    subCarrierSpacingCommon             ENUMERATED {scs15or60, scs30or120},

    ssb-SubcarrierOffset                INTEGER (0..15),

    dmrs-TypeA-Position                 ENUMERATED {pos2, pos3},

    pdcch-ConfigSIB1                    INTEGER (0..255),

    cellBarred                          ENUMERATED {barred, notBarred},

    intraFreqReselection                ENUMERATED {allowed, notAllowed},

    spare                               BIT STRING (SIZE (1))





    frequencyOffsetSSB              ENUMERATED {khz-5, khz5}    OPTIONAL,   -- Need R

    ssb-PositionsInBurst            SEQUENCE {

        inOneGroup                  BIT STRING (SIZE (8)),

        groupPresence               BIT STRING (SIZE (8))    OPTIONAL -- Cond above6GHzOnly



    ssb-PeriodicityServingCell          ENUMERATED {ms5, ms10, ms20, ms40, ms80, ms160,

                                                    spare1, spare2},

    ss-PBCH-BlockPower                  INTEGER (-60..50),


    uplinkConfigCommon                      UplinkConfigCommon         OPTIONAL,

    supplementaryUplink                 SEQUENCE {

        uplinkConfigCommon                  UplinkConfigCommon         OPTIONAL

    }             OPTIONAL, -- Cond SUL


    tdd-UL-DL-Configuration             TDD-UL-DL-ConfigCommon    OPTIONAL, -- Cond TDD

    tdd-UL-DL-configurationCommon2      TDD-UL-DL-ConfigCommon    OPTIONAL, -- Cond TDD


    pdcch-ConfigCommon                  PDCCH-ConfigCommon        OPTIONAL,

    pucch-ConfigCommon                  PUCCH-ConfigCommon        OPTIONAL,


    lateNonCriticalExtension            OCTET STRING          OPTIONAL,

    nonCriticalExtension               SEQUENCE{}                                                              OPTIONAL




ServingCellConfigCommon ::=     SEQUENCE {

    physCellId                          PhysCellId        OPTIONAL, -- Cond HOAndServCellAdd,

    frequencyInfoDL                     FrequencyInfoDL      OPTIONAL, -- Cond


    initialDownlinkBWP                  BWP-DownlinkCommon   OPTIONAL, -- Cond ServCellAdd

    uplinkConfigCommon                  UplinkConfigCommon   OPTIONAL,-- Cond ServCellAdd-UL

    supplementaryUplinkConfig           UplinkConfigCommon   OPTIONAL,-- Cond ServCellAdd-SUL


    ssb-PositionsInBurst                CHOICE {

        shortBitmap                         BIT STRING (SIZE (4)),

        mediumBitmap                        BIT STRING (SIZE (8)),

        longBitmap                          BIT STRING (SIZE (64))

    }                                    OPTIONAL, -- Need R,


    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,

    rateMatchPatternToAddModList        SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF

                                             RateMatchPattern       OPTIONAL, -- Need N

    rateMatchPatternToReleaseList       SEQUENCE (SIZE (1..maxNrofRateMatchPatterns)) OF

                                             RateMatchPatternId     OPTIONAL, -- Need N

    subcarrierSpacing                   SubcarrierSpacing           OPTIONAL, -- Need S

    tdd-UL-DL-ConfigurationCommon       TDD-UL-DL-ConfigCommon      OPTIONAL, -- Cond TDD

    tdd-UL-DL-ConfigurationCommon2      TDD-UL-DL-ConfigCommon      OPTIONAL, -- Cond TDD

    ss-PBCH-BlockPower                  INTEGER (-60..50),





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)


shortBitmap : bitmap for sub 3 GHz


mediumBitmap : bitmap for 3-6 GHz


longBitmap : bitmap for above 6 GHz


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




FrequencyInfoDL ::=                 SEQUENCE {

    absoluteFrequencySSB               ARFCN-ValueNR,

    ssb-SubcarrierOffset               INTEGER (1..23)  OPTIONAL,   -- Need S

    frequencyBandList                  MultiFrequencyBandListNR,

    absoluteFrequencyPointA            ARFCN-ValueNR,

    scs-SpecificCarrierList            SEQUENCE (SIZE (1..maxSCSs)) OF SCS-SpecificCarrier,




SCS-SpecificCarrier ::=         SEQUENCE {

    offsetToCarrier             INTEGER (0..2199),

    subcarrierSpacing           SubcarrierSpacing,

    k0                          ENUMERATED {n-6, n0, n6},

    carrierBandwidth            NTEGER (1..maxNrofPhysicalResourceBlocks),





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. it orresponds 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'