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

 

 

 

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.

 

 

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.

 

 

36.331-f30

 

MIB ::= SEQUENCE {

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

}

 

 

SIB1 ::=        SEQUENCE {

    cellSelectionInfo                   SEQUENCE {

        q-RxLevMin                          Q-RxLevMin,

        q-RxLevMinOffset                    INTEGER (1..8)      OPTIONAL,   -- Need R

        q-RxLevMinSUL                       Q-RxLevMin          OPTIONAL,   -- Need R

        q-QualMin                           Q-QualMin           OPTIONAL,   -- Need R

        q-QualMinOffset                     INTEGER (1..8)      OPTIONAL    -- Need R

    }    OPTIONAL,   -- Need S

    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,   -- Cond Absent

    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

    }     OPTIONAL,   -- Need R

 

    useFullResumeID                     ENUMERATED {true}    OPTIONAL,   -- Need N

    lateNonCriticalExtension            OCTET STRING         OPTIONAL,

    nonCriticalExtension                SEQUENCE{}           OPTIONAL

}

 

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

 

 

ServingCellConfigCommonSIB ::=      SEQUENCE {

    downlinkConfigCommon                DownlinkConfigCommonSIB,

    uplinkConfigCommon                  UplinkConfigCommonSIB   OPTIONAL,   -- Need R

    supplementaryUplink                 UplinkConfigCommonSIB   OPTIONAL,   -- Need R

    n-TimingAdvanceOffset               ENUMERATED { n0, n25560, n39936 }   OPTIONAL, -- Need S

    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},

    tdd-UL-DL-ConfigurationCommon       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)

 

groupPresence : the interpresentation 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

 

 

 

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'

 

 

 

Reference