Synchronization Signal Block (SSB) Resource Mapping

This module maps multiple Synchronization Signal Blocks (SSBs) on to the resource grid.

class toolkit5G.ResourceMapping.ResourceMapperSSB(ssbType='caseA', carrierFrequency=3600000000.0, N_RB=273, kssb=0, offsetToPointA=0, scsCarrier=15000, ssbPositionInBurst=array([1, 1, 1, 1]), ssbPeriodicity=None, nHF=None, nFrames=None, isPairedBand=True, withSharedSpectrumChannelAccess=False)[source]

Generates the Synchronization signal block grid as per Section 7.4.3 [3GPPTS38211_SSBGrid].

Parameters:
  • ssbType (str) – Defines the SSB Type for resource mapping. It can take a value from the set \(\in \{\)“caseA”, “caseB”, “caseC”, “caseD”, “caseE”, “caseF”, “caseG” \(\}\). Default value is “caseA”.

  • carrierFrequency (float) – Defines the carrier frequency used for simulation. Default value is :math:`3.6 times 10^9’.

  • N_RB (int) – Defines the number of Resource blocks (RBs) considered for resource Grid. It can be any integer value between which is compliant with kssb and offsetToPointA. The maximum value of N_RB for 5G is 273. Default value is 273.

  • kssb (int) – Defines the subcarrier offset between the first subcarrier of SS/PBCH and the last subcarrier of RB Offset(15kHz|60kHz). The numerology used for kSSB depends on the carrier Bandwidth. For FR1 bandwidths, kSSB is always in 15 kHz. Default value is 0.

  • offsetToPointA (int) – Defines the frequency offset between point A and the lowest subcarrier of the RB overlapping with SSB. the unit of this parameter is number of RB. Subcarrier spacing within this RB is always 15 Khz subcarrier spacing for FR1, 60 Khz subcarrier spacing for FR2 regardless of SSB subcarrier spacing. Default value is 0.

  • scsCarrier (int) – Define the subcarrier spacing for the carrier \(\in \{15000, 30000, 60000, 120000, 240000\}\).

  • ssbPositionInBurst ((Lmax,1) int \(\in \{0,1\}\)) – Indicates time domain position of SSB in a SSB burst. The first left most bit corresponds to SS/PBCH index 0, the second left most bit corresponds to SS/PBCH index 1 and so on.

  • ssbPeriodicity (int) – An SSB is periodically transmitted with a periodicity of 5ms, 10ms, 20ms, 40ms, 80ms or 160ms. - While longer SSB periodicity enhances network energy performance, the shorter periodicity facilitate faster cell search for UEs.

  • nHF (int \(\in \{0,1\}\)) – Each SS block has a well-defined position within an SS burst set which is contained within the first or second half of a 5ms frame. From the SS-block time index, in combination with the half-frame bit, the device can determine the frame boundary. Default value is None.

  • nFrames (int) – Defines the number of frames for which the grid has to be generated. Default value is None.

  • isPairedBand (bool) – Indicates whether the bands used for SSB transmission are paired or not. Default value is True.

  • withSharedSpectrumChannelAccess (bool) – Indicates whether the shared channel access is enabled or not. Default value is False.

Important

kssb and offsetToPointA.

Input:
  • ssb ((N,4,240), np.complex64) – Defines N SSBs to be loaded in the Resource Grid.

  • .. important:: – N must be equal to one of ones in ssbPositionInBurst.

Output:

[nFrames\(\times 10\times (\frac{\text{scsCarrier}}{15000})\), \(12 \times\) N_RB], np.complex64 – Resource grid loaded with SSB.

Raises:
  • Warning – [Warning:] Only one SSB is passed for configured symbols! It will be copied to all the configured symbols!

  • Warning – [Warning:] Only one SSB is passed for configured symbols! It will be copied to all the configured symbols!

  • ValueError – Invalid number of SSBs passed! Should match with the non-zero location in ‘ssbPositionInBurst’

  • ValueError – Invalid Choice of SSB It should be either 4x240 or (number of SSB)x4x240

  • ValueError – [Error]: ssbType must be string!

  • ValueError – [Error]: Invalid SSB Type, not supported by 5G standards!

  • Exception – [Error]: N_RB must be integer!

  • Exception – [Error]: N_RB should take only between 0 to 273 value!

  • Exception – [Error]: Carrier frequency must be integer or Float type!

  • Exception – [Error]: Carrier frequency must be in the range 0.5GHz to 100GHz!

  • Exception – [Error]: kssb must be integer!

  • Exception – [Error]: For carrier frequency range-1, the kssb must be less than 22!

  • Exception – [Error]: For carrier frequency range-2, the kssb must be less than 11!

  • Exception – [Error]: Currently not supporting carrier frequencies above 52.6GHz

  • Exception – ssb Type: ‘case-A’ is not configurable for FR2!

  • Exception – ssb Type: ‘case-B’ is not configurable for shared spectrum channel access!

  • Exception – ssb Type: ‘case-B’ is not configurable for FR2!

  • Exception – ssb Type: ‘case-D’ is not configurable for FR1!

  • Exception – ssb Type: ‘case-E’ is not configurable for FR1!

  • Exception – ssb Type: ‘case-F/G’ is not configurable for FR1!

  • Exception – Invalid choice of ssbType

References:
[3GPPTS38211_SSBRM]

(3GPP TS 38.211 version 17.1.0 Release 17) 5G;NR;Physical channels and modulation ‘5.2.2 Low-PAPR sequence generation type 1’