Mueller Exhibit 22
TSG-RAN Working Group 1 meeting #6
Hannover, Germany
August 30 - September 3, 1999
TSGR1#7(99)b32
Agenda item:
Source:
Ericsson
Title:
Transport block concatenation and code block segmentation
Document for:
Decision
1 Introduction
It is currently very unclear in [ 1 ], what unit the channel coding is performed on. When the transport format attributes of
fixed bit rate TrCHs are identical, they can be multiplexed in the 1 st multiplexing. If flaey are multiplexed, it is clear from
Section 4.2.2 in [ 1 ], that all transport blocks (TrBks) of the multiplexed TrCHs are concatenated before coding. Further, if
the resulting number of bits including tail exceeds 512 for convolutional coding or 5120 for turbo coding, segmentation is
performed.
For convolutional coding, the output of the segmentation is referred to as code blocks and it is clear from Section 4.2.3.1.1
that flais is the unit flaat tail bits are attached to (assuming that coding block is the same as code block). For turbo coding the
output of the segmentation is referred to as encoder input segments. The input to the segmentation is referred to as data
block. When first multiplexing has been performed, it is assumed that flae data block corresponds to the output of the 1 st
multiplexing, i.e. concatenated TrBks. Unfortunately, it is not clear what happens when there is no 1 st multiplexing. The data
block could then correspond to either a TrBk or several concatenated TrBks.
In this paper it is proposed flaat all TrBks on a TrCH always are concatenated before coding. If the number of bits after
concatenation exceeds (512-Tail) for convolutional coding or (5120-Tail) for turbo coding, segmentation is performed. It is
proposed that the unit flaat coding is performed over is referred to as code block.
2 Consequences of TrBk concatenation
If TrBks are concatenated before coding, the number of tail bits per transmission time interval (TTI) can be reduced. Further,
the gain from turbo coding will be larger.
The disadvantage with concatenating TrBks before coding is that Hybrid type II/III ARQ becomes less efficient. CRC is
always added on TrBk level. With Hybrid type II/III ARQ, the CRC is used to check if the TrBk was received correctly. If
not, the redundancy is increased. Hence, even if only one TrBk was in error, the extra redundancy will be transmitted for all
TrBks encoded together. Consequently, the potential gain with Hybrid type II/III ARQ will decrease.
It is proposed that concatenation of TrBks always is performed. If the number of bits after concatenation exceeds (512-Tail)
for convolutional coding or (5120-Tail) for turbo coding, segmentation is performed. It is also proposed flaat the unit that
coding is performed over is referred to as code block. Further, it is proposed that this functionality is separated from the
channel coding block. A new block called TrBk concatenation / Code block segmentation should then be inserted in the
multiplexing chain and section 4.2.3.1.2 and 4.2.3.2.4 can be merged. If Hybrid type II/III ARQ is included in release 00,
then the possibility to bypass this concatenation/segmenation also needs to be included (note that only segmentation will not
be needed since WG2 will set upper limits on TrBk sizes). However, we do not see any reason to include the possibility to
avoid concatenation before coding in release 99 since Hybrid type II/III ARQ will not be part of it.
APLNDC-WH-A 0000011302
3 References
[1] TSG RAN WG1, "TS 25.212 Multiplexing and channel coding (FDD)".
4 Text proposal for 25.212
[ A new block should be inserted into Figure 1 and Figure 2 of 25.212 as illustrated below. ]
1 st Multiplexing
TrBk concatenation /
_C...o...d..e...b..1..o...c..k...s..e.g..m...e..n...m...t.i..o..n..
Channel coding
Figure 1: Changes in Figure 1 and Figure 2 of 25.212
-- snip --
4.2.3 Transport block concatenation and code block seqmentation
All transport blocks in a TTI are serially concatenated. If the number of bits in a TTI is larger than Z, then code block
segmentation is performed after the concatenation of the txansport blocks. The maximum size of the code blocks depend on
if convolutional or turbo coding is used for the TrCH.
4.2.3.1 Concatenation of transport blocks
The bits input to the transport block concatenation are denoted by biml, him2, him3,..., bimBi where i is the TrCH number, m
TrCH is denoted by M_,.. The bits after concatenation are denoted by each block (including CRC). The the TrCH number and
is the itransport block number, and B.,. is the number of bits in.~7il, .~7i2, .~7i3,. ¯ ¯, .~Tbyi , where i is number of transport blocks on
_X_,. M~_,.. They are defined by the following relations:
k= 1,2, ..., B_,.
Xilc = bi,2,(ic
k = B.,. + 1, B_,. + 2, ..., 2B.,.
Xik = Di,3,(k 2B~)
k = 2B.,. + 1 2B_,. + 2, ..., 3B.,.
2 (6)
APLNDC-WH-A 0000011303
k = (M~_-I)B~. + 1, (M~_- 1)B~_ + 2, ..., M~.
4.2.3.2 Code block seqmentation
Segmentation of the bit sequence from transport block concatenation is performed ifX_,.>Z. The code blocks after
segmentation are of the same size. The number of code blocks on TrCH i is denoted by C_,.. If the number of bits input to the
segmentation, 32_,., is not a multiple of C_,., filler bits are added to the last block. The filler bits are transmitted and they are
always set to 0. The maximum code block sizes are:
convolutional coding: Z = 512 - Ktai_~
turbo coding: Z = 5120 - Ktail
The bits output from code block segmentation are denoted by Oirl,Oir2,0ir3,...,OirKi , where i is the TrCH number, r is the
code block number, and K_,. is the number of bits.
Number of code blocks: C_,. = IX_,../Z ]
Number of bits in each code block: Ki =~ IX_,: / C_,._]
Number of filler bits: Y_,. = Ci__K_,. - X_,.
If X_,. _ Z, then
k = h 2 ..... K~_
Oilk = xik
Oi2k z .~.i,(k+Ki)
0i3k ~ Xi,(k+2K~)
k= 1, 2, ...,K.,¯
k= 1, 2, ...,K_,¯
Oic, k = Xi(k+(C~ 1)K~)
Oic~k = 0
4.2.4
k = (K,_- Y~ +I~,.- Y,) + 2,...,
4-.2=g-Channel coding
Code blocks are delivered to the channel coding block. They are denoted by Oirl, Oir2, Oir3,..., OirKi where i is the TrCH
number, r is the code block number, and !2_,..is the number of bits in each code block. The number of code blocks on TrCH i
is denoted by C_,. After encoding the bits are denoted by Xi~l, xi~2, xi~,..., xi~& . The encoded blocks are serially
BV Cil, Ci2, Ci3,..., CiEi , block i is lowest index r is output E_,. = C_~_,.. The output bits are defined by flae following relations:
multiplexed so flaat the wherewith the TrCH number andfirst from the channel coding block. The bits output are denoted
3 (6)
APLNDC-WH-A 0000011304
ooo
k=(Cz-1)Xz + 1, (Cz- l_~z + 2, ..., Q~-z
The relation between Oirk and Xirlc and between K_,. and X.,. is dependent on the channel coding scheme.
The following channel coding schemes can be applied to TrCHs.
¯
Convolutional coding
¯
Turbo coding
¯
No channel coding
Table h Error Correction Coding Parameters
Transport channel type
BCH
PCH
EACH
RACH
DCH
DCH
Coding scheme
Convolutional code
Coding rate
1/2
1/3, 1/2, or no coding
Turbo code
Note 1." The exact physical layer encoding/decoding capabilities for different code types are FFS.
Note2." In the UE the channel coding capability should be linked to the terminal class.
4.2.4.1
4.2.3.! Convolutional coding
4.2.4.1.1
4.2.3.!.! Convolutional coder
¯
¯
¯
¯
¯
Constraint length K=9. Coding rate 1/3 and 1/2.
The configuration of the convolutional coder is presented in Figure 3.
The output from rise convolutional coder shall be done in the order starting from output0, outputl and output2. (When
coding rate is 1/2, output is done up to output 1).
K-1 tail bits (value 0) shall be added to the end of the codei~ block before encoding.
The initial value of the shift register of the coder shall be "all 0".
-- snip --
4 (6)
APLNDC-WH-A 0000011305
(j+I)C