05668918

12
416 IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 59, NO. 2, FEBRUARY 2011 Iterative Algorithms for Decoding a Class of Two-Step Majority-Logic Decodable Cyclic Codes Li Zhang, Qin Huang, and Shu Lin, Life Fellow, IEEE Abstractβ€”Codes constructed based on finite geometries form a large class of cyclic codes with large minimum distances which can be decoded with simple majority-logic decoding in one or multiple steps. In 2001, Kou, Lin and Fossorier showed that the one-step majority-logic decodable finite geometry codes form a class of cyclic LDPC codes whose Tanner graphs are free of cycles of length 4. These cyclic finite geometry LDPC codes perform very well over the AWGN channel using iterative decoding based on belief propagation (IDBP) and have very low error-floors. However, the standard IDBP is not effective for decoding other cyclic finite geometry codes because their Tanner graphs contain too many short cycles of length 4 which severely degrade the decoding performance. This paper investigates iterative decoding of two-step majority-logic decodable finite geometry codes. Three effective algorithms for decoding these codes are proposed. These algorithms are devised based on the orthogonal structure of the parity-check matrices of the codes to avoid or reduce the degrading effect of the short cycles of length 4. These decoding algorithms provide significant coding gains over the standard IDBP using either the sum-product or the min-sum algorithms. Index Termsβ€”Finite geometry code, iterative decoding, two- fold EG-code, cyclic code. I. I NTRODUCTION L OW-DENSITY parity-check (LDPC) codes [1] are cur- rently recognized as the most promising coding technique to achieve the ultimate limits of robust communications over noisy channels. Among the classes of LDPC codes that have been constructed or designed, the only class of LDPC codes that are cyclic is the class of finite geometry (FG) LDPC codes [2] whose parity-check matrices are formed by the incidence vectors of lines in finite geometries, such as Euclidean or projective geometries. The associated Tanner graphs of these parity-check matrices are free of cycles of length 4 and hence have girth of at least 6. Cyclic FG-LDPC codes have large minimum distances and perform well with IDBP using either the sum-product algorithm (SPA) [3], [4], [5] or the mini- sum algorithm (MSA) [6]. LDPC codes constructed based on Euclidean geometries are called Euclidean geometry (EG) LDPC codes and those constructed based on projective geome- tries are called projective geometry (PG) LDPC codes. Cyclic FG-LDPC codes can be systematically encoded with simple Paper approved by T. M. Duman, the Editor for Coding Theory and Applications of the IEEE Communications Society. Manuscript received October 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-0727478 and NASA under the Grant NNX09AI21G and gift grants from Northrop Grumman 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 of a very large class of majority-logic (MLG) decodable cyclic FG-codes [7] constructed in the 1960’s and 1970’s [8]-[18]. They are one-step MLG-decodable FG-codes (i.e., they can be decoded with majority-logic decoding (MLGD) in one step) 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 the standard IDBP using either the SPA or the MSA. Our study and simulations show that the standard IDBP is not effective for decoding multi-step MLG-decodable FG-codes because the Tanner graphs of these codes contain too many short cycles of length 4. These short cycles of length 4 severely limit the effectiveness of the standard IDBP. As a result, decoding of a multi-step MLG-decodable FG-code with the standard IDBP provides only a small coding gain over the simple MLGD with a 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 conjunction with certain geometric structures of its parity-check matrix to avoid (or reduce the degrading effect) of short cycles of length 4 in the process of computing reliability messages that are passed between variable nodes (VNs) and check nodes (CNs) of the code’s Tanner graph. One such geometric structure is the orthogonal structure of flats and lines of the code construction geometry [7]. In this paper, we use a subclass of two-step (TS) MLG- decodable EG-codes to demonstrate that effective iterative decoding can be devised based on the orthogonal structure of the parity-check matrices of the codes. Three iterative decoding algorithms are devised. Each decoding algorithm performs a sequence of iterations and each iteration updates the reliability measures (log-likelihood ratios (LLRs)) of the received symbols in two steps. The LLR of each code symbol is updated by processing a five-level message-passing tree (MPT) which contains no cycle of length 4. The five-level MPT is constructed based on the orthogonal structure of the parity-check matrix of a TS-MLG-decodable EG-code to be decoded. The LLRs of the received symbols can be updated using either the SPA (or the MSA) with some modifications. The novelties of the three proposed decoding algorithms are the use of two-level MPTs based on the orthogonal structure of the parity-check matrices of the TS-MLG-decodable codes and 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

Transcript of 05668918

Page 1: 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

Page 2: 05668918

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)𝑠

Page 3: 05668918

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

Page 4: 05668918

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

Page 5: 05668918

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

Page 6: 05668918

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

Page 7: 05668918

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

Page 8: 05668918

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

Page 9: 05668918

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

Page 10: 05668918

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].

Page 11: 05668918

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.

Page 12: 05668918

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.