06.06.2014 Views

3GPP TS 36.212, "Multiplexing and channel coding"

3GPP TS 36.212, "Multiplexing and channel coding"

3GPP TS 36.212, "Multiplexing and channel coding"

SHOW MORE
SHOW LESS

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>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!