3GPP TS 36.212, "Multiplexing and channel coding"
3GPP TS 36.212, "Multiplexing and channel coding"
3GPP TS 36.212, "Multiplexing and channel coding"
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Release 8<br />
18<br />
<strong>3GPP</strong> <strong>TS</strong> <strong>36.212</strong> V8.1.0 (2007-11)<br />
Figure 5.1.4-2. Rate matching for convolutionally coded transport <strong>channel</strong>s <strong>and</strong> control information<br />
The bit stream<br />
(0)<br />
d<br />
k<br />
is interleaved according to the sub-block interleaver defined in subclause 5.1.4.2.1 with an output<br />
(0) (0) (0) (0)<br />
, v KΠ −1<br />
sequence defined as v<br />
0<br />
v1<br />
, v2<br />
,..., <strong>and</strong> where K Π is defined in subclause 5.1.4.2.1.<br />
The bit stream<br />
(1)<br />
d<br />
k<br />
is interleaved according to the sub-block interleaver defined in subclause 5.1.4.2.1 with an output<br />
(1) (1) (1) (1)<br />
, v KΠ −1<br />
sequence defined as v<br />
0<br />
v1<br />
, v2<br />
,..., .<br />
The bit stream<br />
(2)<br />
d<br />
k<br />
is interleaved according to the sub-block interleaver defined in subclause 5.1.4.2.1 with an output<br />
(2) (2) (2) (2)<br />
, v KΠ −1<br />
sequence defined as v<br />
0<br />
v1<br />
, v2<br />
,..., .<br />
The sequence of bits e k for transmission is generated according to subclause 5.1.4.2.2.<br />
5.1.4.2.1 Sub-block interleaver<br />
The bits input to the block interleaver are denoted by d0 , d1<br />
, d<br />
2<br />
,..., d<br />
bit sequence from the block interleaver is derived as follows:<br />
CC<br />
subblock<br />
CC<br />
subblock −<br />
( i)<br />
( i)<br />
( i)<br />
( i)<br />
D− 1<br />
, where D is the number of bits. The output<br />
(1) Assign C = 32 to be the number of columns of the matrix. The columns of the matrix are numbered 0, 1,<br />
2,…, C 1from left to right.<br />
(2) Determine the number of rows of the matrix R<br />
CC<br />
subblock<br />
, by finding minimum integer<br />
CC CC<br />
( R subblock C )<br />
D ≤ ×<br />
subblock<br />
CC<br />
The rows of rectangular matrix are numbered 0, 1, 2,…, R −1from top to bottom.<br />
subblock<br />
CC CC<br />
CC CC<br />
(3) If ( R × C ) D , then N ( R × C − D)<br />
subblock subblock ><br />
D<br />
subblock<br />
subblock<br />
for k = 0, 1,…, N D - 1. Then, write the input bit sequence, i.e.<br />
CC CC<br />
the ( C )<br />
subblock<br />
subblock<br />
CC<br />
R subblock such that:<br />
= dummy bits are padded such that y k = <br />
N<br />
k<br />
(i)<br />
k<br />
y D + = d , k = 0, 1,…, D-1, into<br />
R × matrix row by row starting with bit y 0 in column 0 of row 0:<br />
⎡<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢y<br />
⎣<br />
y<br />
y<br />
0<br />
CC<br />
C<br />
subblock<br />
M<br />
CC<br />
CC<br />
( R<br />
subblock<br />
−1)<br />
× C<br />
subblock<br />
y<br />
y<br />
y<br />
1<br />
CC<br />
C<br />
subblock<br />
+ 1<br />
M<br />
CC<br />
CC<br />
( R<br />
subblock<br />
−1)<br />
× C<br />
subblock<br />
+ 1<br />
y<br />
y<br />
y<br />
2<br />
CC<br />
C<br />
subblock<br />
+ 2<br />
M<br />
CC<br />
CC<br />
( R<br />
subblock<br />
−1)<br />
× C<br />
subblock<br />
+ 2<br />
L<br />
L<br />
O<br />
L<br />
y<br />
y<br />
y<br />
CC<br />
C<br />
subblock<br />
−1<br />
CC<br />
2C<br />
subblock<br />
−1<br />
M<br />
CC CC<br />
( R<br />
subblock<br />
× C<br />
subblock<br />
−1)<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
(4) Perform the inter-column permutation for the matrix based on the pattern ( j) CC<br />
j∈{ 0,1,...,<br />
−1}<br />
P that is shown in<br />
C subblock<br />
table 5.1.4-2, where P(j) is the original column position of the j-th permuted column. After permutation of the<br />
CC CC<br />
R × C matrix is equal to<br />
columns, the inter-column permuted ( )<br />
subblock<br />
subblock<br />
⎡<br />
⎢<br />
⎢<br />
⎢<br />
⎢<br />
⎢y<br />
⎣<br />
y<br />
y<br />
P(0)<br />
CC<br />
P(0)<br />
+ Csubblock<br />
M<br />
CC<br />
CC<br />
P(0)<br />
+ ( Rsubblock<br />
−1)<br />
× Csubblock<br />
y<br />
y<br />
y<br />
P(1)<br />
CC<br />
P(1)<br />
+ Csubblock<br />
M<br />
CC<br />
CC<br />
P(1)<br />
+ ( Rsubblock<br />
−1)<br />
× Csubblock<br />
y<br />
y<br />
y<br />
P(2)<br />
CC<br />
P(2)<br />
+ Csubblock<br />
M<br />
CC<br />
CC<br />
P(2)<br />
+ ( Rsubblock<br />
−1)<br />
× Csubblock<br />
L<br />
L<br />
O<br />
L<br />
y<br />
y<br />
y<br />
CC<br />
P(<br />
Csubblock<br />
−1)<br />
CC<br />
CC<br />
P(<br />
Csubblock<br />
−1)<br />
+ Csubblock<br />
M<br />
CC<br />
CC<br />
CC<br />
P(<br />
Csubblock<br />
−1)<br />
+ ( Rsubblock<br />
−1)<br />
× Csubblock<br />
⎤<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎥<br />
⎦<br />
(5) The output of the block interleaver is the bit sequence read out column by column from the inter-column<br />
CC CC<br />
permuted ( C )<br />
( i)<br />
0<br />
R subblock × subblock matrix. The bits after sub-block interleaving are denoted by v0 , v1<br />
, v2<br />
,..., v<br />
( i)<br />
1<br />
where v corresponds to y P(0)<br />
, v to y CC<br />
P(0)+<br />
C subblock<br />
CC CC<br />
… <strong>and</strong> K = ( R subblock × C )<br />
Π<br />
subblock<br />
( i)<br />
( i)<br />
( i)<br />
( i)<br />
KΠ<br />
−1<br />
,<br />
<strong>3GPP</strong>