05668918
Transcript of 05668918
416 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
Iterative Algorithms for Decoding a Class ofTwo-Step Majority-Logic Decodable Cyclic Codes
Li Zhang, Qin Huang, and Shu Lin, Life Fellow, IEEE
AbstractβCodes constructed based on finite geometries forma large class of cyclic codes with large minimum distances whichcan be decoded with simple majority-logic decoding in one ormultiple steps. In 2001, Kou, Lin and Fossorier showed that theone-step majority-logic decodable finite geometry codes form aclass of cyclic LDPC codes whose Tanner graphs are free of cyclesof length 4. These cyclic finite geometry LDPC codes performvery well over the AWGN channel using iterative decoding basedon belief propagation (IDBP) and have very low error-floors.However, the standard IDBP is not effective for decoding othercyclic finite geometry codes because their Tanner graphs containtoo many short cycles of length 4 which severely degrade thedecoding performance. This paper investigates iterative decodingof two-step majority-logic decodable finite geometry codes. Threeeffective algorithms for decoding these codes are proposed. Thesealgorithms are devised based on the orthogonal structure ofthe parity-check matrices of the codes to avoid or reduce thedegrading effect of the short cycles of length 4. These decodingalgorithms provide significant coding gains over the standardIDBP using either the sum-product or the min-sum algorithms.
Index TermsβFinite geometry code, iterative decoding, two-fold EG-code, cyclic code.
I. INTRODUCTION
LOW-DENSITY parity-check (LDPC) codes [1] are cur-rently recognized as the most promising coding technique
to achieve the ultimate limits of robust communications overnoisy channels. Among the classes of LDPC codes that havebeen constructed or designed, the only class of LDPC codesthat are cyclic is the class of finite geometry (FG) LDPC codes[2] whose parity-check matrices are formed by the incidencevectors of lines in finite geometries, such as Euclidean orprojective geometries. The associated Tanner graphs of theseparity-check matrices are free of cycles of length 4 and hencehave girth of at least 6. Cyclic FG-LDPC codes have largeminimum distances and perform well with IDBP using eitherthe sum-product algorithm (SPA) [3], [4], [5] or the mini-sum algorithm (MSA) [6]. LDPC codes constructed basedon Euclidean geometries are called Euclidean geometry (EG)LDPC codes and those constructed based on projective geome-tries are called projective geometry (PG) LDPC codes. CyclicFG-LDPC codes can be systematically encoded with simple
Paper approved by T. M. Duman, the Editor for Coding Theory andApplications of the IEEE Communications Society. Manuscript receivedOctober 13, 2009; revised June 26, 2010.
The authors are with the Department of Electrical and Computer En-gineering, University of California, Davis, CA, 95616, USA (e-mail:[email protected]).
This research was supported by NSF under the Grant CCF-0727478and NASA under the Grant NNX09AI21G and gift grants from NorthropGrumman Space Technology.
Digital Object Identifier 10.1109/TCOMM.2010.120710.090624
feedback shift registers in linear time with linear complexity[7].
Cyclic FG-LDPC codes actually form a small subclass ofa very large class of majority-logic (MLG) decodable cyclicFG-codes [7] constructed in the 1960βs and 1970βs [8]-[18].They are one-step MLG-decodable FG-codes (i.e., they canbe decoded with majority-logic decoding (MLGD) in onestep) and the rest of FG-codes are multi-step MLG-decodable(i.e., MLGD requires more than one step) (see Chapter of[7] for MLGD). One may wonder whether multi-step MLG-decodable codes can also be effectively decoded with thestandard IDBP using either the SPA or the MSA. Our studyand simulations show that the standard IDBP is not effectivefor decoding multi-step MLG-decodable FG-codes becausethe Tanner graphs of these codes contain too many short cyclesof length 4. These short cycles of length 4 severely limit theeffectiveness of the standard IDBP. As a result, decoding of amulti-step MLG-decodable FG-code with the standard IDBPprovides only a small coding gain over the simple MLGD witha very large increase in decoding complexity. Consequently,for effective decoding of a multi-step MLGD-decodable FG-code, the IDBP must be modified and used in conjunctionwith certain geometric structures of its parity-check matrix toavoid (or reduce the degrading effect) of short cycles of length4 in the process of computing reliability messages that arepassed between variable nodes (VNs) and check nodes (CNs)of the codeβs Tanner graph. One such geometric structure is theorthogonal structure of flats and lines of the code constructiongeometry [7].
In this paper, we use a subclass of two-step (TS) MLG-decodable EG-codes to demonstrate that effective iterativedecoding can be devised based on the orthogonal structureof the parity-check matrices of the codes. Three iterativedecoding algorithms are devised. Each decoding algorithmperforms a sequence of iterations and each iteration updatesthe reliability measures (log-likelihood ratios (LLRs)) of thereceived symbols in two steps. The LLR of each code symbolis updated by processing a five-level message-passing tree(MPT) which contains no cycle of length 4. The five-levelMPT is constructed based on the orthogonal structure of theparity-check matrix of a TS-MLG-decodable EG-code to bedecoded. The LLRs of the received symbols can be updatedusing either the SPA (or the MSA) with some modifications.The novelties of the three proposed decoding algorithms arethe use of two-level MPTs based on the orthogonal structureof the parity-check matrices of the TS-MLG-decodable codesand the modifications of the SPA (or the MSA).
The rest of this paper is organized as follows. Section II
0090-6778/11$25.00 cβ 2011 IEEE
ZHANG et al.: ITERATIVE ALGORITHMS FOR DECODING A CLASS OF TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 417
presents the construction of a class of TS-MLG-decodablecyclic EG-codes and the orthogonal structure of their parity-check matrices that is used to devise the proposed decodingalgorithms. The codes in this class are shown to have largeminimum distances. Sections III to V gives three iterativedecoding algorithms (IDAs) for the codes presented in SectionII. The first two proposed algorithms perform SPA in two stepsusing the MPTs, one for serial decoding and the other forparallel decoding. The third proposed algorithm performs theMSA in two steps using the MPTs. Computational complex-ities of the proposed algorithms are also discussed in thesesections. Section VI concludes the paper with some remarks.
Before we leave this introduction section, we would like topoint out that iterative decoding of multi-step MLG-decodableFG-codes was investigated in an earlier paper [19]. In thatpaper, two iterative bit-flipping (BF) algorithms were proposedfor decoding multi-step MLG-decodable FG-codes for thebinary symmetric channel (BSC). They are hard-decisiondecoding algorithms, unlike the IDAs devised in this paperwhich are soft-in and soft-out decoding algorithms for AWGNchannel.
II. A CLASS OF TS-MLG-DECODABLE CYCLIC
EG-CODES
In this section, we give a brief description of the construc-tion, structures and decoding of a class of cyclic EG-codesthat are TS-MLG-decodable. This class of codes is a subclassof a large class of MLG-decodable codes, called multifoldEuclidean geometry codes, constructed based on Euclideangeometries in 1973 by Lin [17]. Codes in this class will beused to develop the main concepts of the IDAs to be presentedin Sections III to V.
A. Code Construction and Orthogonal Structure
Consider an π-dimensional Euclidean geometry EG(π, π)over the field GF(π) where π is a power of a prime[7], [20], [21]. This geometry consists of ππ points andππβ1 (ππ β 1)
/(π β 1) lines. A point in EG(π, π) is simply
an π-tuple over GF(π) and the zero π-tuple is called theorigin. A line in EG(π, π) is simply a one-dimensionalsubspace or its coset of the vector space of all the ππ π-tuplesover GF(π). A line contains π points. If a point p is on a lineπΏ in EG(π, π), we say the line πΏ passes through the point p.Any two points in EG(π, π) are connected by one and onlyone line in EG(π, π). For every point p in EG(π, π), thereare (ππ β 1) / (π β 1) lines that intersect at (or pass through)the point. These lines are called an intersecting bundle of linesat the point p and said to be orthogonal on p. Any point inEG(π, π) other than p can only appear on at most one of theseorthogonal lines. For each line in EG(π, π), there are ππβ1β1lines parallel to it. Two parallel lines do not have any pointin common. The lines in EG(π, π) can be partitioned into(ππ β 1) / (π β 1) groups, each consisting of ππβ1 parallellines, which is called a parallel bundle of lines.
The field GF(ππ) as an extension field of the field GF(π) isa realization of EG(π, π) [7], [20], [21]. Let πΌ be a primitiveelement of GF(ππ). Then, the powers of πΌ, i.e., πΌββ β 0,
πΌ0 = 1, πΌ, πΌ2,. . ., πΌππβ2, give all the ππ elements of GF(ππ)
and they represent the ππ points of EG(π, π).Let EG*(π, π) be the subgeometry obtained from EG(π, π)
by removing the origin and all the lines passing through theorigin. This subgeometry consists of ππβ1 non-origin pointsand
(ππβ1 β 1
)(ππ β 1)
/(π β 1) lines not passing through
the origin. Each line in EG*(π, π) has ππβ1β2 lines parallelto it. Hence, each parallel bundle of lines in EG*(π, π)consists of ππβ1 β 1 parallel lines not passing through theorigin. Each intersecting bundle of lines in EG*(π, π) at anon-origin point consists of (ππ β 1) / (π β 1)β 1 lines.
Let πΏ ={πΌπ1 , πΌπ2 , . . . , πΌππ
}be a line in EG*(π, π). For
0 β€ π < ππ β 1, let πΌππΏ ={πΌπ1+π, πΌπ2+π, . . . , πΌππ+π
}. Then,
πΌππΏ is also a line in EG*(π, π) [7]. The lines, πΌ0πΏ = πΏ, πΌπΏ,. . . , πΌπ
πβ2πΏ are ππ β 1 different lines in EG*(π, π) andthey are said to form a cyclic class. The lines in EG*(π, π)can be partitioned into
(ππβ1 β 1
) /(π β 1) cyclic classes.
For 0 β€ π, π < ππβ1 β 1, let πΏπ and πΏπ be two differentparallel lines in a parallel bundle P of EG*(π, π). We say that{πΏπ, πΏπ} forms a (1,2)-frame of EG*(π, π) which consists of2π points of EG*(π, π). For 0 β€ π < ππβ1 β 1, let πΏπ beanother line in the parallel bundle P. Then, the two (1,2)-frames {πΏπ, πΏπ} and {πΏπ, πΏπ} intersect on the line πΏπ (i.e.,they have the π points of πΏπ in common). For any line πΏπ
in a parallel bundle P of EG*(π, π), we can form ππβ1 β 2(1,2)-frames that intersect on πΏπ. We say that these ππβ1β 2(1,2)-frames are orthogonal on πΏπ. A point not on πΏπ canappear on at most one of these orthogonal (1,2)-frames. Foreach parallel bundle P of lines,
(ππβ1 β 1
) (ππβ1 β 2
) /2
distinct (1,2)-frames can be formed. Consequently, there are atotal of
π = (ππ β 1)(ππβ1 β 1
) (ππβ1 β 2
) /2 (π β 1)
(1,2)-frames in EG*(π, π).Let π = {πΏπ, πΏπ} be a (1,2)-frame in EG*(π, π). Based
on π, we define the following (ππ β 1)-tuple over GF(2),v (π) = (π£0, π£1, . . . , π£ππβ2), whose components correspondto the (ππ β 1) non-origin points πΌ0, πΌ, πΌ2, . . . , πΌπ
πβ2 ofEG*(π, π), where π£π = 1 if πΌπ is a point on π and π£π = 0otherwise. This (ππ β 1)-tuple v (π) is called the incidencevector of the (1,2)-frame π. Due to the cyclic structure oflines in EG*(π, π) (i.e., if πΏ is a line, πΌπΏ is also a line),πΌπ = {πΌπΏπ, πΌπΏπ} is also a (1,2)-frame in EG*(π, π). Thisimplies that the cyclic-shift (one place to the right) of theincidence vector v (π) of the (1,2)-frame π is the incidencevector of the (1,2)-frame πΌπ.
Let π = ππ β 1. Form an π Γ π matrix H over GF(2)with the incidence vectors of the (1,2)-frames of EG*(π, π)as rows. Then the null space of H gives a cyclic code oflength π, called a two-fold EG-code, denoted π2βπ,πΈπΊ. Sincethis code is cyclic, it is specified by its generator polynomialg (π). The two-fold EG-codes constructed based on parallellines of EG*(π, π) form a special subclass of the multi-foldEG-codes in [17].
For π = 2π , the roots of the generator polynomial g (π) ofa two-fold EG-code can be determined. Let πΌ be a primitiveelement of the field GF(2ππ ). Let β be a nonnegative integerless than 2ππ . It can be expressed in radix-2π form as follows:
β = π0 + π12π + π22
2π + . . .+ ππβ12(πβ1)π
418 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
where 0 β€ ππ < 2π for 0 β€ π < π. The 2π -weight of β,denoted π2π (β), is defined as π2π (β) =
βπβ1π=0 ππ. Let β(π)
be the remainder resulting from dividing 2πβ by 2ππ β 1. Itis clear that 0 β€ β(π) < 2ππ β 1. Then πΌβ is a root of thegenerator polynomial g (π) if and only if [17]
0 < max0β€π<π
π2π
(β(π))< (πβ 1) (2π β 1) .
Once the roots of g (π) are found, then g (π) is the leastcommon multiple of the minimum polynomials of its roots [7].For π = 2, g (π) has πΌ, πΌ2,. . . , πΌ2
π β2 as roots (consecutivepowers of πΌ). It follows from the BCH bound [7] that theminimum distance of the code is at least 2π β1. It was provedin [17] that the minimum distance for this special case isexactly 2π β 1 and its number of parity symbols is given by(π+ 1)π βππ β 1.
B. TS-MLGD Based on Orthogonal Check-Sums
A two-fold EG-code, π2βπ,πΈπΊ, is TS-MLG-decodable [7],[17]. Let u = (π’0, π’1, . . . , π’ππβ2) be a codeword in π2βπ,πΈπΊ
to be transmitted over the binary-input AWGN channel withtwo-sided power spectral density π0/2. Assume transmissionusing BPSK signaling with unit energy per signal. Thenthe codeword u is mapped into a sequence of BPSK sig-nals for transmission. This sequence of BPSK signals iscommonly represented by a bi-polar code sequence, (1 β2π’0, 1 β 2π’1, . . . , 1 β 2π’ππβ2), where the πth component1 β 2π’π = +1 for π’π = 0 and 1 β 2π’π = β1 for π’π = 1.Let y = (π¦0, π¦1, . . . , π¦ππβ2) be the sequence of samples atthe output of the channel receiver sampler. This sequence iscommonly referred to as a soft-decision received sequence.The samples of y are real numbers with π¦π = (1β 2π’π) + π₯πfor 0 β€ π < ππ β 1, where π₯π is a Gaussian random variablewith zero-mean and variance π2 = π0/2. If the samplesof y are two-level quantized, we obtain a binary sequencez = (π§0, π§1, . . . , π§ππβ2) which is commonly called the hard-decision received sequence. This hard-decision received se-quence is a codeword of π2βπ,πΈπΊ if and only if Hzπ = 0(or the polynomial representation z(π) of z is divisible bythe generator polynomial of the code [7]). In decoding, wefirst form all the check-sums from z and the incidence vectorsof all the (1,2)-frames of EG*(π, π) (they are rows of theparity-check matrix H). Each check-sum is the inner productof z and the incidence vector v(π) of a (1,2)-frame π inEG*(π, π) (a row of the parity-check matrix H).
Let πΏ be a line in EG*(π, π). As shown earlier, thereare π½1 = ππβ1 β 2 (1,2)-frames orthogonal on πΏ. Each ofthese (1,2)-frames is of the form of ππ = {πΏ,πΏπ} whereπΏπ is a line parallel to πΏ with 0 β€ π < π½1. The check-sumπ (ππ) computed from z and the incidence vector v (ππ) ofππ consists of two parts π (πΏ) and π (πΏπ), where π (πΏ) is thesum of the received bits of z at the locations corresponding tothe points on πΏ and π (πΏπ) is the sum of the received bits ofz at the locations corresponding to the points on πΏπ. Clearly,π (ππ) = π (πΏ) + π (πΏπ). Both π (πΏ) and π (πΏπ) are either0 or 1. All the π½1 check-sums computed from the receivedsequence z and the incidence vectors of the π½1 (1,2)-framesof EG*(π, π) orthogonal on πΏ contain the sum π (πΏ). We saythat these π½1 check-sums are orthogonal on the sum π (πΏ). A
received bit in z that is not contained in the sum π (πΏ) canappear in at most one of the sums, π (πΏπ)βs, with 0 β€ π < π½1.Based on this fact, with MLGD [7], we can decode the value ofπ (πΏ) correctly from the π½1 check-sums orthogonal on π (πΏ)provided that there are no more than βπ½1/2β errors in z. In thismanner, we can determine the sums π (πΏ)βs that correspondto all the lines in EG*(π, π). This completes the first step ofthe decoding. The sums π (πΏ)βs are called line-sums.
Let Ξ©(πΏ) denote the set of π½1 check-sums orthogonal onπ (πΏ), i.e., Ξ©(πΏ) = {π (ππ) : ππ = {πΏ,πΏπ}, 0 β€ π < π½1}.In decoding the line-sum π (πΏ) with MLGD, the informationcontributed by the received bits of z contained in the sums,π (πΏ0) , π (πΏ1) , . . . , π (πΏπ½1β1), is actually the total extrinsicinformation in decoding the line-sum π (πΏ). The line-sumπ (πΏ) computed from the received bits of z at the positionscorresponding to the points on πΏ is the intrinsic informationfor decoding π (πΏ). Here, we divide the information fordecoding a line-sum π (πΏ) corresponding to a line πΏ into twoparts, the intrinsic and extrinsic information.
At the second step of the decoding, we find all the decodedline-sums π(πΏ)βs obtained at the first step of decoding thatcontain the received bit π§π . These line-sums correspond to thelines that intersect at the point πΌπ . Therefore, these line-sumsare orthogonal on π§π . There are π½2 = (ππ β 1)/(π β 1) β 1such line-sums which correspond to the π½2 lines in EG*(π, π)that intersect at the point πΌπ . Any received bit of z otherthan π§π can appear in at most one of these π½2 line-sums. Wesay that these π½2 line-sums are orthogonal on π§π . Note thatπ½2 > π½1. Then, with MLGD based on these π½2 line-sumsπ(πΏ)βs orthogonal on π§π , the value of π§π can be correctlydecoded provided that there are no more than βπ½1/2β errorsin z. Since the code is cyclic, all the received bits can bedecoded with a single circuit in serial manner [7]. Decodingis carried out one bit at a time from π§ππβ2 to π§0.
In decoding π§π , the information contributed by the receivedbits of z , excluding π§π , that are contained in the line-sums,π(πΏ)βs, orthogonal on π§π , is the extrinsic information. Thehard-decision value of π§π is the intrinsic information.
The above decoding of a two-fold EG-code is called TS-MLGD.
III. A SERIAL TWO-STEP ITERATIVE DECODING
ALGORITHM FOR TWO-FOLD CYCLIC EG-CODES
The TS-MLGD of two-fold EG-codes described in the lastsection is a one-pass decoding algorithm. In decoding of areceived bit π§π , the extrinsic information comes in two steps.At the first step, the extrinsic information comes from check-sums that are orthogonal on all the line-sums, π(πΏ)βs, thatare orthogonal on bit π§π . At the second step, the extrinsicinformation comes from all the received bits, excluding π§π ,that are contained in the line-sums, π(πΏ)βs, orthogonal on π§π .The intrinsic information for decoding π§π is just the hard-decision information π§π itself, 0 or 1.
The performance of the TS-MLGD of the two-fold EG-codecan be significantly improved if soft reliability informationof a received bit is included in its decoding and an iterativeprocess is employed to improve its extrinsic informationcontributed by other received bits and its reliability in each
ZHANG et al.: ITERATIVE ALGORITHMS FOR DECODING A CLASS OF TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 419
iteration. Since two intersecting (1,2)-frames in EG*(π, π)have π points in common, their incidence vectors have π 1-components in common. This implies that the two rows in theparity-check matrix H of a two-fold cyclic EG-code formed bythe incidence vectors of two intersecting (1,2)-frames have πpositions where they have 1-components. Consequently, in thecodeβs Tanner graph, two CNs that correspond to two intersect-ing (1,2)-frames are connected by
(π2
)(binomial coefficient)
cycles of length 4. Since there are π½1 = ππβ1β2 (1,2)-framesintersecting (or orthogonal) on a specific line πΏ in EG*(π, π),there are
(ππβ1β2
2
)(π2
)cycles of length 4 connecting the CNs
that correspond to π½1 (1,2)-frames orthogonal on πΏ. From this,we can see that the number of cycles of length 4 in the Tannergraph of the code is enormously large even for a small π anda moderate π. If we decode a two-fold cyclic EG-code withthe standard IDBP using the SPA, this large number of cyclesof length 4 would severely degrade the decoding performance.Therefore, to devise effective iterative algorithms for decodinga two-fold EG-code, these cycles of length 4 must be avoidedin computing the reliability messages passing between theVNs and CNs of the codeβs Tanner graph.
In this and next two sections, we devise three iterativealgorithms for decoding two-fold EG-codes to avoid (or re-duce) the performance degrading effect of cycles of length4. These algorithms are devised based on the concept of TS-orthogonality used in the TS-MLGD of two-fold EG-codespresented in Section II. The first two algorithms performs amodified SPA in two steps to compute the reliability messagespassing between the VNs and CNs of the codeβs Tanner graph,one processing received bits in serial manner and the otherin parallel manner. The third algorithm performs a modifiedMSA in two steps. The serial algorithm will be presented inthis section.
The log likelihood ratio (πΏπΏπ ) of a received bit π§π isdefined by
πΏπΏπ π = ln
(π (π’π = 0β£π¦π)π (π’π = 1β£π¦π)
).
The hard decision of the received bit π§π is based on thefollowing decision rule: π§π = (1 β sgn(πΏπΏπ π))/2, whereβsgnβ denotes the sign function.
For 0 β€ π < π, define the following index set ππ = {π :βπ,π = 1, 0 β€ π < ππ β 1}. The indices in ππ are simplythe locations of 1-components in the πth row of H. For 0 β€π < ππ β 1, define the index set ππ = {π : βπ,π = 1, 0 β€π < π}. The indices in ππ is simply the locations of the 1-components in the πth column of H. Suppose we decode atwo-fold EG-code with the conventional SPA. Let πΎπππ₯ bemaximum number of iterations to be performed. For 0 β€ π β€πΎπππ₯, the πΏπΏπ update of the πth received bit π§(π)π in the πthiteration of decoding is given by [1],πΏπΏπ
(π+1)π = πΏπΏπ πβπ,π+
βπβππ
β‘β£ββ β
πβππβπsgn
(πΏπΏπ
(π)π
)ββ π
ββ β
πβππβππ(β£πΏπΏπ (π)
π β£)ββ
β€β¦ ,
(1)
where
π(π₯) = ln
(exp(π₯) + 1
exp(π₯) β 1
),
and πΏπΏπ πβπ,π is computed from the channel information. If allthe πΏπΏπ s in (1) are independent, the update process is a localmaximum a posteriori (MAP) algorithm. On the right-side ofthe equation (1), the first and the second terms are simplythe intrinsic and extrinsic information for the πth receivedbit π§(π)π in the πth iteration of the SPA. For our proposediterative decoding algorithms, πΏπΏπ update of a received bitcomes in two steps based on the TS-orthogonality in decodinga received bit in the TS-MLGD. The updating process for areceived bit π§π is best explained by using a message passingtree (MPT) with root node corresponding to π§π , as shown inFigure 1. There are three types of nodes, VNs, super VNs(SVNs) and CNs. As usual, the VNs correspond to the codebits, the CNs correspond to the check-sums. A SVN is a nodecreated to collect extrinsic information contributed by the VNsof the upper layer for updating the LLR of the received bitπ§π .
Suppose we consider updating the πΏπΏπ (π)π of the πth
received bit π§(π)π in the πth iteration. This received bitcorresponds to the point πΌπ . Suppose this point is on theline πΏ of EG*(π, π). Hence, it is on the (1,2)-frames,{πΏ,πΏ0}, {πΏ,πΏ1}, . . . , {πΏ,πΏπ½1β1}, where πΏ0, . . . , πΏπ½1β1 arelines parallel to πΏ. The MPT consists of π½2 sub-trees fromleft to right, called sub-trees 0, 1, . . . , π½2 β 1. The π½2 sub-trees of the MPT correspond to the π½2 lines that intersectat the point πΌπ (or the π½2 line-sums π(πΏ)βs orthogonal onπ§(π)π ). Without loss of generality, we consider the 0th sub-tree
of the MPT, enclosed by dashed box. Each group of VNs atthe upper level of the 0th sub-tree of MPT corresponds tothe π points on line πΏπ for 0 β€ π < π½1. Each CN at the2nd level of the 0th sub-tree of MPT computes the line-sumπ(πΏπ) and its reliability. The group of VNs next to the SVNat the 3rd level of the 0th sub-tree of MPT corresponds toπβ1 points on πΏ, excluding the point πΌπ , denoted πΏβπΌπ . TheSVN at the 3rd level of 0th sub-tree collects all the extrinsicinformation from the CNs at the second level of the sub-tree.The single CN at 4th level collects the extrinsic informationfrom the VNs correspond to the points in πΏβπΌπ and the SVN.Then, this extrinsic information is passed to the VN π§π . TheVN π§π receives extrinsic information from π½2 sub-trees (or π½2CNs at the 4th level of MPT). The total extrinsic informationis then used to update the πΏπΏπ (π)
π of the VN π§π in theπth iteration. Initially, all VNs receive channel information,however the SVN receives no information from the channel,i.e., πΏπΏπ πβπ,π π£π = 0. Note that there are π points on a givenline πΏ in EG*(π, π). In updating the πΏπΏπ s of the received bitscorresponding to the points on πΏ, the computations requireddown to the SVN can be shared. The πΏπΏπ s of all the receivedbits can be carried out in the same manner.
At the end of πth iteration, hard-decisions of the receivedbits must be made based on their updated πΏπΏπ s. This resultsin a new received sequence z(π+1). We then need to determinewhether the next iteration is needed. This requires to checkwhether z(π+1) is codeword. This can be done easily bydividing the code polynomial z(π+1)(π) by the generatorpolynomial g(π) of the two-fold EG-code being decoded.This requires a division circuit, a shift-register with feedback
420 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
Variable Node
Super Variable Node
Check Node injLLR
Upper-level
2nd-level
3rd-level
4th-level
Root
Fig. 1. A message-passing tree.
connections based on g(π) [7].The above updating the πΏπΏπ of a received bit π§π consists
of two steps. The first step is to update the πΏπΏπ s of theπ½2 SVNs and the second step is to update the πΏπΏπ of thereceived bit π§π . Based on the above πΏπΏπ updating processand cyclic structure of a two-fold EG-code, a serial two-stepiterative decoding algorithm (TS-IDA) can be formulated.
Recall the received bits of z = (π§0, π§1, . . . , π§πβ1) corre-spond to the points, πΌ0 = 1, πΌ, πΌ2, . . ., πΌπβ1 of EG*(π, π).The powers of πΌ correspond to the indices (or locations) ofthe received bits of z. Consider the received bit π§π at theposition π. Let πΏ0,π, πΏ1,π, . . . , πΏπ½2β1,π be the π½2 lines thatintersect at the point πΌπ . For 0 β€ π < π½2, let π΄π,π be theset of indices of the received bits of z that correspond tothe points on πΏπ,π . Let {πΏπ,π, πΏπ,0,π,π}, {πΏπ,π, πΏπ,1,π,π}, . . .,{πΏπ,π, πΏπ,π½1β1,π,π} be the set of π½1 (1,2)-frames orthogonal onthe line πΏπ,π where πΏπ,0,π,π , πΏπ,1,π,π , . . ., πΏπ,π½1β1,π,π are linesparallel to πΏπ,π . The subscript βπβ stands for βparallelβ. For0 β€ π < π½1, let π΅π,π,π,π the set of indices of the received bitscorresponding to the points on the πth line πΏπ,π,π,π parallel toπΏπ,π . Let zπ = (π§
(π)0 , π§
(π)1 , . . . , π§
(π)πβ1) be the received sequence
generated in the πth iteration.Based on the MPT, the above definitions and cyclic structure
of a two-fold EG-code, a serial TS-IDA can be formulated asshown in Table I.
Note that, at Step 3, π cyclic-shifts are used to update theπΏπΏπ s of the π received bits. Cyclic updating the πΏπΏπ s ofthe received bits simplifies the hardware implementation ofthe πΏπΏπ updating circuit. Only a single circuit for updatingthe πΏπΏπ of the rightmost received bit is needed (similar tothe Meggitt decoder of a cyclic code [7]).
Between the two consecutive iterations, instead of usingthe extrinsic information, we use the output soft informationfor simplicity. However, the output information is always overoptimistic. Soft information scaling is a simple but effectivetechnique to overcome this problem. Scaling has been applied
to the suboptimal max-log-MAP turbo decoder to improvethe performance [22] because the suboptimal max-log processoverestimates the extrinsic information. For this iterative de-coder, the correlation increases with iterations. Therefore, thescaling factor is related to the number of iterations, the targetBER and the structure property of a specific code. However,since it is infeasible to know the degree of the overestimationof soft information, it is impractical to control the scalingfactor during the iterations. Hence, we simply employ a fixscaling factor π in the iterative decoder.
The above decoding algorithm for two-fold EG-codes basi-cally performs the SPA to update the πΏπΏπ of each receivedbit in two steps during each decoding iteration process.
IV. A PARALLEL TWO-STEP ITERATIVE DECODING
ALGORITHM FOR CYCLIC TWO-FOLD EG-CODES
With the serial TS-IDA, the πΏπΏπ s of received bits areupdated in serial cyclically one bit at a time at the Step3 of each iteration. This reduces hardware cost, however, itincreases the decoding delay. To reduce the decoding delay,we can devise a TS-IDA that updates the πΏπΏπ s of all thereceived bits in parallel. From the MPT of Figure 1, we notethat the πΏπΏπ s of the VNs that correspond to the points of aline in EG*(π, π) are computed multiple times in the serialTS-IDA. This set of πΏπΏπ s can be computed just once andshared during the πΏπΏπ updating process in an iteration. Theparallel TS-IDA devised in this section will take advantage ofthis information sharing to reduce computational complexity.
Recall that there are π½0 =(2(πβ1)π β 1
)(2ππ β 1) /
(2π β 1) lines in EG*(π, 2π ). We label all the lines withindices from 0 to π½0 β 1. In each iteration, we first updatethe πΏπΏπ s of all the lines (or line-sums), where the πΏπΏπ ofthe line with index π is denoted by πΏπΏπ ππππ,π. For 0 β€ π < π½0,let πΆπ be the set of indices of the received bits correspondingto the points on the πth line πΏπ. For 0 β€ π < ππ β 2, letAπ,π = {ππ,π} be the indices of the π½2 lines that intersect at
ZHANG et al.: ITERATIVE ALGORITHMS FOR DECODING A CLASS OF TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 421
TABLE ISERIAL TS-IDA
Initialization: Determine the index sets π΄π,πβ1 and π΅π,π,π,πβ1 for 0 β€ π < π½2 and 0 β€ π < π½1. Set z(0) = z. For 0 β€ π < π,compute the initial πΏπΏπ (0)
π = πΏπΏπ πβπ,π of the received bits of z(0) based on the channel information. Set the maximumnumber of iterations to πΎπππ₯.
1) Compute the syndrome s(π)(π) by dividing the received polynomial z(π)(π) by the generator polynomial g(π) of thecode. If s(π)(π) = 0, stop decoding and output z(π)(π) as the decoded codeword.
2) If π = πΎπππ₯, stop decoding and declare a decoding failure.3) For πβ 1 β₯ π β₯ 0 and 0 β€ π < π½2
a) Compute
πΏπΏπ π π£π,π =β
0β€π‘<π½1
β‘β£ββ β
π βπ΅π,π‘,π,πβ1
sgn(πΏπΏπ (π)
π
)ββ β πββ β
π βπ΅π,π‘,π,πβ1
π(β£πΏπΏπ (π)
π β£)ββ β€β¦ ; (2)
b) Update the reliability of the πth received bit π§(π)π ,
πΏπΏπ (π+1)π = πΏπΏπ πβπ,πβ1 +
β0β€π’<π½2
β‘β’β’β£
sgn (πΏπΏπ π π£π,π’)(β
π βπ΄π’,πβ1βπβ1 sgn(πΏπΏπ
(π)π
))β π(π (β£πΏπΏπ π π£π,π’β£) +
βπ βπ΄π’,πβ1βπβ1 π
(β£πΏπΏπ (π)
π β£))β€β₯β₯β¦. (3)
c) Cyclically shift the reliability vectors R(π) =(πΏπΏπ
(π)0 , πΏπΏπ
(π)1 , . . . , πΏπΏπ
(π)πβ1
)and R(0) = (πΏπΏπ πβπ,0, πΏπΏπ πβπ,1, . . . , πΏπΏπ πβπ,πβ1) one place to the right.
d) Stop when the reliabilities of all the received bits of z(π) have been updated.
4) π β π + 1. Form a new received vector z(π) based on the components of R(π). Scale R(π) by π, (i.e., πR(π)) and goto Step 1.
the point πΌπ . For 0 β€ π < π½1, let Bπ,π,π,π = {ππ,π,π,π} the setof indices of the lines parallel to line πΏπ,π that passes throughthe point πΌπ .
As shown in Figure 1, to update the πΏπΏπ of a received bitπ§π , π½1π½2+π½2 lines participate in the updating process. At thefirst update step, for each SVN, we sum up π½1 πΏπΏπ s of linesto form the πΏπΏπ of the SVN. In the second update step, weform πΏπΏπ s for the π½2 lines πΏπ,πβπ intersecting on the pointπΌπ , excluding the πΏπΏπ of π§π that corresponds to πΌπ . Then,combining the πΏπΏπ s of the SVNs, the πΏπΏπ s of lines πΏπ,πβπand the πΏπΏπ πβπ,π , we update the πΏπΏπ of π§π .
Based on the above description of the πΏπΏπ updatingprocess of a received bit and definitions, the parallel TS-IDAcan be formulated as shown in Table II. The computationalcomplexities of the serial and parallel TS-IDAs are basicallythe same. except for the hardware implementation in updatingthe πΏπΏπ s of the received bits at the Step 3. In the following,we analyze the computational complexity of the two algo-rithms based on the parallel TS-IDA.
The computational complexity of the parallel TS-IDA canbe analyzed based on expressions (4) to (7). From (4), wesee that to compute the πΏπΏπ of a line, π + 1 π operations,π β 1 real additions and π β 1 logical AND operations arerequired. Since there are π½0 = (ππβ1 β 1)(ππ β 1)/(π β 1)lines in the subgeometry EG*(π, π), then for one itera-tion, π½0(π + 1) π operations, π½0(π β 1) real additions and
π½0(π β 1) logical AND operations are needed to update theπΏπΏπ s of all the lines in EG*(π, π). At Step 4 of eachiteration, 6π½2(ππ β 1) π operations, (π½1π½2 + π½2 + 1)(ππ β1) real additions and 2π½2(π
π β 1) AND operations areneeded. Since π½1 = ππβ1 β 2 and π½2 = (ππ β 1)/(π β1) β 1, therefore, to perform one iteration, we need: 1)π½0 (π + 1) + 6π½2 (π
π β 1) β 7ππβ1 (ππ β 1) π operations;2) π½0 (π β 1) + (π½1π½2 + π½2 + 1) (ππ β 1) β ππ (ππ β 1)real additions; and 3) π½0 (π β 1) + 2π½2 (π
π β 1) β3ππβ1 (ππ β 1) AND operations. Since the code length isπ = ππβ1, both the number of π operations and the numberof AND operations are in the order of π, denoted π(π), butthe the number of real additions required is of π(π2).
The serial and parallel TS-IDAs in the last and this sectionsprovide identical performance for a given two-fold EG-code,except that they require different hardware complexities anddecoding delays. The serial one requires less circuit complex-ity but longer decoding delay than the parallel one.
In the following, we use two examples to demonstrate theperformance of the parallel TS-IDA over the AWGN channelwith BPSK transmission. In the first example, we decodea short two-fold EG-code and in the second example, wedecode a moderate long code. In decoding both codes, weset the maximum numbers of iterations to 3 and 5. In theexamples, we also compare the performance of the TS-IDAwith the performances of the standard SPA, one of the two
422 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
TABLE IIPARALLEL TS-IDA
Initialization: Label all the π½0 lines in EG*(π, π). Determine the index sets πΆπ’, for 0 β€ π’ < π½0. For 0 β€ π < π, determinethe line indices ππ,π and ππ,π,π,π of Aπ,π and Bπ,π,π,π with 0 β€ π < π½2 and 0 β€ π < π½1. Set z(0) = z. For 0 β€ π < π, computethe initial πΏπΏπ (0)
π = πΏπΏπ πβπ,π of each received bit of z(0) based on the channel information. Set the maximum number ofiterations to πΎπππ₯.
1) Compute the syndrome s(π)(π) of z(π). If s(π)(π) = 0, stop decoding and output z(π)(π) as the decoded codeword.2) If π = πΎπππ₯, stop decoding and declare a decoding failure.3) For 0 β€ π’ < π½0, compute
πΏπΏπ ππππ,π’ =
(βπβπΆπ’
sgn(πΏπΏπ
(π)π
))β π(β
πβπΆπ’
π(β£πΏπΏπ (π)
π β£)). (4)
4) For 0 β€ π < π and 0 β€ π < π½2,a) Compute
πΏπΏπ π π£π,π =
π½1β1βπ‘=0
πΏπΏπ ππππ,ππ,π‘,π,π ; (5)
πΏπΏπ πΏπ,πβπ =(sgn(πΏπΏπ ππππ,ππ,π
) β sgn(πΏπΏπ (π)π
))β π(π(β£πΏπΏπ ππππ,ππ,π
β£)β π(β£πΏπΏπ (π)π β£)). (6)
b) Update the reliabilities of all the bits in z(π),
πΏπΏπ (π+1)π = πΏπΏπ πβπ,π +
β0β€π<π½2
[sgn(πΏπΏπ πΏπ,πβπ
)sgn (πΏπΏπ π π£π,π)
β π (π (β£πΏπΏπ πΏπ,πβπ β£)+ π (β£πΏπΏπ π π£π,πβ£)
) ]. (7)
5) π β π + 1. Form a new received vector z(π) based on the components of the reliability vector R(π). Scale R(π) by π,(i.e., πR(π)) and go to Step 1.
iterative BF algorithms proposed in [19], called the Palanki-Fossorier-Yedidia (PFY) BF-algorithms, and the binary differ-ential message-passing algorithm (BDMPA) devised in [23],all performed with 50 iterations. The BDMPA performs aboutthe same as the SRBI-MLGD algorithm proposed in [24]with slightly larger computational complexity. Both algorithmsare reliability-based iterative decoding algorithms with binarymessages passing between the VNs and the CNs of thecodeβs Tanner graph. We will show that the TS-IDA witheven 3 iterations outperforms all the other algorithms with50 iterations.
Example 1: Let π = 2 and π = 3. Consider the 2-dimensional Euclidean geometry EG(2, 23) over the fieldGF(23). Based on the parallel bundles of lines in this geometry,a (63, 45) two-fold cyclic EG-code can be constructed. Theminimum distance of this code is 7. Let πΌ be a primitiveelement of GF(26). The generator polynomial g(π) of thecode has πΌ, πΌ2, . . . , πΌ6 and their conjugates as roots. This codeis actually a primitive BCH code [7]. For this code, π½1 = 6and π½2 = 8. Hence, the code with TS-MLGD can correct 3
or fewer errors. The Tanner graph of this code has 79, 380cycles of length 4. The bit and block error performances ofthis code decoded using the proposed parallel TS-IDA with 3and 5 iterations are shown in Figure 2. For a target BER of10β6, the required SNR vs the scaling factor π is shown inFigure 3. We see that the SNR varies very little and has itsminimum at π = 0.5. Therefore, we choose π = 0.5 as thescaling factor for decoding this code with the parallel TS-IDA.From Figure 2, we see that the TS-IDA converges very fast.At the BER of 10β6, the performance gap between 3 and 5iterations is about 0.1 dB. The union bound for the BER ofthe code is also included in Figure 2. We see that at the BERof 10β6, the gap between the performance of the TS-IDA andthe union bound is within 0.2 dB.
For comparison, the performances of the code decoded with50 iterations of the standard SPA, the TS-MLGD and theBerlekamp-Massey (BM) algorithm [7] are also included inFigure 2. We see that the standard SPA performs poorly dueto the large number of short cycles of length 4 in the codeβsTanner graph. At the BER of 10β6, we find that the TS-IDA
ZHANG et al.: ITERATIVE ALGORITHMS FOR DECODING A CLASS OF TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 423
3.5 4 4.5 5 5.5 6 6.5 7 7.5 810
β7
10β6
10β5
10β4
10β3
10β2
10β1
100
Eb/N
0(dB)
BE
R/B
LER
(63,45), BER, TSβMLGD(63,45), BLER, TSβMLGD(63,45), BER, 3 Iterations TSβIDA(63,45), BLER, 3 Iterations TSβIDA(63,45), BER, 5 Iterations TSβIDA(63,45), BLER, 5 Iterations TSβIDA(63,45), BER, 50 Iterations SPA(63,45), BLER, 50 Iterations SPA(63,45), BER, BM(63,45), BLER, BM(63,45), BER Union Bound(63,45), Sphere packing bound
Fig. 2. Error performances of the two-fold (63,45) EG-code given in Example1 with various decoding algorithms.
with 5 iterations outperforms the SPA with 50 iterations by 1.1dB. At the same BER, the TS-IDA outperforms the TS-MLGDand the BM-algorithm by 1.8 dB and 1.9 dB, respectively.We see that the TS-MLGD performs slightly better than theBM-algorithm. The reason is that the TS-MLGD can correctlarge fraction of error patterns with number of errors beyond3 (the guaranteed correctable number of errors) but the BM-algorithm can only correct up to 3 errors.
For further comparison, we also decode the (63, 45) two-fold cyclic EG-code with the PFY BF-algorithm-1 [19] andthe DBMPA [23]. The BER performances of the code decodedwith 50 iterations of these two algorithms, 50 iterations of thestandard SPA, 3 iterations of the parallel TS-IDA, TS-MLGDand BM-algorithm are shown in Figure 4. We see that theTS-IDA with 3 iterations significantly outperforms the PFYBF-algorithm-1 by more than 2 dB and the DBMPA by 0.9dB at the BER of 10β4. Of course, this comparison is notreally fair because the PFY BF-algorithm-1 is a hard-decisioniterative decoding algorithm and the DBMPA is a reliability-based iterative decoding algorithm which is not designed foravoiding or reducing the degrading effect of cycles of length4. β³β³
Example 2: Let the two-dimensional EG(2, 24) over GF(24)be the code construction geometry. Based on (1,2)-frames notpassing through the origin of this geometry, we can constructa (255, 191) two-fold cyclic EG-code with minimum distance15. For a target BER of 10β6, the required SNR vs thescaling factor π is also shown in Figure 3. We see that theSNR has its minimum at π = 0.5. The bit and block errorperformances of this code decoded using the TS-IDA with 3and 5 iterations, the standard SPA with 50 iterations and theTS-MLGD algorithm are shown in Figure 5. Again, we seethat the performance gap between 3 and 5 iterations of theTS-IDA is small, about 0.1 dB. The TS-IDA with 5 iterationsachieves 1.8 dB gain over the TS-MLGD algorithm. Next wenotice that the standard SPA performs poorly due to the largenumber of short cycles of length 4 (19,492,200 of them). Atthe BER of 10β6, we find that the TS-IDA with 5 iterations
0.35 0.4 0.45 0.5 0.55 0.6 0.65 0.74.2
4.4
4.6
4.8
5
5.2
5.4
5.6
Eb/N
0(dB
)
Ξ»
(63,45), BER=10β6, 5 Iterations TSβIDA
(255,191), BER=10β6, 5 Iterations TSβIDA
(1023,813), BER=10β6, 5 Iterations TSβIDA
Fig. 3. The effects of the scaling factor π for different codes with the targetBER of 10β6.
3.5 4 4.5 5 5.5 6 6.5 7 7.5 810
β7
10β6
10β5
10β4
10β3
10β2
10β1
100
Eb/N
0(dB)
BE
R
(63,45), BER, TSβMLGD(63,45), BER, 3 Iterations TSβIDA(63,45), BER, 50 Iterations SPA(63,45), BER, BM(63,45), BER, 50 Iterations PFYβBF(63,45), BER, 50 Iterations DBMPA
Fig. 4. Bit error performances of the two-fold (63,45) EG-code given inExample 1 decoded using the TS-IDA, the SPA, PFY-BF, and DBMPA.
achieves 1.4 dB coding gain over the standard SPA with 50iterations. Also included in Figure 5 is the performance ofa (255, 191) BCH code with minimum distance 17 decodedwith the BM-algorithm. At the BER of 10β6, we see that the(255, 191) two-fold EG-code decoded with 5 iterations of theTS-IDA also achieves a 1.8 dB coding gain over the (255, 191)BCH code decoded with the BM-algorithm.
For further comparison, the (255, 191) two-fold cyclic EG-code is also decoded using the PFY BF-algorithm-1 and theDBMPA, each with 50 iterations. The bit error performancesof the code with these two and other algorithms are shown inFigure 6. Again, we see that the TS-IDA with 5 iterationsoutperforms the PFY BF-algorithm-1 by 1.65 dB and theDBMPA by 1.2 dB, respectively. Surprisingly, the PFY BF-algorithm-1 only slightly outperforms the TS-MLGD but witha much larger computational complexity. β³β³
The two iterative decoding algorithms presented in this andthe last sections are devised to avoid the degrading effectof short cycles of length 4 to improve the performance of
424 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
3 3.5 4 4.5 5 5.5 6 6.5 710
β7
10β6
10β5
10β4
10β3
10β2
10β1
100
Eb/N
0(dB)
BE
R/B
LER
(255,191), BER, TSβMLGD(255,191), BLER, TSβMLGD(255,191), BER, 5 Iterations TSβIDA(255,191), BLER, 5 Iterations TSβIDA(255,191), BER, 3 Iterations TSβIDA(255,191), BLER, 3 Iterations TSβIDA(255,191), BER, 50 Iterations SPA(255,191), BLER, 50 Iterations SPA(255,191), BER, BCH BM(255,191), BLER, BCH BM(255,191), Sphere packing bound
Fig. 5. Error performances of the two-fold (255,191) EG-code given inExample 2 with various decoding algorithms.
3 3.5 4 4.5 5 5.5 6 6.5 710
β7
10β6
10β5
10β4
10β3
10β2
10β1
100
Eb/N
0(dB)
BE
R
(255,191), BER, TSβMLGD(255,191), BER, 5 Iterations TSβIDA(255,191), BER, 50 Iterations SPA(255,191), BER, 50 Iterations PFYβBF(255,191), BER, 50 Iterations DBMPA(255,191), BER, BCH BM
Fig. 6. Bit error performances of the two-fold (255,191) EG-code given inExample 2 decoded using the TS-IDA, the SPA, PFY-BF, and DBMPA.
the standard IDBP using a two-step SPA. However, in anearlier paper [25], short cycles of length 4 which are purposelycreated when an LDPC code is designed for achieving betterperformance with a modified IDPB. The parity-check matrixH of a code must have the following structure: some of therows in H can be grouped into pairs such that the two rowsin a pair have two places where they both have 1-components.Then, in the Tanner graph of the code, the two CNs thatcorrespond to the two rows in a pair has a single cycle oflength 4 connecting them. The number of cycles of length 4created is at most half of the number of the rows in the parity-check matrix of the code. The decoding is based on a bipartitegraph in which the two CNs with a cycle of length 4 betweenthem are combined into a joint CN. This combination removesthe cycle of length 4 between the two CNs. This bipartitegraph with joint CNs is called a joint check (JC) bipartitegraph and is free of cycles of length 4 (actually the cycles oflength 4 are hidden in the joint CNs). The proposed decodingalgorithm based on this JC-bipartite graph is a modified IDBP
which contains the MAP (or BCJR) algorithm [7], [26] asa sub-algorithm which is used to process two-state trellisesfor the joint CNs in each decoding iteration to computethe reliabilities of the joint CNs. Therefore, the proposeddecoding algorithm is a combination (or concatenation) ofthe standard IDBP and the MAP decoding algorithms. Theauthors showed that with the added on cycles of length 4and using the proposed concatenated IDBP, an LDPC codecan perform better than a corresponding code without cyclesof length 4. This iterative concatenated decoding algorithmis quite different from our proposed decoding algorithms,which simply carry out the standard IDBP in two steps with-out another decoding algorithm added on to help improvingthe decoding performance. Furthermore, the standard Tannergraph of a two-fold EG-code presented in Section II (as shownin the above two examples) has enormously large number ofcycles of length 4 even for a moderate code length (whichis much larger than the number of cycles of length 4 createdin a code proposed in [25]). Also for a two-fold EG-code,if there are cycles of length 4 connecting a pair of CNs,then the number of such cycles is very large. Consequently,it would be very hard (if not impossible) to form a cycle-4 free JC-bipartite graph for the application of the decodingalgorithm proposed in [25]. Even if a cycle-4 free bipartitegraph can be formed, the decoding algorithm proposed in [25]must process many trellises using the BCJR sub-algorithmwhich will result in a very large computational complexity.Therefore, the decoding algorithm proposed in [25] is eithernot applicable or not practical for decoding the TS-MLG-decodable EG-codes considered in this paper. Constructingcodes with cycles of length 4 under the constraint given in[25] not only limits the freedom of code construction but alsomay result in a code with no structure for easy encoding.
V. A MIN-SUM TS-IDA FOR TWO-FOLD CYCLIC
EG-CODES
The computational load of both the serial and parallel TS-IDAs lies on performing the π operations. In this section, wepresent a simplified version of the two TS-IDAs that avoidsthe π operations. This simplified algorithm is devised based onthe min-sum technique [27]. We call this simplified algorithm,the min-sum (MS) TS-IDA (MS-TS-IDA). This algorithmsignificantly reduces the computational complexity of the twoTS-IDAs with only a small performance degradation as willbe shown later in an example. Again, we devise this algorithmbased on the parallel TS-IDA.
In computing the πΏπΏπ of a line-sum using expression (4),it follows from the property of π(π₯) function that the largestterm in the sum part corresponds to the smallest β£πΏπΏπ (π)
π β£.Then,
π
(βπβπΆπ’
π(β£πΏπΏπ (π)
π β£))β π
(π
(minπβπΆπ’
β£πΏπΏπ (π)π β£))
= minπβπΆπ’
β£πΏπΏπ (π)π β£.
Notice that the last equality holds because π (π(π₯)) = π₯ forπ₯ > 0. For better approximation, an attenuation factor π with
ZHANG et al.: ITERATIVE ALGORITHMS FOR DECODING A CLASS OF TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 425
0 < π < 1 is introduced. Consequently, the expression (4) canbe simplified as follows:
πΏπΏπ ππππ,π’ =
(βπβπΆπ’
sgn(πΏπΏπ
(π)π
))β π β min
πβπΆπ’
β£πΏπΏπ (π)π β£. (8)
A very convenient attenuation factor is π = 0.5, since it canbe easily implemented by a shift-register.
In the 4th step of the parallel TS-IDA, we need to computeπΏπΏπ πΏπ,πβπ . Using the same method, πΏπΏπ πΏπ,πβπ given by (6)can be expressed as follows:
πΏπΏπ πΏπ,πβπ =
ββ β
πβπΆππ,πβπsgn
(πΏπΏπ
(π)π
)ββ β π β minπβπΆππ,π
βπβ£πΏπΏπ (π)
π β£.
(9)Note that extrinsic information πΏπΏπ ππππ,ππ,π
of the line πΏπ,π
has already been calculated in (8), therefore, if β£πΏπΏπ (π)π β£
is not the minimum absolute value among all the ab-solute values β£πΏπΏπ (π)
π β£, π β πΆππ,π, then πΏπΏπ πΏπ,πβπ =
sgn(πΏπΏπ
(π)π
)πΏπΏπ ππππ,ππ,π
. However, if β£πΏπΏπ (π)π β£ happens
to be the minimum absolute value among all the absolutevalues β£πΏπΏπ (π)
π β£, π β πΆππ,π, we need to find the second
minimum value of β£πΏπΏπ (π)π β£, π β πΆππ,π
. Suppose β£πΏπΏπ (π)π£ β£
is the second minimum value in this case, then πΏπΏπ πΏπ,πβπ =
sgn(πΏπΏπ ππππ,ππ,π
)sgn(πΏπΏπ
(π)π
)β π β β£πΏπΏπ (π)
π£ β£. Based on thedescription above, the MS-TS-IDA can be formulated as givenin Table III.
From expressions (10) to (13), we see that the MS-TS-IDArequires only AND, real comparison and addition operations.In Step 3, we need to find the minimum and second minimumabsolute value among π β£πΏπΏπ (π)
π β£βs. If π = 2π , a simple way toimplement the comparison procedure needs only π+ log2 πβ2 = 2π +π β2 comparisons. Like tournament sort [28], we firstorganize the comparisons between adjacent pairs and move thesmaller one to the next round until the minimum one is found.To obtain this minimum value, we need πβ1 comparisons. Inthe last round, we not only obtain the minimum one, but alsoanother larger value. By comparing this value with the valueswhich have been compared with the minimum value in eachround, we can obtain the second minimum value. This processrequires log2 π β 1 comparisons. For one iteration, we need:1) π½0 (π + log2π β 2)+ 2π½2 (π
π β 1) β 3ππβ1 (ππ β 1) realcomparisons; 2) π½1π½2 (ππ β 1) β ππ (ππ β 1) real additions;and 3) π½0 (π β 1)+2π½2 (π
π β 1) β 3ππβ1 (ππ β 1) AND op-erations. Compared with the TS-IDA, it is clear that, the MS-TS-IDA significantly reduces the computational complexity.
Example 3: Let the two-dimensional EG(2, 25) over GF(25)be the code construction geometry. Based on the (1,2)-framesnot passing through the origin of this geometry, we can con-struct a (1023, 813) cyclic two-fold EG-code with minimumdistance 31. For a target BER of 10β6, the required SNR(πΈπ/π0) vs the scaling factor π is shown in Figure 3. Wesee that the SNR has its minimum at π = 0.6. For the TS-IDA, we set π = 0.6. For simplicity, with the MS-TS-IDA,we set π = π = 0.5. The bit and block error performances ofthis code decoded using the TS-IDA, the MS-TS-IDA with 5iterations and the TS-MLGD algorithm are shown in Figure 7.
2 3 4 5 6 7 8
10β7
10β6
10β5
10β4
10β3
10β2
10β1
100
Eb/N
0(dB)
BE
R/B
LER
(1023,813), BER, TSβMLGD(1023,813), BLER, TSβMLGD(1023,813), BER, 5 Iterations MSβTSβIDA(1023,813), BLER, 5 Iterations MSβTSβIDA(1023,813), BER, 5 Iterations TSβIDA(1023,813), BLER, 5 Iterations TSβIDA(1023,818), BER, BCH BM(1023,818), BLER, BCH BM(1023,813), Sphere packing bound
Fig. 7. Error performances of the two-fold (1023,813) EG-code given inExample 3 decoded using the MS-TS-IDA, the standard SPA and the TS-MLGD.
We see that the performance gap between the TS-IDA and theMS-TS-IDA with 5 iterations is very small, about 0.05 dB. Atthe BER of 10β6, the MS-TS-IDA with 5 iterations achieves1.5 dB gain over the TS-MLGD algorithm. Also includedin Figure 7 is the performance of a (1023, 818) BCH codewith minimum distance 43 decoded with the BM-algorithm.At the BER of 10β6, we see that the (1023, 813) two-foldEG-code decoded with the MS-TS-IDA achieves a 1.35 dBcoding gain over the (1023, 818) BCH code decoded withthe BM-algorithm. Surprisingly, we find that at the BER of10β6, the (1023, 818) BCH code with minimum distance 43decoded with the BM-algorithm performs only slightly better(less than 0.15 dB) than the (1023, 813) two-fold EG-codewith minimum distance 31 decoded with the TS-MLGD. β³β³
VI. CONCLUSION AND REMARKS
In this paper, we have presented three efficient iterativealgorithms for decoding TS-MLG-decodable cyclic codes con-structed based on Euclidean geometries whose Tanner graphscontain very large numbers of short cycles of length 4. Thesealgorithms are devised based on the orthogonal structure of theparity-check matrices of the codes to avoid the performancedegrading effect of the short cycles of length 4. They performeither the SPA or the MSA to update the LLR of each receivedbit in two orthogonal steps in each iteration. Simulation resultsshow that these decoding algorithms even with a very smallnumber of iterations significantly outperform the standardIDBP using either the SPA or the MSA with a large numberof iterations.
Even though these algorithms are developed using a specialsubclass of TS-MLG-decodable EG-codes, called two-foldEG-codes, they can be applied to decode any TS-MLG-decodable code, whether constructed based on two flats ofEuclidean geometries or two-flats of projective geometries [7],[10], [11], [15], [16]. They can also be applied to decodeall the TS-MLG-decodable two-fold EG-codes constructed in[17].
426 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011
TABLE IIIMS-TS-IDA
Initialization: Label all the π½0 lines in EG*(π, π). Determine the index sets πΆπ’, for 0 β€ π’ < π½0. For 0 β€ π < π, determinethe line indices ππ,π and ππ,π,π,π of Aπ,π and Bπ,π,π,π with 0 β€ π < π½2 and 0 β€ π < π½1. Set z(0) = z. For 0 β€ π < π, computethe initial πΏπΏπ (0)
π = πΏπΏπ πβπ,π of each received bit of z(0) based on the channel information. Set the maximum number ofiterations to πΎπππ₯.
1) Compute the syndrome s(π)(π) of z(π). If s(π)(π) = 0, stop decoding and output z(π)(π) as the decoded codeword.2) If π = πΎπππ₯, stop decoding and declare a decoding failure.3) For 0 β€ π’ < π½0, find the minimum absolute value β£πΏπΏπ ππππ,π’β£πππ and the second minimum absolute valueβ£πΏπΏπ ππππ,π’β£π ππβπππ among β£πΏπΏπ (π)
π β£, π β πΆπ’, then
πΏπΏπ ππππ,π’ =
(βπβπΆπ’
sgn(πΏπΏπ
(π)π
))β π β β£πΏπΏπ ππππ,π’β£πππ. (10)
4) For 0 β€ π < πa) For 0 β€ π < π½2, compute
πΏπΏπ π π£π,π =
π½1β1βπ‘=0
πΏπΏπ ππππ,ππ,π‘,π,π , (11)
and
πΏπΏπ πΏπ,πβπ =
β§β¨β©
sgn(πΏπΏπ
(π)π
)πΏπΏπ ππππ,ππ,π
, ifβ£β£β£πΏπΏπ (π)
π
β£β£β£ β= β£β£πΏπΏπ ππππ,ππ,π
β£β£,sgn(πΏπΏπ ππππ,ππ,π
)sgn(πΏπΏπ
(π)π
)β π β β£β£πΏπΏπ ππππ,ππ,π
β£β£π ππβπππ
,ifβ£β£β£πΏπΏπ (π)
π
β£β£β£ = β£β£πΏπΏπ ππππ,ππ,π
β£β£. (12)
b) Compute
πΏπΏπ (π+1)π = πΏπΏπ πβπ,π +
β0β€π<π½2
[sgn(πΏπΏπ πΏπ,πβπ
)sgn (πΏπΏπ π π£π,π)
β min{β£πΏπΏπ πΏπ,πβπ β£, π β£πΏπΏπ π π£π,πβ£
} ]. (13)
5) π β π+1. Form a new received vector z(π) based on the components of reliability vector R(π). Scale R(π) by π, (i.e.,πR(π)) and go to Step 1.
One possible generalization of the TS-IDAs is to developmulti-step (more than two steps) IDAs for multi-step MLG-decodable EG- or PG-codes using the orthogonal structure offlats of one dimension over the flats of the next dimension [7].Further work to be done is to improve the iterative decodingalgorithms devised in this paper either in terms of performanceor in terms of computational complexity.
The work in this paper enlarges the repertoire of cycliccodes that are iteratively decodable, besides the finite geom-etry LDPC codes [2]. A major advantage of cyclic codes istheir simple systematic encoding which can be implementedwith simple feedback registers with linear complexity [7].The other advantage is that it is relatively easy to constructcyclic codes with good minimum distances. Furthermore, theample algebraic or combinatorial structures of cyclic codesmay allow us to devise efficient decoding algorithms toachieve good error performance. A good problem for futureresearch is to devise efficient iterative algorithms based onbelief propagation for decoding BCH codes. To achieve this,parity-check matrices other than the conventional parity-checkmatrices for algebraic decoding must be used.
REFERENCES
[1] R. G. Gallager, βLow density parity check codes," IRE Trans. Inf.Theory, vol. IT-8, pp. 21-28, Jan. 1962.
[2] Y. Kou, S. Lin, and M. P. C. Fossorier, βLow density parity check codesbased on finite geometries: a rediscovery and new results," IEEE Trans.Inf. Theory, vol. 47, no. 7, pp. 2711-2736, Nov. 2001.
[3] D. J. C. MacKay, βGood error-correcting codes based on very sparsematrices," IEEE Trans. Inf. Theory, vol. 45, no. 2, pp. 399-432, Mar.1999.
[4] T. J. Richardson and R. L. Urbanke, βThe capacity of low-density parity-check codes under message-passing decoding," IEEE Trans. Inf. Theory,vol. 47, no. 2, pp. 599-618, Feb. 2001.
[5] F. R. Kschischang, B. J. Frey, and H-A. Loeliger, βFactor graphs andthe sum-product algorithm," IEEE Trans. Inf. Theory, vol. 47, no. 2, pp.498-519, Feb. 2001.
[6] J. Chen and M. Fossorier, βNear optimum universal belief propagationbased decoding of low density parity check code," IEEE Trans. Com-mun., vol. 50, no. 3, pp. 406-414, Mar. 2002.
[7] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals andApplications, 2nd edition. Upper Saddle River, NJ: Prentice-Hall, 2004.
[8] L. D. Rudolph, βGeometric configuration and majority logic decodablecodes," M.E.E. thesis, University of Oklahoma, Norman, 1964.
[9] E. J. Weldon, Jr., βDifference-set cyclic codes," Bell Syst. Tech. J., vol.45, pp. 1045-55, Sep. 1966.
[10] E. J. Weldon, Jr., βEuclidean geometry cyclic codes," in Proc. Symp.Combinatorial Math., University of North Carolina, Chapel Hill, Apr.1967.
[11] T. Kasami, S. Lin, and W. W. Peterson, βPolynomial codes," IEEE Trans.Inf. Theory, vol. 14, no. 6, pp. 807-814, Nov. 1968.
[12] P. Delsarte, βA geometric approach to a class of cyclic codes," J.Combinatorial Theory, vol. 6, pp. 340-58, 1969.
ZHANG et al.: ITERATIVE ALGORITHMS FOR DECODING A CLASS OF TWO-STEP MAJORITY-LOGIC DECODABLE CYCLIC CODES 427
[13] E. J. Weldon, Jr., βNew generations of the Reed-Muller codesβpart II:nonprimitive codes," IEEE Trans. Inf. Theory, vol. 14, no. 2, pp. 199-205, Mar. 1968.
[14] J. M. Goethals and P. Delsarte, βOn a class of majority-logic decodablecyclic codes," IEEE Trans. Inf. Theory, vol. 14, no. 2, pp. 182-188, Mar.1968.
[15] T. Kasami and S. Lin, βOn majority-logic decoding for duals of primitivepolynomial codes," IEEE Trans. Inf. Theory, vol. 17, no. 3, pp. 322-331,May 1971.
[16] C. L. Chen, βOn majority-logic decoding of finite geometry codes,"IEEE Trans. Inf. Theory, vol. 17, no. 3, pp. 332-336, May 1971.
[17] S. Lin, βMultifold Euclidean geometry codes," IEEE Trans. Inf. Theory,vol. 19, no. 4, pp. 537-548, July 1973.
[18] S. Lin and K. P. Yiu, βAn improvement to multifold Euclidean geometrycodes," Inf. Control, vol. 28, no. 3, pp. 221-265, July 1975.
[19] R. Palanki, M. P. C. Fossorier, and J. S. Yedidia, βIterative decoding ofmultiple-step majority logic decodable codes," IEEE Trans. Commun.,vol. 55, no. 6, pp. 1099-1102, June 2007.
[20] H. B. Mann, Analysis and Design of Experiments. Dover, 1949.[21] R. D. Carmichael, Introduction to the Theory of Groups of Finite Order.
Dover, 1956.[22] J. Vogt and A. Finger, βImproving the max-log-MAP turbo decoder,"
Electron. Lett., vol. 36, no. 23, pp. 1938-1939, Nov. 2000.[23] N. Mobini, A. H. Banihashemi, and S. Hemati, βA differential binary
message-passing LDPC decoder," IEEE Trans. Commun., vol. 57, no.9, pp. 2518-2523, Sep. 2009.
[24] Q. Huang, J. Kang, L. Zhang, S. Lin, and K. Abdel-Ghaffar, βTworeliability-based iterative majority-logic decoding algorithms for LDPCcodes," IEEE Trans. Commun. vol. 57, no. 12, pp. 3597-3606, Dec.2009.
[25] K. Chung and J. Heo, βImproved belief propagation (BP) decoding forLDPC codes with a large number of short cycles," in Proc. IEEE 63rdVeh. Technol. Conf., pp. 1464-1466, May 2006.
[26] L. R. Bahl, J. Cocke, F. Jelinek, and J. Raviv, βOptimal decoding oflinear codes for minimizing symbol error rate," IEEE Trans. Inf. Theory,vol. IT-20, pp. 284-87, 1974.
[27] J. Hagenauer, E. Offer, and L. Papke, βIterative decoding of binaryblock and convolutional codes," IEEE Trans. Inf. Theory, vol. 42, no.2, pp.429-445, Mar. 1996.
[28] D. E. Knuth, Art of Computer Programming, Volume 3: Sorting andSearching, 2nd edition. Addison-Wesley Professional, 1998.
Li Zhang received the B.E. and M.E. degrees fromthe National Mobile Communications Research Lab-oratory, Southeast University, Nanjing, China, in2004 and 2006, respectively. He received his Ph.D.degree in electrical and computer engineering fromUniversity of California, Davis, in 2010. He hasdone internships at NEC Labs America, Prince-ton, NJ. He is currently an engineer with MarvellSemiconductor, Inc, working on advanced wirelesstechnologies. His research interests include error-control coding and signal processing for digital
communications.
Qin Huang received the B.E. and M.E. degrees fromSoutheast University, Nanjing, China, in 2005 and2007, respectively, both in Electronic Engineering.He is currently working towards the Ph.D. degree inelectrical engineering at the University of Califor-nia, Davis. His research interests include classicaland modern coding theory, signal processing, andtheir applications on communications and storagesystems.
Shu Lin (Sβ62-Mβ65-SMβ78-Fβ80-LFβ00) receivedthe B.S.E.E. degree from the National Taiwan Uni-versity, Taipei, Taiwan, in 1959, and the M.S. andPh.D. degrees in electrical engineering from RiceUniversity, Houston, TX, in 1964 and 1965, re-spectively. In 1965, he joined the Faculty of theUniversity of Hawaii, Honolulu, as an AssistantProfessor of Electrical Engineering. He became anAssociate Professor in 1969 and a Professor in 1973.In 1986, he joined Texas A&M University, CollegeStation, as the Irma Runyon Chair Professor of
Electrical Engineering. In 1987, he returned to the University of Hawaii.From 1978 to 1979, he was a Visiting Scientist at the IBM Thomas J.Watson Research Center, Yorktown Heights, NY, where he worked on errorcontrol protocols for data communication systems. He spent the academicyear of 1996-1997 as a Visiting Professor at the Technical University ofMunich, Munich, Germany. He retired from University of Hawaii in 1999and he is currently an Adjunct Professor at University of California, Davis.He has published numerous technical papers in IEEE transactions and otherrefereed journals. He is the author of the book, An Introduction to Error-Correcting Codes (Englewood Cliff, NJ: Prentice-Hall, 1970). He also co-authored (with D. J. Costello) the book, Error Control Coding: Fundamentalsand Applications (Upper Saddle River, NJ: Prentice-Hall, 1st edition, 1982,2nd edition, 2004), and (with T. Kasami, T. Fujiwara, and M. Fossorier) thebook, Trellises and Trellis-Based Decoding Algorithms (Boston, MA: KluwerAcademic, 1998). His current research areas include algebraic coding theory,coded modulation, error control systems, and satellite communications. Hehas served as the Principle Investigator on 36 research grants.
Dr. Lin is a Member of the IEEE Information Theory Society and theCommunication Society. He served as the Associate Editor for Algebraic Cod-ing Theory for the IEEE TRANSACTIONS ON INFORMATION THEORY from1976 to 1978, the Program Co-Chair of the IEEE International Symposiumof Information Theory held in Kobe, Japan, in June 1988, and a Co-Chairof the IEEE Information Theory Workshop held in Chengdu, China, October2006. He was the President of the IEEE Information Theory Society in 1991.In 1996, he was a recipient of the Alexander von Humboldt Research Prizefor U.S. Senior Scientists, a recipient of the IEEE Third-Millennium Medal,2000, and a recipient of the IEEE Communications Society 2007 Stephen O.Rice Prize in the Field of Communication Theory.