2 Discussion on LDPC Coding

IEEE C802.16m-09/0204r1
Project
IEEE 802.16 Broadband Wireless Access Working Group <http://ieee802.org/16>
Title
Structured LDPC coding for IEEE 802.16m
Date
Submitted
2009-01-07
Source(s)
Jin Xu, Bo Sun
E-mail:
ZTE Corporation
[email protected],
[email protected],
*<http://standards.ieee.org/faqs/affiliationFAQ.html>
Re:
IEEE 802.16m-08/053r1 –Call for Comments and Contributions on Project 802.16m
Amendment Working Document; Channel Coding and HARQ
Abstract
This proposal gives a description about structured LDPC coding.
Purpose
To be discussed and adopted by TGm for use in the IEEE 802.16m Amendment Working
Document
Notice
Release
Patent
Policy
This document does not represent the agreed views of the IEEE 802.16 Working Group or any of its subgroups. It
represents only the views of the participants listed in the “Source(s)” field above. It is offered as a basis for
discussion. It is not binding on the contributor(s), who reserve(s) the right to add, amend or withdraw material
contained herein.
The contributor grants a free, irrevocable license to the IEEE to incorporate material contained in this contribution,
and any modifications thereof, in the creation of an IEEE Standards publication; to copyright in the IEEE’s name
any IEEE Standards publication even though it may include portions of this contribution; and at the IEEE’s sole
discretion to permit others to reproduce in whole or in part the resulting IEEE Standards publication. The
contributor also acknowledges and accepts that this contribution may be made public by IEEE 802.16.
The contributor is familiar with the IEEE-SA Patent Policy and Procedures:
<http://standards.ieee.org/guides/bylaws/sect6-7.html#6> and
<http://standards.ieee.org/guides/opman/sect6.html#6.3>.
Further information is located at <http://standards.ieee.org/board/pat/pat-material.html> and
<http://standards.ieee.org/board/pat>.
Structured LDPC coding for IEEE 802.16m
Jin Xu, Bo Sun
ZTE Corporation
1 Introduction
As defined in IEEE 802.16m SDD_r6 [1], LDPC is FFS.
This proposal is to suggest structured LDPC codes, which can not only provide flexible code rate and code size,
but also support IR-HARQ. Our scheme includes matrix generation and encoding and rate matching (RM).
2 Discussion on LDPC Coding
2.1 Matrix definition and description of structured LDPC codes
1
IEEE C802.16m-09/0204r1
The Parity check matrix of structured LDPC Codes is defined by a matrix H of size (mb  z )  (nb  z ) , which
consists of blocks of circularly shifted identity matrices or zero matrices of size z  z , of the form as following:
 P h00b
 hb
P 10

H
 
 hb
 P mb 0
b
P h02
b

P h12


hmb b 1
P
P
h0bnb
h1bnb
b
P h11
P


 P 
 P Hb
  

hmb b nb

 P
b
P h01
hmb b 2
hb
If integer hijb  1 , define P ij  0 .
hb
hb
If integer hijb  1 , define P ij  ( P) ij and P is a z  z standard permutation matrix of the form:
0 1 0  0
0 0 1  0


P      


0 0 0  1
 1 0 0  0 
The size of H is M  N , here N  nb  z, M  mb  z . And H b of size mb  nb has the form:
 h00b
 b
 h10
Hb  

 hmb 0
 b
h01b
h02b
h11b
h12b
hmb b 1
hmb b 2
h0bnb 

h1bnb 


hmb b nb 
For example, a matrix H is shown as following:
1
0

0
H
0
1

0
0
0
0
1
0
1
0
0
0
1
0
0
0
1
0
1
0
0
0
1
1
0
0
0
0
1
0
0
1
0
1
0
0
0
1
0
0
0
0
0
1
1
0
0
0
1
0
1
0
0
0
1
0
1
0
0
0

1
0

0
0
0
0
0
1
0
Actually a base matrix Hb and an expand factor z together can be used to represent H.
z= 3
and
0 1 0 1
Hb = 

2 1 2 1 
Due to the structured characteristic of parity check matrix, the parity check matrix of LDPC codes can be fully
described by small set parameters, which results in very low complexity implementations. Actually we only
need base matrix H b , instead of parity check matrix H, to perform encoding and decoding. The encoding and
decoding algorithms become the matrix calculation of size mb  nb , the basic structure of encoder and decoder
only depends on the positions of the non-negative-one elements in base matrix.
2
IEEE C802.16m-09/0204r1
2.2
Mother Code Set of structured LDPC codes to support single code rate and different
code sizes
To generate a LDPC code set of a certain code rate and various code sizes, a uniform base matrix H uniform
is
b
defined. In order to obtain the base matrix of certain code size, the uniform base matrix has to be modified to
generate a modified base matrix H bmodified , which will really be used in the encoder/decoder of the LDPC code
of certain code size. That is to say, for the LDPC codes of different code sizes and the same code rate, the
positions of non-negative-one elements of their base matrices is the same, and the values of non-negative-one
elements of their base matrices need to be changed.
Here is an example of rate 1/2 LDPC codes with different code sizes. A uniform base matrix constructed by us
is used to describe the LDPC code set. The code rate of the designed LDPC codes is always 1/2, and the
designed information block sizes increase from 192 to 10240, and the increasing step is 16, That is to say,
K=192,192+16,192+2*16,192+3*16,…, 10240. The size of base matrix is 16×32,namely,
of rate 1/2 LDPC code
mb  16 and nb  32 . So expand factors z =12:1:640. One uniform base matrix H uniform
b
set is defined as following:
H uniform
  H bsystem | H bparity 
b
H bsystem 
H bparity 
3
IEEE C802.16m-09/0204r1
To obtain the LDPC code of certain code size, the uniform base matrix above has to be modified and then can
be regarded as the base matrix H bmodified , which together with expand factor z can be used to define the parity
check matrix H of the LDPC code.
Base Matrix Modification Rule is defined as following:
hb
For each non-negative-one elements of the uniform base matrix above, the value ij should be modified. Let
(hijb)mod ified represents the i-th row, j-th column element of modified base matrix H bmodified , (hijb ) uniform represents
the i-th row, j-th column element of the uniform base matrix H uniform
given by us. Then
b

z 
(hij b )mod ified  (hij b )uniform 

zmax 

zmax
is the largest expand factor, here equals to 640, and z is the currently used expand factor uniquely
corresponding to the currently used code size.   denotes the operation that rounds the elements in it to the
nearest integers towards minus infinity.
The characteristic of our matrix design includes:
1
For all code sizes, the best degree distribution has been selected.
2
For all code sizes, suitable for shortening and puncturing.
3
For all rows of parity check matrix, row weight is always 8, which decides the complexity of decoder.
Here are two examples of modified base matrix created by single uniform base matrix .
Information block size K= 288
H bmod ified 
4
IEEE C802.16m-09/0204r1
Information block size K=5120
(N
, K)
FIR
2.3 Basematrix Generation for
LDPC Encode Process
The maximum number of soft channel bits available in the virtual buffer is N BUF , which is signaled by higher
layers of each HARQ transmission. N FIR is the maximum possible codeword size for the encode of K
information bits in the scenario of full Incremental Redundancy.
N
N FIR   BUF
 Nmax
N max  N BUF
Nmax  N BUF
Here, N max  3  K and let r  K / N FIR .
Let r  K / N FIR . There are three steps to generate the needed base matrix. If r  1/ 2 ,Step 1 is needed;
_ extension
(m)  H buniform and m  0 .
Otherwise, Step 1 is neglect, and H uniform
b
- Step 1: Compute m  kb r  nb  , and then m rows and m columns shall be added to the last row
and the last column of
H uniform
b
to generate an extended base matrix
5
_ extension
H uniform
(m) of
b
IEEE C802.16m-09/0204r1
_ extension
(m) is depicted by Figure 1 and is defined as
size (mb  m)  (nb  m) , here 1  m  16 . H uniform
b
follows:
nb
kb
mb
m  16
mb
-1
Rate ½ Mother LDPC Base Matrix
the matrix part of
the added m rows
0
m  16
-1
Systematic bits
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Rate 1/3 Extended LDPC
Base Matrix
0
0
0
0
0
0
0
Puncturing parity bits
0
0
Extending parity bits
uniform _ extension
Figure 1 Extended LDPC base matrix H b
(m)
for k = 1 to k = m ,
bk , 2  ak , ,4 bk ,3  ak ,2 , bk ,4  ak ,3 , bk ,5  ak ,6 , bk ,6  ak ,7
bk , kb  ( k  mb / 21) mod mb  1  0 , bk ,k  nb  0 , others in the k-th row are -1.
end for
Here, k indicates the row index for the added m rows, bi , j and ai , j denotes the i-th row and the j-th column
H uniform
element of the matrix part of the added m rows defined by Figure 1 and b
respectively. Where, the row
and column index begins from 1.
- Step 2: Compute the expand factor z   K kb  .
_ extension
(m) can be modified into H bmod ified _ extension (m) by Scale-Floor rule in Section II.B.
- Step 3: H uniform
b
H bmod ified _ extension (m) is the base matrix of ((nb  m) z, kb z ) LDPC code.
2.4
LDPC HARQ subpacket generation
Each HARQ transmission transmits a HARQ subpacket, and then the generation of HARQ subpacket
needs to be defined. Proposed scheme selects some specific bits from the codeword produced by encoder to
generate a HARQ subpacket. Figure 2 shows a block diagram of subpacket generation. For the first
transmission, the subpacket is generated to select the consecutive interleaved bit sequence that starts from the
first bit of the systematic part of the codeword from LDPC encoder. The length of the subpacket is chosen
according to the needed coding rate reflecting the channel condition. The first subpacket can also be used as a
codeword with the needed coding rate for a packet where HARQ is not applied.
6
IEEE C802.16m-09/0204r1
Choose values
of kB and l
Pad known bits
LDPC encode
Delete padded bits
Puncturing parity bits
permutation
Codeword bits
selection
Figure 2 Block diagram of LDPC HARQ subpacket generation
Let the input information block (packet) size is K. Based on rate compatible codes, the generation
procedure has been described as following:
Step 1: for any desired packet size K, choose values of kB and l such that kB*2l is greater than k by the
smallest possible amount.
Step 2: pad d= kB*2l -K known bits into K bits information block, the position for padded bits are
chosen from the second information column of the base parity check matrix.
Step 3: encode kB*2l bits information block with padded zero, and N bits codeword is generated, update
HARQ buffer to orderly store the generated codeword except d padded known bits.
When
Ltotal 
HB
Base matrix
When
kBl
Rm ,
and expand factor l can be applied for encoding.
Ltotal  N FIR
Base matrix
Others,
kBl
N= Rm
,
N= N FIR
H extension
(mB max )
B
N=
and expand factor l can be applied for encoding.
Ltotal
7
IEEE C802.16m-09/0204r1
Base matrix
H extension
(mB max )
B
and expand factor l can be applied for encoding. nB is chosen to be the smallest
H extension (nB  k B )
integer such that nB*2l>= Ltotal + d, Base matrix B
and expand factor l can be applied for
encoding, the codeword of size n *2l can be generated, the last n *2l - Ltotal of the codeword will be punctured.
B
B
k
Here, let Ltotal   L j ,
j 0
Rm is the mother code rate, puncturing mother codeword can attain the LDPC codes of any rate larger
than Rm , extending mother codeword can attain the LDPC codes of any rate less than Rm .
N FIR be the lowest code rate in the scenario of full Incremental Redundancy; for MS, N FIR can be
defined by the capability of MS.
Lk be the length of the k-th subpacket
Permute puncturing parity bits of LDPC HARQ mother codeword and keep the order of systematic bits
A , A , , AN FIR 1
and extending parity. Let the coded bits before the permutation be 0 1
, let the coded bits after the
B , B , , BN FIR 1
permutation be 0 1
. The permutation is defined by
Ak
k  K and k  nb  z  x


Bk  
A
ot her wi se

  k  x  mod z  PV  k  x  / z   kb  z  x
Here, PV (i ) indicates the i-th element of the puncturing pattern vector PV , k  0,1,
PV=[16,26,20,30,28,22,24,18,31,29,27,25,23,21,19,17];
, N FIR  1 .
Step 5: Select Lk bits from said HARQ buffer to form the k-th subpacket. The selection rule has been
defined by the following formula, the right side of the formula denotes some position in N bits codeword, the
codeword bit in this position is selected and then located in the i-th positon of the k-th HARQ subpacket. Then,
the index of the i-th symbol for the k-th subpacket shall be:
 k 1

Sk ,i    L j  i  mod N FIR
 j 0

Let
1
L
j 0
j
be zero.
k be the subpacket index when HARQ is enabled k=0 for the first transmission and increases by one for
the next subpacket. k=0 when HARQ is not used
Lk be the length of the k-th subpacket
N FIR be the lowest code rate in the scenario of full Incremental Redundancy; for MS, N FIR can be
defined by the capability of MS
8
IEEE C802.16m-09/0204r1
S k ,i
be the i-th index of the k-th subpacket, here the position index i starts from zero
Downlink/Uplink HARQ buffering capability indicates the maximal number of data bits the BS/MS can store
for downlink/uplink HARQ. It needs to be defined by system.
2.5
Vector Encoding of Structured LDPC codes
One encoding method has been shown; the encoding structure is very simple. For certain code rate, LDPC
codes of different code sizes will use a uniform hardware structure. Here we have suggested another more
effective encode method.
Encoding is the process of determining the parity sequence p  { pi }M 1 , given an information
sequence s  {si }K 1 . To encode, the information block s is divided into k b  nb  mb groups of z bits. Let this
grouped s be denoted u,
u  [u(0), u(1), u(2),
, u(k b 1)],
Where each element of u is a column vector as follows
u(i)  [siz, siz1, siz2, , s(i 1) z 1 ]T
Using the modified base matrix H b  {hi , j }mbnb , the parity sequence p is determined in groups of z. Let the
b
grouped parity sequence p be denoted v,
v  [v(0), v(1), v(2),
, v(mb  1)]
Where each element of v is a column vector as follows
v(i)  [ piz, piz1, piz2, , p(i 1) z 1 ]T
Define the temporary block λ is divided into mb groups of z bits. Let this grouped λ be denoted
λ  [ ( 0 ) , (1) ,  ,mb (
T
1) ]
where each element of λ is a column vector whose size equals to z.
Encoding proceeds in four steps:
(1) Compute temporary block λ .
(2) Determines v(0) .
(3) Determines v(i+1) from v(i) ,here i  0,1, , x  2 , and x indicates the row number of the second
element of three non-negative-one elements in the k b -th column of base matrix H b .
(4) Determines v(mb-1) from v(0), and determines v(i) from v(i-1) , here i  mb  1, mb  2,
, x 1 .
First step, compute λ , each element of λ can be calculated by the following formula,
kb 1
λ (i)   P ( i , j ) u( j ) i  0,1,
j 0
hb
, mb  1
λ needs to be saved in the LDPC encoder, and the needed memory for saving λ is only the maximum
9
IEEE C802.16m-09/0204r1
code size.
Second step, compute v(0) ,
P
h(bx ,kb )
mb 1
v(0)   λ (i) .
i 0
So
v(0)  P
( z  h(bx ,kb ) ) mod z
Third step, compute v(i+1), here i  0,1,
mb 1
 λ(i)
i 0
, x 1.
v(i  1)  v(i )  λ (i)
Four step, compute v(i), here i  mb  1, mb  2,
v(mb  1) v ( 0) λ m(b 
, x  2.
1)
v(i  1)  v(i )  λ (i  1)
hb
P ( i , j ) u( j ) means the operation that circularly shifts the values in the vector u( j ) by h(bi , j ) elements.
Thus only the operations of add and shift are needed to perform the encode process of structured LDPC codes.
In the second step, parallel processing can be adopted. The third step and the fourth step can be performed at the
same time to improve the throughput of the encoder.
3 Feature

Flexible enough to support any code rate from 1/3 to 5/6 and any code size from 192 to 10240.

Support Full IR -HARQ with the lowest rate 1/3.

Support Bit Re-arrangement for high order modulation.
4 Simulation
This part evaluates the error rate performance for proposed structured LDPC coding.
Simulation conditions:
 Gaussian Channel
 QPSK modulation
 code rates: 1/3, 1/2, 2/3, 3/4 , 5/6
 information block lengths: k=384 bits
 Simulation is stopped when 100 information blocks are wrong.
 BP decoding, 50 iterations for structured LDPC
 Max-Log-MAP algorithm with maximum 8 iterations with early stopping for CTC.
Figure 3 gives the error rate performance for proposed LDPC comparing with 16e’s CTC coding. The
performance of these two coding scheme is very close.
1
0
IEEE C802.16m-09/0204r1
LDPC and CTC-1/3,1/2,2/3,3/4-QPSK
0
10
-1
BLER
10
-2
10
-3
10
CTC-1/3-QPSK
CTC-1/2-QPSK
CTC-2/3-QPSK
CTC-3/4-QPSK
LDPC-1/3-QPSK
LDPC-1/2-QPSK
LDPC-2/3-QPSK
LDPC-3/4-QPSK
-4
10
-3
-2
-1
0
1
2
3
4
5
6
SNR
Figure 3 the error rate performance for proposed LDPC comparing with 16e’s CTC coding
5 Conclusion
From the analysis and simulation above, we find that the proposed structured LDPC has a closed
performance comparing to 16e’s CTC [2]. However, considering of the feature for LDPC, such as more
adequate for longer codeword, easy to processes parallel decoding, and achieve high throughput, and unequal
protection for encoding bits, we suggest this proposed structured LDPC be considered by 16m FEC.
6 Reference
[1] IEEE 802.16-08/003r6, “The Draft IEEE 802.16m System Description Document,” December 12, 2008.
[2] P80216Rev2_D7, "Part 16: Air interface for fixed broadband wireless access systems," October, 2008.
Text Proposal for IEEE 802.16m Amendment Working Document
============================== Start of Proposed Text ================================
15.3.x Channel Encoding and HARQ
15.3.x.x
Channel coding
15.3.x.x.x LDPC coding
15.3.x.x.x.1
Code description of Structured LDPC coding
The Parity check matrix of structured LDPC Codes is defined by a matrix H of size
(mb  z )  (nb  z )
consists of blocks of circularly shifted identity matrices or zero matrices of size z  z , of the form:
1
1
, which
IEEE C802.16m-09/0204r1
If integer
hijb  1
 P h00b
 hb
P 10
H
 
 hb
mb 0
P
, define P
hijb
b
b
P h01
P h02
b
h11
b
h12
P

P
hmb b 1
P

P
hmb b 2


 P 
 P Hb

 

hb
 P mb nb 

P
h0bnb
h1bnb
 0 ; otherwise, define P
hijb
(15.3.x. x .x .1-1)
hb
 (P) ij .
P of size z  z and base matrix H b of size mb  nb has the form:
0 1 0  0
0 0 1  0


P      


0 0 0  1
 1 0 0  0 
Hb
 h00b
 b
 h10
Hb  

 hmb 0
 b
h01b
h02b
h11b
h12b
hmb b 1
hmb b 2
h0bnb 

h1bnb 


hmb b nb 
(15.3.x.x.x.1-2)
consists of two sections, where H b1 corresponds to the systematic bits and H b2 corresponds to the parity-
check bits, such that
15.3.x.x.x.2
H b  (H b1 ) mb kb | (H b2 ) mb mb 
Mother Code Set of Structured LDPC codes
N
(N , K )
information bits are encoded into m bits by using the m m LDPC code. A Mother Code Set
shall be defined to consist of ( N m  z  nb , K m  z  mb ) LDPC codes of the same code rate R0  1/ 2 and different
The
Km
code sizes. Here z is the expand factor of structured LDPC code, nb  32 , mb  16 , and kb  nb  mb  16 .
A uniform base matrix
-1 605 173 110 -1 274 -1
H uniform
  H bsystem | H bparity 
b
is defined as the following:
8 -1 -1 -1 -1 -1 108 -1 -1
0
-1 194 77 265 571 -1 -1 -1 242 -1 -1 -1 246 -1 -1 -1 -1
-1 63
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0
0 538 -1 -1 194 -1 -1 358 -1 -1 -1 411 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
348 23 271 260 166 -1 -1 -1 -1 -1 -1 566 -1 -1 -1 -1 -1 -1 -1
0
-1 238 241 574 -1 466 -1 -1 -1 -1 111 -1 -1 -1 -1 575 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0
-1 601 442 474 218 -1 -1 321 -1 -1 -1 446 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0
-1 56 148 618 -1 -1 363 -1 485 -1 454 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1 -1
0
-1 495 178 459 270 -1 -1 -1 -1 112 -1 -1 -1 -1 193 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1 -1
0
346 611 380 170 -1 -1 -1 -1 241 -1 -1 -1 -1 -1 -1 -1 135 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1 -1
0
-1 343 255 353 405 317 -1 -1 -1 436 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1 -1
0
552 630 42 282 -1 -1 -1 436 -1 -1 -1 -1 96 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1 -1
0
-1 194 479 621 170 -1 567 -1 -1 -1 -1 -1 -1 12 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1 -1
0
-1 352 158 73 -1 -1 -1 471 187 -1 -1 -1 -1 -1 218 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1 -1
0
-1 524 595 329 185 -1 532 -1 -1 -1 -1 -1 -1 -1 -1 501 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0 -1 -1
0
-1 573 48 108 -1 452 -1 -1 -1 -1 -1 195 -1 -1 536 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 293
5 409
9 -1 -1 -1 -1 -1 285 -1 552 -1 -1 -1
0 -1
0
0
0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
0
1
2
IEEE C802.16m-09/0204r1
Here z is the expand factor of structured LDPC code, z  4,5,
, 640 ,
zmax  640
of ( z  nb , z  mb ) LDPC codes .Let
modified
(hijb)
(hb)
mod ified
denotes the i-th row, j-th column element of H b
, ij uniform denotes the i-th row, j-th column
(hijb)
H uniform
mod ified
b
element of
.
is given by Scale-Floor rule:
H uniform
b
modified
shall be modified to generate the base matrix H b
b
(hij )mod ified

Here,  

 1

 b


 (hij )uniform  z zmax 
(hij b )uniform  1
(hij b )uniform  1
(15.3.x.x.x.2-1)
rounds the elements in it to the nearest integers towards negative infinity.
15.3.x.x.x.3
Base Matrix Generation for ( N FIR , K ) LDPC encode process
The maximum number of soft channel bits available in the virtual buffer is N BUF which is signaled from higher
layers from each HARQ transmission. N FIR is the maximum possible codeword size for the encode of k
information bits in the scenario of full Incremental Redundancy.
N
N FIR   BUF
 Nmax
N max  N BUF
Nmax  N BUF
r  K / N FIR
Here, N max  3  K and let
.
r  K / N FIR
. There are three steps to generate the needed base matrix. If r  1/ 2 ,Step 1 is needed;
H uniform _ extension (m)  H buniform
Otherwise, Step 1 is neglect, and b
and m  0 .
Let
Step 1: Compute m  kb r  nb  , and then m rows and m columns shall be added to the last row
_ extension
H uniform
(m)
b
and the last column of H uniform
to generate an extended base matrix
of
b
uniform _ extension
H
(m)
size (mb  m)  (nb  m) , here 1  m  16 . b
is depicted by Figure 15.3.x.x.x.3-1 and is
-
defined as follows:
for k = 1 to k = m ,
bk , 2  ak , ,4 bk ,3  ak ,2 , bk ,4  ak ,3 , bk ,5  ak ,6 , bk ,6  ak ,7
bk , kb  ( k  mb / 21) mod mb  1  0 , bk ,k  nb  0 , others in the k-th row are -1.
end for
Here, k indicates the row index for the added m rows, bi , j and ai , j denotes the i-th row and the j-th column
1
3
IEEE C802.16m-09/0204r1
H uniform
element of the matrix part of the added m rows defined by Figure 15.3.x.x.x.3-1 and b
respectively.
Where, the row and column index begins from 1.
-
Step 2: Compute the expand factor
z   K kb 
.
_ extension
H uniform
(m)
H bmod ified _ extension (m)
b
Step 3:
can be modified into
by Scale-Floor rule in Section
mod ified _ extension
H
(m)
15.3.x.x.2 b
is the base matrix of ((nb  m) z, kb z ) LDPC code.
-
nb
kb
mb
m  16
mb
-1
Rate ½ Mother LDPC Base Matrix
the matrix part of
the added m rows
0
m  16
-1
Systematic bits
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Rate 1/3 Extended LDPC
Base Matrix
0
0
0
0
0
0
Puncturing parity bits
0
0
0
Extending parity bits
_ extension
(m)
Figure 15.3.x.x.3-1. Extended LDPC base matrix H uniform
b
15.3.x.x.x.4
( N FIR , K ) LDPC encode process
The LDPC HARQ mother codeword shall be generated and then sent to HARQ buffer. There are two steps for
encode process:
Step 1 Pad x  kb  z  K zero bits before K bits information block and perform the encode process of
((nb  m)  z, kb  z ) LDPC code. (nb  m)  zk parity bits shall be generated.
Step 2 Delete the padded zero bits in Step 1. If the number of codeword bits after the deletion doesn’t equal
y  (mb  m)  z  N FIR  K
N
to FIR ,
parity bits in the tail shall be deleted.
15.3.x.x.x.5
HARQ mother codeword permutations
Permute puncturing parity bits of LDPC HARQ mother codeword and keep the order of systematic bits and
A , A , , AN FIR 1
extending parity. Let the coded bits before the permutation be 0 1
, let the coded bits after the
B0 , B1 , , BN FIR 1
permutation be
. The permutation is defined by
1
4
IEEE C802.16m-09/0204r1
Ak
k  K and k  nb  z  x

Bk  
A
ot her wi se
  k  x  mod z  PV  k  x  / z  kb z  x
(15.3.x.x.x.5-1)
Here, PV (i ) indicates the i-th element of the puncturing pattern vector PV , k  0,1,
PV=[16,26,20,30,28,22,24,18,31,29,27,25,23,21,19,17];
15.3.x.x.x.6
, N FIR  1 .
HARQ codeword bits selection
Select Lk bits from said HARQ buffer to generate the k-th subpacket, which is defined by:
Ck ,i  B Ltotal ( k 1)i  mod NFIR 
(15.3.x.x.x.6-1)
Let k be the subpacket index when HARQ is enabled k=0 for the first transmission and increases by one for the
next subpacket. k=0 when HARQ is not used. Let Lk be the length of the k-th subpacket, Ltotal (k ) be
k 1
L
and Ltotal (1) be 0. Let the coded bits of the k-th subpacket be
B , B , , BN FIR 1
HARQ mother codeword be 0 1
.
j 0
j
Ck ,0 , Ck ,1 ,
, Ck , Lk 1
. Let the coded bits of
============================== end of Proposed Text ================================
1
5