Transport Block Processing
Transport Block Processing: Transmitter
Example
#tbLen ---> Transport Block Size
numBatch = 5 #Number of User equipments
tblock = np.random.randint(2,
size = (numBatch, tbLen),
dtype = int) # Generate the bits for transport block
tbProcess = TransportBlockTxProcessing() # Object for processing the transport blocks
crcTBlock = tbProcess(tblock) # Attach the CRC based on 38.212
- class toolkit5G.PhysicalChannels.PDSCH.TransportBlockTxProcessing[source]
This class performs Transport block CRC Attachment.
- Input:
tBlock ([…, A], np.float32) – Transport Block of size A.
- Output:
[…,B], np.float32 – CRC attached transport block of size A + L where L is the number of CRC bits.
- Parameters:
crcType (str) – CRC type.
Transport Block Processing: Receiver
Example
#rTBwithCRC ---> Block of bits after Code Block Aggregation
rtbProcess = TransportBlockRxProcessing() # Object for processing the transport blocks
rTBlock1, chk1 = rtbProcess(rTBwithCRC) # Remove the CRC based on 38.212
- class toolkit5G.PhysicalChannels.PDSCH.TransportBlockRxProcessing[source]
This class performs CRC check and CRC parity removal from the decoded CRC attached transport block generated by codeblock aggregation.
- Input:
rtBlock ([…, B], np.float32) – Transport Block of size B = A + L where A is the size of transport block and L is the size of CRC parity bits.
dtype, data type – Defaults to None. Defines the datatype for internal calculations and the output dtype.
- Output:
[…,A], np.float32 – transport block of size A.
- Parameters:
crcType (str) – CRC type.