Primary Synchronization Signal for Sidelink (S-PSS)
The sidelink primary synchronization signal (S-PSS) is a m-sequence of length 127 generated using \(N_{ID,2}^{SL}\). It is used for time synchronization which aims to find the slot boundary by the user equipment (UE). The \(N_{ID,2}^{SL}\) provides a cyclic shift to a base sequence as defined in [3GPPTS38211_S_PSS].
Important
S-PSS is an constituent of sidelink synchronization signal block (SSB). It is loaded in the middle 127 sub-carrier (across frequency) of second and third symbol of the S-SSB.
The sidelink primary synchronization signal is generated as follows:
If \(N_{ID,2}^{SL}\) is scalar:
nID2 = 1 # Cell ID-2 for PSS generation
spss = S_PSS(nID2) # Generate PSS object using this cell ID-2.
spssSequence = spss() # Generate [1x127] pss sequence using 'pss' object
If \(N_{ID,2}^{SL}\) is NumPy array:
nID2 = np.array([1,0,1,1]) # Cell ID-2 for PSS generation
spss = S_PSS(nID2) # Generate PSS object using this cell ID-2.
spssSequence = spss() # Generate [4x127] pss sequence using 'pss' object for each cell-ID2
The details about the input-output interface of the S-PSS implementation is provided below.
- class toolkit5G.SequenceGeneration.S_PSS(nID2)[source]
Generates the sidelink primary synchronization signal (S-PSS) for 5G system. The constructor expects one parameter as an input \(N_{ID}^2\) which can be a scaler and/or array. The call method returns 1 or multiple sidelink PS sequences of length 127 based on the number of \(N_{ID}^2\) passed as input. The details about the implementation of the sequence are provided in the document “Physical channels and modulation (Release 17)” TS 38.211 Section 8.4.2.2 version V17.1.0 (2022-03).
Note
As per 3GPP specifications, cell ID-1 \(N_{ID,2}^{SL} \in \{0, 1\}\).
- Parameters:
nID2 (int or NumPy integer array) – \(N_{ID,2}^{SL}\): All the values should be the interval {0, 1}.
- Input:
None – No inputs Required.
- Output:
(…, 127), np.int8 – Sidelink Primary synchronization sequence of shape \(\text{N} \times 127\) where N is the number of S-PSS sequences.
- Raises:
ValueError – [Error S_PSS]: ‘nID2’ must be an integer or integer numpy array!
Warning – [Warning S_PSS]: ‘nID2’ should belong to interval {0, 1}!
ValueError – [Error S-PSS]: ‘nID2’ must be an integer or integer numpy array!
- References:
- [3GPPTS38211_S_PSS]
3GPP TS 38.211 “Physical channels and modulation (Release 17)”, V17.1.0 (2022-03).