SSB & CORESET0 Time and Frequency location

Introduction

Are you a visual learner? I know I am. I use whatever tools are at my dispense to create graphics that help me make sense of technical data. The topic I am writing about today has always been challenging to visualize appropriately just due to the complexity of the technology. Putting together a graphic of a 5G resource grid is not the easiest thing to do and get all of the information on a single monitor. Let’s just take the example of a 10 MHz channel bandwidth and a single radio frame using subcarrier spacing of 15 kHz…

That’s 140 symbols and 624 subcarriers…

I’ve tried to only show resource blocks, but the frequency alignment gets skewed when you want to display or emphasize the impact of other parameters and what they mean to the overall position of a resource in time or frequency.

That’s the case with this topic – It’s so beneficial to see the granularity of the resource grid and not just an abstract graphic with time and frequency axis labels. So bare with me as I attempt to justify the details.

Synchronization Signal Block (SSB)

This should be a softball topic, right? I’ve shown a similar graphic to this before. This is the SSB in the time and frequency domain.

20 Resource Blocks, or 240 Subcarriers in Frequency, and 4 symbols in the time domain. It looks great as a little block of colors and labels that are not even close to scale.

I think this image from Keysight’s Wavejudge closely shows the scale of the SSB. Unfortunately, you still cannot see the entire bandwidth.

That image shows the full capability of a mmWave FR2 120 kHz subcarrier spacing channel. Each of the colored blocks contains 16 SSB’s.

  • 64 SSB’s transmitted within a 5ms window
  • 120 kHz SCS defines Case D for symbol timing indexes

That is the maximum amount of SSB’s that can be transmitted in a single burst. Notice how there are spaces between the groups of two SSB’s and then larger spaced in time between the different colored blocks. We will understand why that is, but also know this is a single configuration. There are many configurations across bandwidths, subcarrier spacings, SSB indexes, etc. Also, the most amount of SSB’s I’ve seen in a burst in the “wild” is 12, but that was 2020 and a lot could have changed since then.

Sqimway’s 5G radio resource tool displays a great representation of the SSB. I created something similar in Excel, so here is an example of an SSB in a 10 MHz bandwidth.

That image only shows about 21 of the 52 resource blocks of the channel bandwidth. The SSB starts in the middle of Resource Block 18 and expands to the middle of Resource Block 38. But you can also see that it doesn’t begin at the start of the frame… Let’s get into that.

SSB Position in Time

The time position of an SSB takes a few things into consideration.

  • Frequency Range
  • Operating Band Frequency
  • Subcarrier Spacing
  • Duplex (FDD or TDD)
  • SSB Index

I like to reference this table from nrexplained.com

Key takeaways are the maximum number of SSBs configured within a given frequency/duplex/subcarrier spacing combination. The maximum value (Lmax) is not always the case but a guideline. It also allows operators to position a single SSB at different time locations rather than a single fixed location across all configured channels.

From my characterization of commercial deployments, operators using FR1 spectrum only configure a single SSB per channel, though the SSB index varies. As for FR2, I have seen multiple configurations of 12 SSBs in an SSB Burst. The SSB index is derived from the SIB1 information element ssb-PositionsInBurst.

For the bitmaps that aren’t already translated to binary (Verizon n77) – here is what they would look like.

Every position that is a 1, is an SSB index within the burst. Most of the traditional FR1 bands have an index of 0, while the n77 Verizon has an index of 3. Then the FR2 Verizon has a couple configurations of 12 SSB indexes.

Now, we can reference the table above. For the sake of complexity, we will look at one of the FR2 configurations.

Each SSB index that correlates to the “case” time index, maps that SSB to a specific symbol in the time domain depending on the subcarrier spacing. For this configuration, band n261 with 120 kHz subcarrier spacing, each slot is .125ms and there are 8 slots per subframe (1ms) and 80 slots per frame (10ms). The defined symbol indexes also show the reason for the spacing between SSBs as seen in the Keysight Wavejudge capture shown previously in this article.

Here, we can just focus on the time domain and see the tops of the SSB enough to make out the PSS, SSS, and PBCH to visualize this configuration.

SSB Position in Frequency

The SSB Frequency and Channel number must align with the Global Synchronization Channel Number (GSCN) raster for the specific frequency range.

  • FR1 GSCN spacing of 1, 3 or 16 GSCNs
  • FR2 GSCN spacing of 1 or 2 GSCNs

In this example, the GSCN is 1581 (SSB 126510) on a 15 MHz channel bandwidth, but 4 other GSCN locations are also available for the configuration. Each GSCN is spaced 3 GSCN from the neighboring GSCN, and each GSCN is 1.2 MHz from the center of the GSCN to the center of the neighboring GSCN.

The GSCN or SSB location does not always align directly with the Physical Resource Blocks of the Bandwidth Part. Hence, the MIB parameter ssb-SubcarrierOffset (also known as Kssb) helps align the SSB’s start with the closest PRB.

Here, the ssb-SubcarrierOffset is 6, which is the number of subcarriers between the start of the SSB and the start of the next PRB.

The ssb-SubcarrierOffset of 6 subcarriers and the offsetToPointA of 18 resource blocks will give us the center of subcarrier 0 of the lowest PRB in the Bandwidth Part.

  • 6 subcarriers x 15 kHz = .09 MHz
  • 18 resource blocks x 180 kHz = 3.24 MHz
    • 3.33 MHz total offset
  • SSB size = 20 RB * 180 kHz = 3.6 MHz
    • half SSB = 1.8 MHz
  • SSB Center Frequency = 632.45 MHz
    • SSB Center – half SSB (632.45 MHz – 1.8 MHz = 630.65 MHz SSB Start)
  • SSB Start (630.65 MHz) – total offset (3.33 MHz) = PointA (627.32 MHz)

SSB PBCH Demodulation Reference Signal (PBCH-DMRS)

DMRS is a physical layer signal that aids the UE in decoding the PBCH on the SSB. The Physical Layer Cell ID associated with the SSB will define the DMRS shift associated with the cell so that two SSBs on different PCIs do not cause PCI collision or confusion when being decoded by the UE. To figure out the DMRS shift, you need to apply a Mod 4 operation to the PCI number. The remainder will define the shift associated with the DMRS. The DMRS will start at that shift location and occur every 4 subcarriers in the frequency domain on the PBCH of the SSB.

CORESET0

CORESET0 parameters are given to the UE from the MIB Information Element pdcch-ConfigSIB1.

  • controlResourceSetZero
  • searchSpaceZero

These parameters point the UE to a lookup table based on the Frequency and subcarrier spacing of the carrier and provide the time and frequency size and location of CORESET0 for the UE to find and decode SIB1 on the PDCCH.

Sqimway provides another incredibly useful tool for referencing your parameters with the NR PDCCH search space calculator.

CORESET0 Time Location

First, let’s determine where the CORESET0 is located in time. The searchSpaceZero parameter gives us the values O and M, and we will also need the SSB index (0 in this case) the numerology (0) and the number of frames per slot according to the numerology (10) which will be input into the following equation to give us the scheduled slot for the CORESET0.

We will also need all of the same input values used for the previous equation to determine if the CORESET0 will be scheduled in even or odd frames.

When we do the calculation (math is not my strongest topic, but Google definitely helps) we get the scheduled slot of 2 and will be in even frames.

CORESET0 Frequency Location

Now that we have the time domain figured out, we can determine the frequency location using the controlResourceSetZero value parameter. We must also know the ssb-SubcarrierOffset (Kssb) value (6 in this scenario).

The controlResourceSetZero value of 7 points to the following table gives us the size of CORESET0 (48 resource blocks), the number of symbols it occupies in the time domain (1), and the offset (16 resource blocks).

The offset is calculated using the ssb-SubcarrierOffset, which points to the edge of the next available resource block from the start of the SSB. From that point, we offset by 16 resource blocks.

Though we cannot see the full 48 resource block span of CORESET0, we can see that it is located in Frame 0, Slot 2, and it occupies a single symbol. The Start of CORESET0 is 16 resource blocks offset from the next available resource block closest to the SSB start.

Leave a Reply

Discover more from

Subscribe now to keep reading and get access to the full archive.

Continue reading