Iterative Multi-Step Decoding for a Class of Multi-StepMajority-Logic Decodable Cyclic Codes
Speaker: Hsiu-Chi ChangAdvisor: Prof. Hsie-Chia Chang
Department of Electronics EngineeringNational Chiao Tung University
Aug 18, 2014
1/25
Outline
1 Introduction
2 Parity-Check Matrix Decomposition and Partial Parallel Decoding
3 Iterative Three-Step Sum-Product Algorithm
4 Conclusion and Future work
5 Reference
2/25
Introduction(1/3)
Low-Density Parity-Check (LDPC) codes have been widely discussed since thelate 1990’s [1].Advantages of LDPC codes, compared to Turbo codes [2]
– No long interleaver.
– Lower error floor, better block error performance.
– Parallel computing.
Construction methods of LDPC Codes
– Computer generated scheme such as Progressive-Edge-Growth (PEG) [3].Approximate Cycle Extrinsic message degree (ACE) [4].
– Combinatorial construction scheme such as finite geometry[5], finite field,Latin square, Balanced Incomplete Block Design [6].
3/25
Introduction(2/3)
Finite geometries codes were widely discussed in in the late 1960s and theearly 1970s [8, 9, 10].
– Reasonable minimum distances
– Simple encoding and majority-logic decodable
Finite geometries codes were rediscovered in 2001 [5] as LDPC codes.
– Any two rows have only 1 component in common.
– Trapping set size is larger than their minimum distances[11].
– Cyclic encoding and Quasi-Cyclic decoding[11].
Finite geometries codes can be divided into two types when decoded withmajority-logic
– One-step majority-logic decodable [6]
– Multi-step majority-logic decodable [12, 13, 14]
4/25
Introduction(3/3)
H =
1 1 1 0 0 0 1 01 0 0 1 1 0 0 10 1 0 1 0 1 0 10 0 1 0 1 1 1 0
. (1)
Variable nodes
Check nodes
CN1 CN2 CN3 CN4
VN1 VN2 VN3 VN4 VN5 VN6VN7 VN8
Figure 1.1: A parity-check matrix H and its corresponding Tanner [7] (bipartie)graph.
5/25
Why Multi-Step Majority-Logic Decodable Cyclic Codes?
Advantages
– Higher code rate with better bandwidth efficiency.
– Lower error floor for short to moderate code length because of relativelylarge column degree (column weight) [15].
Disadvantages
– Large number of short cycles of length 4 → Performance degradation
– Large number of 1’s in the parity-check matrix → Large storage requirement
– Only serial and fully parallel decoding → Lack of balanced solution
6/25
Some Definition for Euclidean Geometry
Points, lines, and flats in Euclidean geometry (EG).
– We call lines (1-flats), 2-flats, and ...in Euclidean geometry.
– There are n = qd − 1 points and J0 = q(d−1)(qd−1)q−1 lines in EG∗(d , q) , where
the i-th lines is denoted as Li , and 0 ≤ i < J0.
– A J0 × n matrix L is constructed to denote the relation between lines andpoints in EG∗(d , q).
– Let vLi be the binary incidence vector of line Li denoted asvLi = {vi,0, vi,1, · · · , vi,n−1}.
– Each component in vLi is the n-tuples over GF(2) that correspond to the nnon-origin points of EG∗(d , q) with vi,j = 1 if αj is a point on Li , otherwisevi,j = 0, where 0 ≤ j < n.
7/25
Parallel Bundle of Lines
In the following, we permute the matrix L by the concept of parallelbundles. The permuted matrix is denoted as Lp
– Consider the 2-dimensional Euclidean geometry EG∗(2, q) over the GF(2d).
– The J0 lines in EG∗(2, q) can be partitioned into J3 groups, each groups has
J4 parallel lines, where J3 = (q2−1)(q−1) and J4 = q − 1.
– For d = 2, let β = αJ3 . Then, {0, 1, β, β2, β3, . . . , βJ4−1} form a subfieldGF(2d−1) of the field GF(2d).
– Consider a parallel bundle P[12] in EG∗(2, q) comprising lines{L, β1L, . . . , βJ4−1L}.
– The corresponding binary incidence vector is vPL= {vL, vβ1L, . . . , vβJ4−1L}.
8/25
Codes on Euclidean Geometries - Multi-StepMajority-Logic Decodable Cyclic Codes
A subclass of multi-step majority-logic decodable cyclic codes is proposedby Lin [10] in 1973, called multifold Euclidean geometry (EG) codes.
– They are constructed based on parallel lines (flats) in Euclidean geometry.
– We discuss fourfold EG codes, which are three-step majority-logic decodable.
9/25
Code Construction via Parity-Check Matrix Decomposition
Challenges and solution
– Large number of short cycles of length 4→ using orthogonal structure of the codes.
– Large number of 1’s in the parity-check matrix→ decompose parity-check matrix into several low-density matrices.
Based on the orthogonal structure of the Euclidean geometry codes
– We decompose the original parity-check of the codes into three submatricesLp, H∆1 , and H∆2 as
H = Lp ⊗H∆1 ⊗H∆2 , (2)
where ⊗ represents the operations for allocating the rows of the lowerdimension matrices to be the columns of the higher dimension matrices.
10/25
Code Construction via Parity-Check Matrix Decomposition
We use a (255, 223) fourfold EG code as an example for three stagedecomposition
– Let d = 24, consider EG∗(2, 24) as the geometry for code construction.
– First Decomposition In EG∗(2, 24), describing points and lines whichform a 255× 255 matrix L.
– The 255 lines in EG∗(2, 24) can be divided into 17 groups, each groupshave 15 lines, called parallel bundle of lines [12], and the permutedmatrix is denoted as Lp.
– If we consider EG∗(8, 2) from EG∗(2, 24) as the mother geometry, then wecan find a subgeometry EG∗(4, 2) from EG∗(8, 2).
– Second Decomposition describing points and 1-flats defined by105× 15 H∆1 .
– Third Decomposition describing 1-flats and 2-flats defined by315× 105 H∆2 .
11/25
Code Construction via Parity-Check Matrix Decomposition
First decomposition(points and lines in EG∗(2, q))
– By multiplying P by α, we obtain αP = {αL, αβ1L, . . . , αβJ4−1L}, wherevαPL
= {vαL, vαβ1L, . . . , vαβJ4−1L} is its binary incidence vector.
– Let P= {P, αP, . . . , αJ3−1P}, the corresponding binary incidence vectors arevP =
{vPL
, vαPL, . . . , vαJ3−1PL
}.
– Let LP be a J0 × n matrix with the binary incidence vectors vTP as rows,
where LP represents the relationship between the points and the parallelbundle of lines in EG∗(2, q).
– Note that Lp = {Hp0 ,Hp1 , . . . ,HpJ3−1}T , where Hp represents the parallel
bundle of lines.
12/25
Code Construction via Parity-Check Matrix Decomposition
Second decomposition(points and 1-flats in subgeometry EG∗(d ′, 2))
– Let H∆1 =[D1
0,D11, . . . ,D
1κ−1
]T, where
D1w =
d1w ,(0,0) d1
w ,(0,1) . . . d1w ,(0,n′−1)
d1w ,(1,0) d1
w ,(1,1) . . . d1w ,(1,n′−1)
......
. . ....
d1w ,(n′−1,0) d1
w ,(n′,1) . . . d1w ,(n′−1,n′−1)
, (3)
where each component follows I0 + Iw , named as Double Identity Matrix(DIM), where 0 ≤ w < κ. Note that I is represented for identity matrix.
13/25
Code Construction via Parity-Check Matrix Decomposition
Third decomposition(1-flats and 2-flats in EG∗(d ′, 2))
– Each nonzero entry in D2w′ is dispersed as a (n′ − 1)×(n′ − 1) circulant
permutation matrix (CPM) [6].
– The location of the 1-component of the CPM is determined from theposition of the 1-flats within their corresponding 2-flats of EG∗(d ′, 2).
D2w ′ =
d2w ′,(0,0) d2
w ′,(0,1) . . . d2w ′,(0,k−1)
d2w ′,(1,0) d2
w ′,(1,1) . . . d2w ′,(1,k−1)
......
. . ....
d2w ′,(κ−1,0) d2
w ′,(κ−1,1) . . . d2w ′,(κ−1,κ−1)
, (4)
where D2w ′ is also a DIM.
14/25
Code Construction via Parity-Check Matrix Decomposition
– The following κ× κ array of (n′ − 1)×(n′ − 1) quasi-cyclic matrix of D2w ′ is
obtained:
HD2w′
=
Aw ′,(0,0) Aw ′,(0,1) . . . Aw ′,(0,κ−1)
Aw ′,(1,0) Aw ′,(1,1) . . . Aw ′,(1,κ−1)...
.... . .
...Aw ′,(κ−1,0) Aw ′,(κ−1,1) . . . Aw ′,(κ−1,κ−1)
, (5)
– Aw ′,(k′,q′) are (n′ − 1)× (n′ − 1) CPMs, if the entry di ′,(k′,q′) 6= 0, elseAw ′,(k′,q′) equal (n′ − 1)× (n′ − 1) zero matrices.
– Finally, H∆2 =
[HD2
0,HD2
1, . . . ,HD2
J′3−1
]T
is derived.
15/25
Partial Parallel Decoding
Challenge and solution
– Only serial and fully parallel decoding → Lack of balanced solution
– The partial parallel decoding is operated on the submatrices of H asfollows
Hpi ⊗H∆1 ⊗H∆2 , (6)
where 0 ≤ i < J3.
16/25
Iterative Three-Step Sum-Product Algorithm (ITS-SPA)
Algorithm 1 Iterative Three-Step Sum-Product Algorithm
1: Initialization: For 0 ≤ j < n, set zj = 0 if LLR(0)j > 0, else zj = 1 if
LLR(0)j < 0, l = 0, and the maximum number of iterations set to lmax .
2: Let S(l)(X ) be the syndrome derived by dividing the received polynomial z(l)(X )by the generator polynomial g(X ) of the codes. If S(l)(X ) = 0, then stop thedecoding process and output z(l) as the decoded codeword.
3: If l = lmax , then stop the decoding process. If S(l)(X ) 6= 0, declare a decodingfailure.
4: For 0 ≤ i < J0, 0 ≤ a < J3, 0 ≤ b < J4, i = a × J4 + b, 0 ≤ a1 < J ′1,0 ≤ a2 < J ′2, 0 ≤ g < J ′I 1 , 0 ≤ h < J ′I 0 , and 0 ≤ t < J1
a) Compute LLR’s from points in EG∗(2, q), 1-flats, 2-flats in EG∗(d ′, 2)b) Update the extrinsic information for the jth received bit.
5: For 0 ≤ j < n, execute the reliability measure R(l+1)j . Let l ← l + 1, and form
a new received vector z(l).6: Update LLR
(l+1)j .
7: Go to Step 2.
17/25
Iterative Three-Step Sum-Product Algorithm (ITS-SPA)
The LLR of points in EG∗(2, q) and 1-flats, 2-flats in EG∗(d ′, 2). Extrinsicinformation is derived from higher dimension over lower dimension
– 1st step 2-flats over 1-flats in EG∗(d ′, 2)
Lx(l)
F1a1
=∑
0≤g<J′I1
(sgn(LLR
(l)
F2g
) · sgn(LLR(l)
F1a1
)
)· φ(φ(|LLR(l)
F2g|)− φ(|LLR(l)
F1a1|)),
– 2nd step 1-flats over points in EG∗(d ′, 2)
Lx(l)La,b
=∑
0≤h<J′I0
(sgn(LLR
(l)
F1h
) · sgn(LLR(l)La,b
)
)· φ(φ(|LLR(l)
F1h|)− φ(|LLR(l)
La,b|)),
– 3rd step lines over points in EG∗(2, q)
Lxj =∑
0≤t<J1
(sgn(Lx
(l)Lt
) · sgn(LLR(l)j ))· φ(φ(|LxLt |)− φ(|LLRj |)
),
Reliability measure update
LLR(l+1)j = LLR
(0)j + Lx
(l)j , (7)
18/25
Performance Result
4 4.5 5 5.5 6 6.5 7 7.5 810
−7
10−6
10−5
10−4
10−3
10−2
Eb/N
0
BE
R
(255,223), 20 iterations ITS−SPA
(255,223), 10 iterations ITS−SPA
(255,223), 5 iterations ITS−SPA
(255,223), 50 iterations SPA
(255,223) BCH, HD−BM
(255,223), TS−MLGD
Figure 3.1: Bit error performances of the (255, 223) four-fold EG code decodedwith various decoding algorithms, and the (255, 223) BCH code decoded with thehard decision Berlekamp-Massey (HD-BM) algorithm using BPSK over theAWGN channel.
19/25
Performance Result
4 4.5 5 5.5 6 6.5 7 7.5 810
−8
10−7
10−6
10−5
10−4
10−3
10−2
Eb/N
0
BE
R
(1023,833), 10 iterations ITS−SPA
(1023,833), 5 iterations ITS−SPA
(1023,838) BCH, HD−BM
(1023,833), TS−MLGD
Figure 3.2: Bit error performances of the (1023, 833) four-fold EG code codedecoded with various decoding algorithms, and the (1023, 838) BCH codedecoded with the HD-BM algorithm using BPSK over the AWGN channel.
20/25
Storage Requirement Analysis
For the nonzero elements of the parity-check matrix
– Original parity-check matrix, n2q elements are required.
– Our decomposition scheme only requires 2nq elements to be stored.
– Saves the storage requirements at a factor of 2/n
21/25
Conclusion
We summarize the contributions for decoding multi-step majority-logicdecodable cyclic codes.
– Save the storage requirement at a factor of 2/n by decomposition.
– Present an iterative partial parallel decoding scheme.
– Achieve at most 1.9 dB coding gain over BCH codes decoded with HD-BM.
22/25
Future Work
Multi-step majority-logic decodable cyclic codes with longer code length.
– Comparing with other one-step LDPC codes in the high SNR region
Utilize trellis decoding scheme for short code length in the subgeometry
– Concatenated trellis and belief propagation decoding
23/25
Reference I
[1] D. MacKay and R. Neal, “Near shannon limit performance of low-density parity-checkcodes,” Electronics Letters, vol. 33, no. 6, pp. 457–458, Mar. 1997.
[2] C. Berrou, A. Glavieux, and P. Thitimajshima, “Near Shannon limit error correcting codingand decoding: Turbo codes,” Proc. IEEE Intl. Conf. Commun. (ICC 93), pp. 1064–1070,May 1993.
[3] X. Y. Hu, E. Eleftheriou, and D. M. Arnold, “Progressive edge-growth Tanner graphs,”Proc. IEEE GLOBECOM, pp. 995–1001, Nov. 2001.
[4] T. Tian, C. R. Jones, J. D. Villasenor, and R. D. Wesel, “Selective avoidance of cycles inirregular LPDC code construction,” IEEE Trans. Commun., vol. 52, no. 8, pp. 1242–1247,August 2004.
[5] Y. Kou, S. Lin, and M. Fossorier, “Low-density parity-check codes based on finitegeometries: a rediscovery and new results,” IEEE Trans. Inf. Theory, vol. 47, no. 7, pp.2711–2736, Nov. 2001.
[6] W. E. Ryan and S. Lin, Channel Codes: Classical and Modern. Cambridge UniversityPress, 2009.
[7] R. Tanner, “A recursive approach to low complexity codes,” IEEE Tran. Inf. Theory,vol. 27, no. 5, pp. 533–547, Sep. 1981.
[8] L. D. Rudolph, Geometric configuration and majority logic decodable codes. M.E.E.thesis, University of Oklahoma, Norman, 1964.
24/25
Reference II
[9] T. Kasami and S. Lin, “On majority-logic decoding for duals of primitive polynomialcodes,” IEEE Trans. Inf. Theory, vol. 17, no. 3, pp. 322–331, May 1968.
[10] S. Lin, “Multifold Euclidean geometry codes,” IEEE Trans. Inf. Theory, vol. 19, no. 4, pp.537–548, July 1973.
[11] Q. Huang, Q. Diao, S. Lin, and K. Abdel-Ghaffar, “Cyclic and quasi-cyclic LDPC codes onconstrained parity-check matrices and their trapping sets,” IEEE Trans. Inform. Theory.,vol. 58, no. 5, pp. 2648–2671, May 2012.
[12] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications,2nd ed. Upper Saddle River, NJ: Prentice-Hall, 2004.
[13] H. Tang, J. Xu, S. Lin, and K. Abdel-Ghaffar, “Codes on finite geometries,” IEEE Trans.Inf. Theory, vol. 51, no. 2, pp. 572–596, Feb. 2005.
[14] L. Zhang, Q. Huang, and S. Lin, “Iterative algorithms for decoding a class of two-stepmajority logic decodable cyclic codes,” IEEE Trans. Commun., vol. 59, no. 2, pp. 416–427,Feb. 2011.
[15] R. Palanki, M. Fossorier, and J. S. Yedidia, “Iterative decoding of multi-step majorty-logicdecodable codes,” IEEE Trans. Commun., vol. 55, no. 6, pp. 1099–1102, June 2007.
25/25
Parity-Check Matrix of the Euclidean Geometry Codes
Euclidean geometry code is a subclass of finite geometry code.
– Assume a line passes through 4 points L = {α7, α8, α10, α14}.
– Binary incidence vector of vL = {0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1}.
–
H =
0 0 0 0 0 0 0 1 1 0 1 0 0 0 11 0 0 0 0 0 0 0 1 1 0 1 0 0 00 1 0 0 0 0 0 0 0 1 1 0 1 0 00 0 1 0 0 0 0 0 0 0 1 1 0 1 00 0 0 1 0 0 0 0 0 0 0 1 1 0 11 0 0 0 1 0 0 0 0 0 0 0 1 1 00 1 0 0 0 1 0 0 0 0 0 0 0 1 11 0 1 0 0 0 1 0 0 0 0 0 0 0 11 1 0 1 0 0 0 1 0 0 0 0 0 0 00 1 1 0 1 0 0 0 1 0 0 0 0 0 00 0 1 1 0 1 0 0 0 1 0 0 0 0 00 0 0 1 1 0 1 0 0 0 1 0 0 0 00 0 0 0 1 1 0 1 0 0 0 1 0 0 00 0 0 0 0 1 1 0 1 0 0 0 1 0 00 0 0 0 0 0 1 1 0 1 0 0 0 1 0
27/25
Parallel Bundles in the Parity-Check Matrix of theEuclidean Geometry Codes
If we divide these 15 lines into 5 groups, each group has 3 lines. Theselines are parallel and called as parallel bundle of lines
– Let β = α5, the first group of parallel bundle is formed by {L, βL, β2L}.
–
Hp =
0 0 0 0 0 0 0 1 1 0 1 0 0 0 11 0 0 0 1 0 0 0 0 0 0 0 1 1 00 0 1 1 0 1 0 0 0 1 0 0 0 0 01 0 0 0 0 0 0 0 1 1 0 1 0 0 00 1 0 0 0 1 0 0 0 0 0 0 0 1 10 0 0 1 1 0 1 0 0 0 1 0 0 0 0...
......
0 0 0 1 0 0 0 0 0 0 0 1 1 0 10 1 1 0 1 0 0 0 1 0 0 0 0 0 00 0 0 0 0 0 1 1 0 1 0 0 0 1 0
28/25
Parallel Bundles in the Parity-Check Matrix of theEuclidean Geometry Codes
– Note that the second group is one position shift to right from the first groupof parallel bundle denoted by {αL, αβL, αβ2L}.
–
Hp =
0 0 0 0 0 0 0 1 1 0 1 0 0 0 11 0 0 0 1 0 0 0 0 0 0 0 1 1 00 0 1 1 0 1 0 0 0 1 0 0 0 0 01 0 0 0 0 0 0 0 1 1 0 1 0 0 00 1 0 0 0 1 0 0 0 0 0 0 0 1 10 0 0 1 1 0 1 0 0 0 1 0 0 0 0...
......
0 0 0 1 0 0 0 0 0 0 0 1 1 0 10 1 1 0 1 0 0 0 1 0 0 0 0 0 00 0 0 0 0 0 1 1 0 1 0 0 0 1 0
29/25