SSB Parameters Estimation

The downlink synchronization requires UE to decode many parameters (listed blow). Some of these parameters has to be known in initial few steps itself involving channel estimation and decoding PBCH payload.

  • Physical layer cell ID (\(\text{N}_\text{ID}\)).
    • Physical layer cell ID-1 (\(\text{N}_\text{ID}^\text{1}\))

    • Physical layer cell ID-2 (\(\text{N}_\text{ID}^\text{2}\))

  • Synchronization signal block (SSB) index.

  • Half frame index (\(\text{n}_\text{HF}\)).

The Physical layer cell ID (\(\text{N}_\text{ID}\)) is estimated using PSSDetection and SSSDetection. The remaining 2 parameters are estimated using this module.


nID     = np.random.randint(1008)
lMax    = np.random.choice([4,8,64])
dmrsdet = DMRSParameterDetection(cellID=nID, nssbCandidatesInHrf = lMax)

ssbEst = np.random.randn(4,240) + 1j*np.random.randn(4,240)

ssbIndex, nHF = dmrsdet(ssbEstimate = ssbEst)

print("         cell-ID: "+str(nID))
print("           L_max: "+str(lMax))
print("       SSB-Index: "+str(ssbIndex))
print("half Frame Index: "+str(nHF))
         cell-ID: 897
           L_max: 64
       SSB-Index: 18
half Frame Index: 1

The details about the input-output interface of the DMRSParameterDetection detailed below.

class toolkit5G.ReceiverAlgorithms.DMRSParameterDetection(cellID, nssbCandidatesInHrf)[source]

This module estimates the parameters required for generation of PBCH-DMRS.

  • cellID (int) – Defines the physical-layer cell identity \(\in \{0, 1, \dots, 1007\}\).

  • nssbCandidatesInHrf (int) – Defines the maximum number of candidate SSBs (\(\text{L}_\text{max}\)) within an SS burst set. The values of this parameter depends upon the carrier frequency \(\in \{ 4, 8, 10, 20, 64\}\).


ssbEstimate ((4, 240), np.complex) – Defines the estimate of received SSB Grid.

  • ssbIndex (int) – Returns index of the SSB within SSB burst set \(\in \{0, 1, \dots, \text{L}_\text{max}-1\}\).

  • halfFrameIndex (int) – Returns the half frame bit \(\in \{0, 1\}\). This bit is cleared (set to 0) if SSB is broadcasted in the first half-frame or set to 1 otherwise. This information is combined with SSB index for frame synchronization.

  • cellID2 (int) – Defines the physical layer cell ID-2.

  • cellID1 (int) – Defines the physical layer cell ID-1.

  • ValueError – [Error-SSSDetection]: ‘ssbEstimate’ must a complex Numpy array with shape (4, 240)!

  • Exception – [Error-DMRSParameterDetection]: ‘method’ can only be ‘channelAssisted’!

  • ValueError – [Error-DMRSParameterDetection]: ‘cellID’ must is integer value from the interval {0,1,…,1007}!

  • ValueError – [Error-DMRSParameterDetection]: ‘nssbCandidatesInHrf’ must is integer value from the set {4,8,10,20,64}!