Physical Sidelink Broadcast Channel (PSBCH)
PSBCH Transmitter
E = 1386
cellID = 414
psbchObj = PSBCH(E,cellID)
inputBits = np.random.randint(2,size=(1,40))
SSSBPayload = psbchObj(inputBits,verbose = False)
- class toolkit5G.PhysicalChannels.PSBCH(E, cellID)[source]
Physical Sidelink Broadcast Channel (SS/PBCH) Blocks are used during the cell search procedure, i.e. UE search for Synchronisation Signals when scanning for a cell to camp on
- Parameters:
E (int) – Number of Target Bits expected at the end of rate matching.
cellID (int) – Defines the cell-ID \(\in \{0, 1, \dots, 1007\}\).
Note
The value of E is 1386 when number of Symbols allocated for SSB is 11 and E = 1782 when the number of symbols allocated for SSB is 13
- Input:
inputBits (np.ndarray) – SL SSB payload bits It must be a 2-dimensional array
verbose (bool) – Flag to indicate whether verbal explanation of PSBCH transmitter is required
- Output:
[inputBits.shape[0],E/2]: np.ndarray – Array containing the SSB payload
- Attributes:
crcEncoder (object)
bitInterleaver (object)
subBlockInterleaver (object)
channelInterleaver (object)
scrambler (object)
mapper (object)
K = 40
cellID = 414
symbolDemapper = "app"
psbchDeObj = PSBCHDecoder(K,cellID,symbolDemapper)
intvar = np.random.choice([-np.sqrt(1/2)-1j*np.sqrt(1/2),-np.sqrt(1/2)+1j*np.sqrt(1/2),np.sqrt(1/2)-1j*np.sqrt(1/2),np.sqrt(1/2)+1j*np.sqrt(1/2)],size = (2,1))
inputSymbols = intvar@np.ones(shape = (1,int(E/2)))
snr = 1000
polarDecoder = "SC"
decodedBits = psbchDeObj(inputSymbols,snr,polarDecoder)
- class toolkit5G.PhysicalChannels.PSBCHDecoder(K, cellID, symbolDemapper)[source]
- Parameters:
K (int) – Defines the size of SL-SSB in terms of bits.
cellID (int) – Defines the cell-ID \(\in \{0, 1, \dots, 1007\}\).
symbolDemapper (str) – Defines the technique used for symbol demapping can take either “app” or “maxlog”
- Input:
inputSymbols (np.ndarray) – It is a numpy array of size [:,(E/2] it denoted the received SL-SSB that is to be decoded
snr (int or float or np.number) – Defines the Signal to Noise Ratio in linear scale
polarDecoder (str) – Defines the decoding technique. It is expected to possess one string among the following `{“SC”, “SCL”, “SCL8”, “SCL32”, “hybSCL”, “BP”}.
- Output:
[ (,K]: np.array) – The decoded SL-SSB bits
- Attributes:
demapper (object)
descrambler (object)
channelDeInterleaver (object)
subBlockDeInterleaver (object)
inputDeInterleaver (object)
crcDecoder (object)
PSBCH COMPONENTS
- Cyclic Redundancy Check
- Input Bit Interleaver
- Polar Coder
- Rate Matching
- Scrambling: PSBCH
- Modulation
- ResourceMapping: PSBCH
- References:
- [3GPPTS38211psbch]
(3GPP TS 38.211 version 17.1.0 Release 17) 5G;NR;Physical channels and modulation.