You are on page 1of 9
Ee 5 LDPC Codes in Standards 189 irculant PEG Al, Algorithm 8: i for j=0,...,mp—1d0 2 | fork dey, do 3 | | if =0 then ‘ Set ef, = (ci, vjp) whete cis the CN with the lowest degree under the current graph setting &,, U--- U Ey... Ifa multiplicity of such CNs exist, pick one uniformly at random. s| | ena «| | else 7 Spread a subgraph from vp; under the current graph setting Eqy Uso“ UE yay U (08, }U-+-U f@8 1} upto depth Inox, Where lax is such that either [Noe] = [wlp| < m or || < m and lige "| =m. 8 Set ef, = (ci, v»j) where ¢; is the CN with the lowest degree in Me \ Uzez,yC(Z.)- If multiple such CNs exist, pick one uniformly at random. | | end w | | forr=1, 1do au | Set et... = Cn, uja4e) where h = b [i/b] +[G +1) mod 6]. n| | end as | end 4 end 5 LDPC codes in standards In this section, some details about LDPC codes included in standards for communica- tion systems are provided. The structure of the parity-check matrix recommended for belief-propagation decoding is illustrated for IEFE 802. 16-2009, ITU-T G.9960, and CCSDS LDPC codes, recommended for wireless terrestrial communications, wired communications, and space communications, respectively. References to the other standards including LDPC codes are provided. 5.1 IEEE 802.16-2009 LDPC codes ‘Mobile Worldwide Interoperability for Microwave Access (WiMAX) was one of the first standards including LDPC codes, as an optional choice. A first version of the standard was published as IEEE 802.16e-2005 [93] (amendment to IEFE 802.16- 2004) and the final version as IEFE 802.16-2009 [94] ‘The WiMAX standard defines 19 LDPC codeword lengths and four code rates (1/2, 2/3, 3/4, and 5/6) for each length. Since two different codes are defined for 190 CHAPTER 3 Low-Density Parity-Check Code Constructions each combination of codeword length and code rates 2/3 and 3/4, the total number of recommended LDPC codes is 114, For any code rate R, the following 19 values ‘of codeword length n (spanning from 576 to 2304) are allowed: 576, 672, 768, 864, 960, 1056, 1152, 1248, 1344, 1440, 1536, 1632, 1728, 1824, 1920, 2016, 2112, 2208, 2304, For each choice of code rate and codeword length, the information word length is obtained as k = Rn 5.1.1 Construction of parity-check matrices Inall cases, the recommended LDPC encoder isa systematic encoder generating a QC- LDPC code. In fact, for each combination of R and n, the code may be represented through a parity-check matrix in block-circulant form, where each block has size x b and is either a circulant permutation matrix ot the b x b zero mattix. This ‘matrix is synthetically specified by its ¢ x ¢ exponent matrix as described in Section 4.2, where t = n/b = 24 and c = (1 — R)t, whose generic element 6 belongs to the set (—1,0,...,b — 2, — 1) (Cecall that the parity-check matrix is obtained from the corresponding exponent matrix by expanding cach element into ab x b square matrix) The exponent matrices for the six IEEE802.16-2009 LDPC codes of length n = 2304 (the largest one) are reported in Figures 19-24, where the t —c leftmost columns are associated with the information bits and the ¢ rightmost ones with the parity (i. redundant) bits, Note that, as pointed out above, there are two codes of rate R = 2/3 (namely, codes A and B) and two codes of rate R = 3/4 (A and B), Note also that for all these six codes we have b = 96. Fora given R € (1/2, 2/3, 3/4, 5/6), the exponent matrix corresponding to some n < 2304 has the same number c of rows and the same number f of columns as the exponent matrix corresponding tom = 2304, the desired value of n being achieved by adjusting the size b = n/t of cach circulant matrix. The exponent matrices for the codes of length n < 2304 may be easily derived according to the following rule. For any of the exponent matrices in Figures 19-24, let pos(i, j) be its (i, j) entry, with 0 0. Poli, j) { G3) Again, the f — c leftmost columns are associated with the information bits and the ¢ rightmost ones with the parity bits. ‘The patity-check matrices in block circulant form derived from the corresponding ‘exponent matrices are the ones recommended for BP decoding. Ee 5 LDPC Codes in Standards 191 5.1.2 Efficient encoding As all IEFE802,16-2009 codes are QC-LDPC codes, their encoding may be performed efficiently using, for instance, the encoding method proposed in [28] Efficient encoding of each code is, however, also possible working directly on its parity-check matrix, due to its particular structure, Note in fact that the column of index t —c = k/b of all exponent matrices, ic., the column associated with coded bits X(—c)b = Pos ++. X(-e+1)b=1 = Pb-1» has exactly three non-negative elements, two of which are identical and one being unpaired. Next, the row index of this unpaired clement is denoted by £. Encoding may then be efficiently performed as follows. Let the vector containing the information symbols be u = [o, Wy, ..., Ur—e-th where for0 Pvyy—k-1] of length Nyq, where wis a length-k vector containing the information bits and p is a length- (Www — &) vector containing the parity bits. Due to the structure of all exponent ‘matrices, encoding may be performed efficiently adopting the procedure described in Section 5.1 for IBEE802.16-2009 LDPC codes. For Ryy = 5/6 some of the bils of v (both information bits and parity bits) may bbe punctured to generate the final codeword x of length n < Ny. The overall code rate is R = k/n = Ny(1— Ry)/n. There are four possible puncturing patterns, all represented as binary vectors with the convention that a I corresponds to a transmitted symbol and a 0 to a punctured one. The generic puncturing pattern is denoted by 47, where L is the length of the pattern and Z is the number of zeroes in it. The four patterns are reported in Table 5, while the possible combinations of mother encoder and puncturing pattern are summarized in Table 6. The element of a puncturing pattern corresponds to the Ng, bits output by the mother encoder, where the leftmost element corresponds to uo and the rightmost element to pyyy—e—1 The n = 336 code corresponding to the first row in Table 6 is used to encode the PHY frame header, while the codes corresponding to the other rows to encode the PHY frame payload. For more details, the reader is referred to [95, Sections 7133-7134] Ee 5 LDPC Codes in Standards 193 Table 5 Puncturing patterns for ITU-T G.9960 LDPC codes. hes (Ate: 100:1-081 100-0) alfhe 11° 400% 11%? 100" 011-1 alit, 41---100---011---100---011---1] afte eo on1" 100011" 1 aie toate Table 6 Puncturing patterns for ITU-T G.9960 LDPC codes. zt k @ fet ; 1 168 : "em oe 12 oso . “em ‘es 12 4220 : “pe tee 2 oeo : ape we 2 «220 : meow a 58 oso . en ve v8 ‘220 . aye sea ti oeo Wn wens oe ae se20 et, nes tee aon oso a ee ‘oot zor sea afi, aye 4sa6 5.3 CCSDS LDPC codes The Consultative Committee for Space Data Systems (CCSDS) has recently included LDPC codes in its recommendation for near-Earth and deep-space telemetry (i.e. downlink) [96]. A total of 10 QC-LDPC codes have been included in the CCSDS recommendation, Out of these, an (8160, 7136) code with code rate R = 223/255 is recommended for near-Earth telemetry applications, while the other nine codes, whose information block lengths and code rates are the nine combinations of k = 1024, 4096, 16384 and R = 1/2,3/4, 4/5, are recommended for deep space [97- 99], The CCSDS LDPC codes recommended for deep-space telemetry are QC-LDPC codes whose patity-check matrix may be represented as an array of b x b circulant matrices, where the size b of each submatrix corresponding to a combination of the information block length k and of the code rate R is summarized in Table 7. 194 CHAPTER 3 Low-Density Parity-Check Code Constructions Table 7 Circulant submatrix size 6 for the nine CCSDS LDPC codes recom- mended for deep space. k R=1/2 R=3/4 R=4/s 1024 512 256 128 4096 2048 1024 512 16384 8192 4096 2048 For each of the three values of the information block length &, the parity-check matrix for the three rate-1/2. codes has the following structure: % % = % w+ Mp=|b & % ye Th + My +My I, Us +Ms 0, My + Ms L, where 0) and I, are the b x b zero matrix and identity matrix, respectively, and where Ti; through Mfg are permutation matrices. Analogously, the parity-check matrices for the three rate-2/3 codes and for the three rate-4/5 codes have the structures o 6, Hy =| My + Mo +My 1 Hyp 1 Th +My + Tu and r o o% Oy % ] Hays = | Wp) + aa + Mas ty Tys + Mie + Thy iy Boys | Ib Tag + Mas + Mag te Ths + Mis + Mao respectively. The nonzero entries of matrix Ij are detailed in [96, Section 7.4.2.4]. It it worth noting that these parity-check matrices are obtained by lifting the protograph of an AR4JA LDPC code similar to the one depicted in Figure 9, with n=O forrate 1/2, n = 1 forrate 2/3, andn = 3 forrate 4/5. The lifting procedure is performed in two stages, where the first stage uses an expansion factor equal to 4 and the second stage an expansion factor equal to the power of 2 leading to the desired codeword length. In cach stage, the lifting procedure employs circulant matrices ‘whose selection is based on the ACE metric [73] The CCSDS is currently considering short binary and nonbinary LDPC codes for inclusion in its standard for telecommand (e.g., uplink) applications [99]. For instance, the nonbinary LDPC codes developed in (100, 101] are under consideration. 5.4 Other standards including LDPC codes In addition to those discussed above, LDPC codes have been included in a number of additional standards for digital communications. Specifically ‘* Second generation modulation and channel coding system for satelite applications, (DVB-S2) [102], recommending LDPC codes concatenated with BCH codes. Ee 5 LDPC Codes in Standards 195. © WiMedia [105] recommending LDPC codes for short range, high data rates (up to 1 Gbps) ultrawide-band (UWB) communications © IEEE 802,3an (amendment to IEEE 802,3-2005) [104], defining 10 Gbps Ethernet ‘over shielded or unshielded twisted pair cables for distances of up to 100 m and recommending an LDPC code belonging to the class of LDPC codes introduced in [105] «IEEE 802.11-2012 (successor of EEE 802.1 1n-2009) [106], including 12 LDPC codes as an optional choice. Exponent matrices for IEEE. 802.11-2012 LDPC codes are shown in Figures 32-43. 5.5. Details of parity-check matrices 5.5.1 Exponent matrices for IEEE802. 16-2009 LDPC codes with n=2304 1-1 55 88-1 ota peded-t-t-a 9 9-1-1-1 12-1 0 O-1-1-1-1-1-1-1-1-1 183-1-1-1 0-1-1 0 0 p-t-t-t-t-1 O11 47 1 1-1-1165 2 1-1-1110 0-1-1 -1-1-1-1-1 Pa 302-11 842-1 aL do gd td 82-11-19 O-1-1-1-1 0 O-1-1-1-1-1 I8-1-1-1-1-1-1-1 @ 0-1-1-1-1 A-1-1-1-1-1-2-1-1 0 0-1-1-1 1S1-1-1-1-1-1-1-1-1 0 0-1-1 AP-t-t-1-1-1-1-1-1 0 0-1 L-l-1-1-1-1-1-1-1 0 0 Pob-b-2-2-2-1-1-a-1-1 0 FIGURE 19 Exponent matrix for the IEEE8O2.16-2009 LDPC code with codeword length n = 2304 and R = 1/2. Each entry corresponds to 2 matrix of size b = 96. 3 0-1-1 2 0-1 8 TE 1 2-2-1-1-1 2 o-1-1-1-1-1-1 <1-1 1-1 %6-1-1 40 10-1-118 2-1 3 0-1 0 o-1-1-1-1-4 1-112 2-1 15-1 40-1 3-1 15-1 213-1-1-1 0 0-1-1-1-1 1-119 4-1 3 0-1 6 1-1 399-1-1-1 0 0-1-1-1 20-1 6-1-1 10 291-1 4-1 8-1-1 0-1-1-1 0 0-1-1 1110-122 11 8 elas il liioo. 3-197 -1.21-1 1-1 0-1 420-1-1-1-1-1-1 ° 1661114149139 1M 111111110 FIGURE 20 — Exponent matrix for the IEEE802,16-2009 LDPC code A with codeword length n = 2304 and R = 2/3. Each entry corresponds to a matrix of size b = 96. es 196 CHAPTER 3 Low-Density Parity-Check Code Constructions 2-1 19-1 47-1 48-1 36-1 8 1 69-2 88-1 a3 w-1 10-1 86-1 62-1 28 116 128-1 92-1 81 188 2-1 29-1 15-1 30-1 66-1 190-165 154 1-1 0 32-1 0-1 15-1 56-1 85-1 10 147 113-1 61-1 84 FIGURE 21 Exponent matrix for the IEEE802, 16-2009 LDPC code B with codeword length n = 2304 and R = 2/3, Each entry corresponds to a matrix of size 6 = 96, 638 393-11 8-1 aT a8 4-1 6 48-2 1-1 62 94 19 S41 92 192-1 45 24 32 30-1-1 © O-1-1-1 71-1 55 -1 12 66 1-1 10-1 22 55 70 2-1-1 0 9-1-1 38 61-1 86 9 73 61 43-11 95 32 0-1-1 9 o-1 -1-1-1-1 2 32 6 51 21 90 44 20-1 -1-1-1-1-1 0 0 <1 63 1 88 20-1 86 16 71 531-1 27 26 48-1-1-1-1 0 FIGURE 22 Exponent matrix for the IEEEB02. 16-2009 LDPC code A with codeword length n = 2304 and & = 3/4, Each entry corresponds to a matrix of size 6 = 96, 1 81-1 28-1-1 1d 25 17-1 18529527895 2292 9 9-1-1-1-2 42-1 14 63 32-1 -1-1-1 70 4311 36 40.33.57 9824-1 0-1 -1-1 1-1 20-1-1 68 39-1 70 67-198 472472960 5 80-1 0 0-1 64 2-1-1 63-1-1 3 51-1 811594 985361¢19-1-1-1 0 0 =1 53 60 80-1 26 75-1 -1-1-18677 1 3726025-1-1-1-1 0 0 TT =1-1-1 15 28-1 35-1 72 30 68 85 $4.26611189 0-1-1-1-1 0 FIGURE 23 Exponent matrix for the IEEE802. 16-2009 LDPC code B with codeword length n = 2304 and R = 3/4. Each entry corresponds to a matrix of size b = 96. Ee 5 LDPC Codes in Standards 197 5-1 AT 4-1 9184 886528233 5 03620 477 80 0-1-1 136 40 47 12 7947 1412112711472 0.4449 0 BO 0-1 83 4 67 1 21-131 24916181 9867860886715 -1-1 0 0 50 18-1 36 13 1011 2053.90 29 925 10 FIGURE 24 Exponent matrix for the IEEE8O2.16-2009 LDPC code with codeword length n = 2304 and R /6. Each entry corresponds to a matrix of size b = 96. 5.5.2 Exponent matrices for ITU-T 6.9960 LDPC codes P11 6-119 61-122 10 tad 114 1 9M-1-113-1-1 212-1-1 pep-2 ute) 7-2-t-1 nt -T-1-1 4 8-1-1-1-1-1 2 5 13 G-1-1 8-1-1 1-1-1-1 -1-1-1 0 6-1-1-1-1 5 13- P-1-1 9-1-1-1 3-1-1 3.1 9 018-11 121-1 $11 1-1-1 1 4-1-1 $-1-1-1 <1-1-1 $-1-1 s-1-1 9 0- WM-1-I-1 3-1-1 o-1-1-1 FIGURE 25 Exponent matrix for the ITU-T G,9960 mother Hy”? parity-check matrix. Each entry corresponds to a matrix of size b = 14. FIGURE 26 isa Exponent matrix for the ITU-T 6.9960 mother parity-check matrix, Each entry corresponds to a matrix of size b = 80.

You might also like