1980 IEEE COMMUNICATIONS LETTERS, VOL. 17, NO. 10, OCTOBER 2013
An Iterative Weighted Reliability Decoding Algorithm for
Two-Step Majority-Logic Decodable Cyclic Codes
Hsiu-Chi Chang, Chih-Lung Chen, and Hsie-Chia Chang
Abstract—An iterative weighted reliability two-step majority
logic decoding (IWRTS-MLGD) algorithm for two-step majority-logic (TS-MLG)-decodable cyclic codes is presented. In contrast to other message passing decoding algorithms that utilize real number operations, our proposed decoding algorithm requires only logical operations and integer additions. Therefore, large computational complexities can be reduced. For moderate-length TS-MLG-decodable cyclic codes, the proposed algorithm aided with soft information and a scaling factor outperforms the hard-decision TS-MLGD algorithm and hard-hard-decision BCH codes with similar length by1.2- and 1.0-dB, respectively.
Index Terms—Finite geometry code, reliability-based message
passing algorithm, two-fold EG code, cyclic code.
I. INTRODUCTION
F
INITE geometry (FG) codes received great attention in the late1960s and the early 1970s [1]–[3]. FG codes form a class of cyclic codes with reasonable minimum distance which can be decoded with simple majority logic (MLG). There are two types of MLG-decodable cyclic codes: one-step and multi-one-step. One-one-step MLG-decodable cyclic codes are rediscovered in [4] as FG-LDPC codes whose Tanner graphs are free of cycles of length4. Long FG-LDPC codes decoded by the sum-product algorithm (SPA) [5] and min-sum algorithm (MSA) [6] can nearly achieve Shannon’s theoretical limit. However, multi-step MLG-decodable cyclic codes contain many short cycles of length 4. Thus, standard SPA or MSA is not effective for decoding multi-step MLG-decodable cyclic codes [7] and [8]. In [7] and [8], a two-step soft decision decoding algorithm based on SPA and MSA was introduced for decoding TS-MLG-decodable cyclic codes, which is called the two-step iterative decoding algorithm (TS-IDA). TS-IDA uses a five level message passing tree (MPT), which is constructed based on the orthogonal structure of the relation between frames and lines of the finite geometries. Therefore, it can avoid the degrading effects of short cycles. The simulation results in [8] show that TS-IDA outperforms other hard decision decoding methods by 2dB. However, the computational complexity is very large since a large portion of the computation involves real number.Recently, [9] has introduced an efficient iterative algo-rithm called the soft reliability based iterative majority logic decoding algorithm (SRBI-MLGD) for decoding one-step Manuscript received May 23, 2013. The associate editor coordinating the review of this letter and approving it for publication was G. Liva.
This work was supported by the NSC, Taiwan, R.O.C., under Contract NSC 101-2628-E-009-013-MY3.
The authors are with the Department of Electronics Engineering & the Institute of Electronics, National Chiao Tung University, Hsinchu 30010, Taiwan, R.O.C. (email: [email protected], [email protected], [email protected]).
Digital Object Identifier 10.1109/LCOMM.2013.082413.131191
MLG-decodable LDPC codes constructed by finite geometries. SRBI-MLGD is a binary message passing algorithm which utilizes only logical operations and integer additions. Thus, it greatly reduces the computational complexities compared to SPA or MSA. In contrast to other binary decoding meth-ods such as differential binary message passing algorithm (DBMPA) [10], the SRBI-MLGD requires less computational complexity and memory.
In this letter, we propose an iterative weighted reliability two-step majority logic decoding (IWRTS-MLGD) algorithm for decoding TS-MLG-decodable cyclic codes. The idea of the algorithm is derived from SRBI-MLGD which greatly reduces the computational complexity compared to the previous TS-IDA [8]. We use a subclass of TS-MLG-decodable cyclic FG codes called two-fold Euclidean geometry (EG) codes to demonstrate the effectiveness of the proposed algorithm. The letter is organized as follows: Section II introduces the background of the two-fold EG codes, and the corresponding two-step (TS)-MLGD algorithm. Section III provides the pro-posed IWRTS-MLGD algorithm in detail. The computational complexity analysis is also included. Section IV shows the simulation results. Finally, section V presents the conclusion.
II. CONSTRUCTION OFTWO-FOLDEG CODES AND
TS-MLGD ALGORITHM
Consider a d-dimensional Euclidean geometry EG(d, q) over the field GF(q). The field GF(qd) as an extension field
of the field GF(q) is a realization of EG(d, q). Let α be a primitive element of GF(qd). Then the powers of α, α−∞=
0, α0= 1, α, ...αqd−2
, represent the qdpoints of EG(d, q) and α−∞= 0 represents the origin of EG(d, q). Let EG∗(d, q) be a subgeometry obtained from EG(d, q) by removing the origin and all the lines passing through the origin. Let n = qd− 1.
There are n nonorigin points and J0= n(qd−1− 1)/(q − 1)
lines not passing through origin in EG∗(d, q). A line has q points. If a point is on a line in EG∗(d, q), we say that the line passes through the point(or orthogonal on the point). Every point in EG∗(d, q) is intersected by J1 = n/(q − 1) − 1
lines. For the i-th line Li in EG∗(d, q), where 0 ≤ i < J0,
there are J2 = qd−1 − 2 lines parallel to it denoted as
Lt,i, where 0 ≤ t < J2. Let {Li, Lt,i} be a (1, 2)-frame
in EG∗(d, q). There are J2 (1, 2)-frames orthogonal on line
Lidenoted as{Li, L0,i}, {Li, L1,i}, . . . , {Li, LJ2−1,i}. There
are a total of r = n(qd−1− 1)(qd−1− 2)/2(q − 1) (1, 2)-frames in EG∗(d, q). We consider an r × n matrix H over GF(qd) with each row as a binary incidence vector of the
(1, 2)-frames in EG∗(d, q). Then the null space of H gives a cyclic code of length n, called as two-fold EG [11] code. 1089-7798/13$31.00 c 2013 IEEE
CHANG et al.: AN ITERATIVE WEIGHTED RELIABILITY DECODING ALGORITHM FOR TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 1981
The generator polynomial g(X) of a two-fold EG code can be found in [8].
Let u = (u0, u1, u2, · · · , un−1) be a codeword of
two-fold EG code. Suppose u is transmitted via BPSK with unit energy over the binary AWGN with two-sided power spectral density N0/2. Let y= (y0, y1, y2, · · · , yn−1) be the sequence
of samples at the output of the sampler in the receiver. Let z= (z0, z1, z2, · · · , zn−1) be the hard decision sequence of y. The hard decision received sequence will be a two-fold EG codeword if HzT = 0 or if the polynomial representation z(X)
of z is divisible by the generator polynomial g(X). The parity-check matrix H can be built by using the (1, 2)-frames with J0lines in EG∗(d, q). Consider the i-th line Liin EG∗(d, q),
where0 ≤ i < J0. Let vLi be the incidence vector of line Li denoted as vLi = {vi,0, vi,1, · · · , vi,n−1} whose components are the n-tuples over GF(2) that correspond to the n non-origin points of EG∗(d, q) with vi,j = 1 if αj is a point on
Li, otherwise vi,j = 0, where 0 ≤ j < n. Based on the J0
lines in EG∗(d, q), we form a J0×n matrix denoted as L, with
J0incidence vectors of lines as rows and n points as columns. Let vL0,vL1,· · · ,vLJ0−1be the rows of L. For0 ≤ i < J0 and 0 ≤ j < n, we define Ni = {j : 0 ≤ j < n, vi,j= 1} and
Mj= {i : 0 ≤ i < J0, vi,j= 1}. The indices in Nidenote the
location of 1-component in the i-th row of L. The indices in Mj denote the location of 1-component in the j-th column of L. Let S(Li) be the line-sum of Li, which can be calculated
by the inner product of z and the incidence vector vLi as follows:
S(Li) =
j∈Ni
zj. (1)
Consider a (1, 2)-frame F = {Li, Lt,i} in EG∗(d, q). The
frame-sum of F can be derived by XOR two line-sums: S(Li)
and S(Lt,i), denoted as S(F ) = S(Li) ⊕ S(Lt,i), where ⊕ is
the XOR operation. Because Lt,i is also a line in EG∗(d, q),
both S(Li) and S(Lt,i) can be calculated by (1), which equal
to either0 or 1. There are a total of r frame-sums in the parity-check matrix H. Each frame-sum is the inner product of z and the binary incidence vector of(1, 2) frame F composed of two lines Li and Lt,i in EG∗(d, q).
Consider updating a received bit zj in a two-fold EG code
[11], where 0 ≤ j < n. The received bit zj corresponds to a
point αjin EG∗(d, q). There are J
1lines in EG∗(d, q) passing
through αj denoted as Lj
u, where 0 ≤ u < J1. The line-sum
of Lj
u is denoted as S(Lju). These line-sums are orthogonal
on zj. For0 ≤ t < J2, there are J2lines in EG∗(d, q) parallel
to Lj
u, denoted as Ljt,u. The line-sum of Ljt,u is denoted as
S(Ljt,u). The first step of decoding is to decode S(Lju) using
the J2 (1, 2)-frames of EG∗(d, q) that are orthogonal on Lju.
Let Fj,u,t = {Lj
u, Ljt,u} be a (1, 2)-frame in EG∗(d, q) that
is orthogonal on Lj
u. The frame-sum of Fj,u,t is denoted
as S(Fj,u,t) = S(Lj
u) ⊕ S(Ljt,u). The line-sum S(Ljt,u) of
S(Fj,u,t) is the extrinsic information for decoding S(Lj u). A
received bit in z that is not contained in Lj
u can appear in at
most one Ljt,u. With the above concept, we can decode the
value of S(Lj
u) correctly with MLGD using the J2 S(Fj,u,t)
that are orthogonal on S(Lj
u) provided there are no more than
J2/2 errors in z. The second step of decoding is to decode zj
by J1S(Lj
u) that are orthogonal on zj. Any received bit of z
other than zjcan appear in at most one of these J1lines. These
bits orthogonal on zj are the extrinsic information for zj. The
intrinsic information of zj comes from the hard-decision of
itself. Since J1 > J2, with MLGD based on these J1 lines,
the value of zj can be correctly decoded with no more than
J2/2 errors in received bits [11]. The above decoding of a
two-fold EG code is called two-step (TS)-MLGD. III. ITERATIVEWEIGHTEDRELIABILITYDECODING
ALGORITHM FORTWO-FOLDEG CODES
TS-MLGD is a one-pass decoding algorithm with only hard-decision values from the received bits. TS-MLGD has low computational complexity, yet its performance can be greatly improved. In [8], TS-IDA algorithm improved the performance of two-fold EG codes by employing the soft information from the channel along with an iterative decoding process. The computational complexity of TS-IDA is very large because much of its computation involves real number. In the following, we propose an iterative decoding algorithm called iterative weighted reliability two-step-MLGD (IWRTS-MLGD) algorithm which utilizes only logical operations and integer additions. The unweighted algorithm is also included. Let rj be the quantized value of the sample yj, where
0 ≤ j < n. The quantized value is an integer representation of the 2b − 1 quantized intervals symmetric to the origin.
Each interval has a length and is represented by b bits. Therefore, rjis in the range of
−(2(b−1)− 1), +2(b−1)− 1.
The magnitude |rj| of rj gives the soft measure of the
reliability of the hard decision received bit zj. Next, we need
some notations to employ the iterative decoding process. Let l be the iteration number. Let lmaxbe the maximum iterations
to be performed in the decoding process. For0 ≤ l < lmax, let
z(l)= {z(l)0 , z(l)1 , · · · , zn−1(l) } be the received vector generated
in the l-th iteration decoding, where zj(l) is the j-th hard-decision received bit at the l-th iteration. In each iteration, we first update the line-sum of all the lines by
S(l)(Li) =
j∈Ni
z(l)j . (2)
Let R(l)j be the reliability measure of the j-th bit at the
l-th iteration. Moreover, let ψ(l)(Li) be the reliability measure
of Li at the l-th iteration, which is determined by the least
reliable bit in Li as
ψ(l)(Li) = min j∈Ni
|R(l)j |. (3)
We set Rj(0) equal to the reliability rj as an initial reliability
measure of a received bit zj. Note that S(l)(Li) and ψ(l)(Li)
can be shared during the decoding process for the received bits of z(l)in an iteration. The received bit zjparticipates in Fj,u,t
consisting of two parallel lines, Lj
u and Ljt,u. The line-sum
of Lj
u and Ljt,u at the l-th iteration are denoted as S(l)(Lju)
and S(l)(Ljt,u), respectively. Both S(l)(Lju) and S(l)(Ljt,u) can
be derived from (2). Besides, ψ(l)(Ljt,u) can be derived from
(3). Suppose we update z(l)j in Lju, where 0 ≤ u < J1. The
1982 IEEE COMMUNICATIONS LETTERS, VOL. 17, NO. 10, OCTOBER 2013
steps. In the first step, the extrinsic information contributed by the J2 parallel lines for the u-th line is calculated by
φ(l)u = J2−1 t=0 ψ(l)(Ljt,u) 2S(l)(Lj t,u) − 1 . (4)
Let ϕ(l)u be the hard-decision of φ(l)u , which can be expressed
by an indicator function ϕ(l)u = I(φ(l)u > 0). In the second
step, the extrinsic information is contributed by the received bits of z(l) that participate in Lj
u except z(l)j which is given
by
σu,j(l) = S(l)(Lju) ⊕ zj(l). (5)
The total extrinsic information can be derived from the afore-mentioned two steps by J1σ(l)u,jXOR ϕ
(l)
u along with a scaling
factor α as Ej(l)= α J1−1 u=0 2(σ(l)u,j⊕ ϕ(l) u ) − 1 , (6)
where α can be optimized by simulation. The reliability measure for the j-th received bit zj(l+1) at the (l + 1)-th
iteration is calculated by
R(l+1)j = R(l)j + Ej(l). (7)
In addition, in updating the soft reliability value R(l)j for a
received bit zj, if the magnitude|Rj(l)+ E (l)
j | is larger than
the quantization range (2(b−1) − 1), the reliability value is set to (2(b−1)− 1). Thus, the soft reliability value is always clipped under the maximal value of the quantization. If an unweighted decoding algorithm is desired, the scaling factor should be set to 1. With the concept and notations defined above, the proposed algorithm is formulated as Algorithm 1. Algorithm 1 IWRTS-MLGD algorithm for two-fold EG codes
1: Initialization:
Set z(0)=z, l = 0, and the maximum number of iterations to lmax. For0 ≤ j < n, set R(0)j = rj.
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, stop decoding and output z(l) as the decoded codeword. If l=lmax and s(l)(X) =0,
stop decoding and declare a decoding failure.
3: For0 ≤ i < J0, compute all S(l)(Li) and ψ(l)(Li) by (2)
and (3).
4: Update Ej(l) by (4), ϕ(l)u , (5), and (6).
5: Update the reliability measure of R(l+1)j by (7). 6: l ← l + 1. Make the following hard-decision:
1) if R(l)j ≤ 0, then zj(l) = 0, and 2) if Rj(l) > 0, then
zj(l)= 1. Form a new received vector z(l). Go to Step 2.
We analyze the computational complexity as follows. For step 3, there are J0 = n(q(d−1) − 1)/(q − 1) lines in EG∗(d, q). The line-sum of a line needs (q − 1) logical XOR operations. Thus, it needs n(q(d−1) − 1) XOR operations to compute all the line-sums in EG∗(d, q). In addition, it needs q − 1 comparisons to determine the minimum value for the reliability of a line. Therefore, a total of n(q(d−1)− 1)
TABLE I
COMPUTATION COMPLEXITY REQUIRED PER ITERATION OFSPA, DBMPA, TS-IDA,AND PROPOSEDIWRTS-MLGDALGORITHM. Decoding algorithm Computation Cost per Iteration
BO IA RA RM Log
SPA [5] 6n2 n
DBMPA [10] 4n2+ n 4n2+ 2n
TS-IDA [8] 3n3/2 n2+ n 7n3/2
IWRTS-MLGD 3n3/2 n2+ n
BO:Binary Operation; IA:Integer Addition; RA:Real Addition;
RM:Real Multiplication; Log:Logarithm;
comparisons is needed. In step 4, S(l)(Lj
u) and S(l)(Ljt,u)
are derived by assigning their corresponding line-sums in S(l)(Li). Meanwhile, ψ(l)(Ljt,u) is derived by assigning its
corresponding reliability of line in ψ(l)(Li). In (4), it needs
J2 − 1 integer additions and J2 logical operations for φ(l)u .
In addition, a logical operation is needed to determine the hard-decision of ϕ(l)u . (5) needs a logical operation and (6)
needs J1− 1 integer additions with J1− 1 logical operations.
The scaling factor α is set to be an integer for simplicity. If the scaling factor is an even number, the scaling can be accomplished with a simple shift operation. Otherwise, the scaling operation needs to add the original value to the shifted value, this will require another J1n integer additions. Step 5 requires n integer additions to update the reliability of the n received bits. Finally, step 6 needs n logical operation to test the sign of an integer. To perform one iteration, we need n(J1+J2+3)+J0(q−1) ≈ 3qd−1(qd− 1) logical operations,
J0(q − 1) + n{J1J2− (J1+ J2) + 2} ≈ qd(qd− 1) integer
additions. Since the code length is n = qd − 1, by taking
d = 2 for two-fold EG codes constructed by two dimensional Euclidean geometry, the number of logical operations is of O(n3/2), while the number of integer additions is of O(n2).
In Table I we compare the numbers of operations per iteration required by SPA [5], DBMPA [10], TS-IDA [8], and the proposed IWRTS-MLGD. The numbers of operations for SPA and DBMPA are obtained from Table I in [9]. The number of operations for TS-IDA is derived from the analysis in [8]. In [9], δ is the number of 1-entries in the parity-check matrix H. There are n(qd−1− 1)(qd−1− 2)/2(q − 1)
rows in H with each row containing 2q 1’s. Therefore, δ = 2q × n(qd−1− 1)(qd−1− 2)/2(q − 1) ≈ n2. With
some translations, we demonstrate the complexity comparison in terms of n. Table I shows that the computation of the proposed IWRTS-MLGD with binary operations and integer additions employs the least operations compared to SPA and TS-IDA with real number operations. In addition, the proposed algorithm reduces computational complexity by at least 75 percent compared to DBMPA, which is also a binary message passing algorithm.
IV. SIMULATIONRESULTS
In the following two examples, we use 8-bit uniform quantization with255 levels and an interval length = 0.015 for(255, 191) code, and 10-bit uniform quantization with 1024 levels and an interval length = 0.0075 for (1023, 813) code.
CHANG et al.: AN ITERATIVE WEIGHTED RELIABILITY DECODING ALGORITHM FOR TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 1983 (E1G% %(5 76,'$,WU ,:5760/*',WU ,5760/*',WU 63$,WU '%03$,WU %&+%0 760/*'>@
Fig. 1. Error performance of the two-fold EG code(255, 191) in Ex. 1 with various decoding algorithms over the AWGN channel.
(E1G% %(5 76,'$,WU ,:5760/*',WU ,5760/*',WU 63$,WU '%03$,WU %&+%0 760/*'>@
Fig. 2. Error performance of the two-fold EG code(1023, 813) in Ex. 2 with various decoding algorithms over the AWGN channel.
Both codes have scaling factor α = 3. The interval length and the scaling factor are obtained by simulation. The proposed unweighted decoding algorithm is denoted as IRTS-MLGD.
Example 1: Regarding GF (28) as the geometry for the two-dimensional EG(2, 24), the two-fold EG code (255, 191)
can be constructed. Fig. 1 shows the bit error performance of the proposed algorithms and TS-IDA with 5 iterations, DBMPA with 30 iterations, SPA with 50 iterations and TS-MLGD. The performance of a(255, 191) BCH code with min-imum distance 17 decoded by the hard-decision Berlekamp-Massey(BM) algorithm [11] is also included. At BER of10−6, the proposed IWRTS-MLGD degrades 0.5dB from TS-IDA, but outperforms IRTS-MLGD, SPA, DBMPA, BCH code, and TS-MLGD by0.4-, 0.8-, 1.2-, 1.3- and 1.4-dB, respectively.
Example 2: Regarding GF (210) as the geometry for the two-dimensional EG(2, 25), the two-fold EG code (1023, 813)
can be constructed. Fig. 2 depicts the bit error performance of the proposed algorithms, TS-IDA with 5 iterations, DBMPA with 30 iterations, SPA with 50 iterations and TS-MLGD. The performance of a (1023, 818) BCH code with minimum distance43 decoded by the hard-decision BM algorithm is also included. At BER of 10−7, IWRTS-MLGD degrades0.5dB from TS-IDA, but outperforms IRTS-MLGD, SPA, DBMPA, BCH code and TS-MLGD by 0.2-, 0.6-, 0.8-, 1- and 1.2-dB, respectively.
V. CONCLUSION ANDREMARKS
In this letter, we develop an iterative weighted reliability decoding algorithm for TS-MLG-decodable cyclic codes that utilizes the orthogonal structure of the parity-check matrices. Although the algorithm is developed for a special subclass of TS-MLG-decodable cyclic codes, called two-fold EG codes, it can be applied to any TS-MLG-decodable cyclic code. Unlike TS-IDA using real number operations, our proposed algorithm utilizes only logical operations and integer additions, thus reducing computational complexity. From simulation results, though the two-fold EG codes decoded with the proposed IWRTS-MLGD algorithm are0.5dB away from TS-IDA, the proposed algorithm outperforms standard SPA and binary mes-sage passing DBMPA at least0.6dB. Besides, it achieves 1dB gain over similar length BCH codes decoded with the hard-decision BM algorithm, and 1.2dB gain over hard-decision TS-MLGD.
REFERENCES
[1] L. D. Rudolph, “Geometric configuration and majority logic decodable codes,” M.E.E. thesis, University of Oklahoma, Norman, 1964. [2] T. Kasami and S. Lin, “On majority-logic decoding for duals of primitive
polynomial codes,” IEEE Trans. Inf. Theory, vol. 17, no. 3, pp. 322–331, May 1968.
[3] S. Lin, “Multifold euclidean geometry codes,” IEEE Trans. Inf. Theory, vol. 19, no. 4, pp. 537–548, July 1973.
[4] Y. Kou, S. Lin, and M. Fossorier, “Low-density parity-check codes based on finite geometries: a rediscovery and new results,” IEEE Trans. Inf.
Theory, vol. 47, pp. 2711–2736, Nov. 2001.
[5] F. R. Kschischang, B. J. Frey, and H. A. Loeliger, “Factor graphs and the sum-product algortihm,” IEEE Trans. Inf. Theory, pp. 498–519, Feb. 2001.
[6] J. Chen and M. Fossorier, “Near optimum universal belief propagation based decoding of low density parity check code,” IEEE Trans.
Com-mun., pp. 406–414, Mar. 2002.
[7] L. Zhang, Q. Huang, and S. Lin, “Iterative decoding of a class of cyclic codes,” in Proc. 2010 ITA.
[8] ——, “Iterative algorithms for decoding a class of two-step majority logic decodable cyclic codes,” IEEE Trans. Commun., vol. 59, no. 2, pp. 416–427, Feb. 2010.
[9] Q. Huang, J. K. Kang, L. Zhang, S. Lin, and K. Abdel-Ghaffar, “Two reliability-based iterative majority-logic decoding algorithms for LDPC codes,” IEEE Trans. Commun., vol. 57, no. 12, pp. 3597–3606, Dec. 2009.
[10] N. Mobini, A. H. Banihashemi, and S. Hemati, “A differential binary message-passing LDPC decoder,” IEEE Trans. Commun., vol. 57, no. 2, pp. 2518–2523, Feb. 2009.
[11] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and