## 4.2.2 Transport block concatenation and code block segmentation

25.2223GPPMultiplexing and channel coding (TDD)Release 17TS

All transport blocks in a TTI are serially concatenated. If the number of bits in a TTI is larger than the maximum size of a code block, then code block segmentation is performed after the concatenation of the transport blocks. The maximum size of the code blocks depends on whether convolutional, turbo coding or no coding is used for the TrCH.

#### 4.2.2.1 Concatenation of transport blocks

The bits input to the transport block concatenation are denoted by where i is the TrCH number, m is the transport block number, and Bi is the number of bits in each block (including CRC). The number of transport blocks on TrCH i is denoted by Mi. The bits after concatenation are denoted by , where i is the TrCH number and Xi=MiBi. They are defined by the following relations:

k = 1, 2, …, Bi

k = Bi + 1, Bi + 2, …, 2Bi

k = 2Bi + 1, 2Bi + 2, …, 3Bi

k = (Mi – 1)Bi + 1, (Mi – 1)Bi + 2, …, MiBi

#### 4.2.2.2 Code block segmentation

Segmentation of the bit sequence from transport block concatenation is performed if Xi>Z. The code blocks after segmentation are of the same size. The number of code blocks on TrCH i is denoted by Ci. If the number of bits input to the segmentation, Xi, is not a multiple of Ci, filler bits are added to the beginning of the first block. If turbo coding is selected and Xi < 40, filler bits are added to the beginning of the code block. The filler bits are transmitted and they are always set to 0. The maximum code block sizes are:

– convolutional coding: Z = 504;

– turbo coding: Z = 5114;

– no channel coding: Z = unlimited.

The bits output from code block segmentation, for Ci  0, are denoted by , where i is the TrCH number, r is the code block number, and Ki is the number of bits per code block.

Number of code blocks:

Number of bits in each code block (applicable for Ci  0 only):

if Xi < 40 and Turbo coding is used, then

Ki = 40

else

Ki = Xi / Ci

end if

Number of filler bits: Yi = CiKi – Xi

for k = 1 to Yi — Insertion of filler bits

end for

for k = Yi+1 to Ki

end for

r = 2 — Segmentation

while rCi

for k = 1 to Ki

end for

r = r+1

end while