# Finite Alphabet Iterative Decoders, Part I: Decoding Beyond Belief Propagation on BSC

###### Abstract

We introduce a new paradigm for finite precision iterative decoding on low-density parity-check codes over the Binary Symmetric channel. The messages take values from a finite alphabet, and unlike traditional quantized decoders which are quantized versions of the Belief propagation (BP) decoder, the proposed finite alphabet iterative decoders (FAIDs) do not propagate quantized probabilities or log-likelihoods and the variable node update functions do not mimic the BP decoder. Rather, the update functions are maps designed using the knowledge of potentially harmful subgraphs that could be present in a given code, thereby rendering these decoders capable of outperforming the BP in the error floor region. On certain column-weight-three codes of practical interest, we show that there exist 3-bit precision FAIDs that surpass the BP decoder in the error floor. Hence, FAIDs are able to achieve a superior performance at much lower complexity. We also provide a methodology for the selection of FAIDs that is not code-specific, but gives a set of candidate FAIDs containing potentially good decoders in the error floor region for any column-weight-three code. We validate the code generality of our methodology by providing particularly good three-bit precision FAIDs for a variety of codes with different rates and lengths.

ptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptptpt

Finite Alphabet Iterative Decoders, Part I: Decoding Beyond Belief Propagation on BSC

Shiva Kumar Planjery, Student Member, IEEE, David Declercq,

Senior Member, IEEE, Ludovic Danjean, and Bane Vasić, Fellow, IEEE

^{0}

^{0}footnotetext: This work was funded by the NSF under Grant CCF-0963726 and Institut Universitaire de France grant. The work was presented in part at the IEEE conferences Information Theory and Applications Workshop 2010, International Symposium on Information Theory 2010, and Information Theory Workshop 2011.

^{0}

^{0}footnotetext: B. Vasić is with the Department of Electrical and Computer Engineering, University of Arizona, Tucson, AZ, 85721 USA (e-mail: vasic@ece.arizona.edu).

^{0}

^{0}footnotetext: D. Declercq is with ENSEA/University of Cergy-Pontoise/CNRS UMR 8051, 95014 Cergy-Pontoise, France (email: declercq@ensea.fr).

^{0}

^{0}footnotetext: S. K. Planjery and L. Danjean are with both the above institutions (email: {shivap,danjean}@ece.arizona.edu).

## I Introduction

At the heart of modern coding theory lies the fact that low-density parity-check (LDPC) codes [1] can be efficiently decoded by message-passing algorithms which are based on the belief propagation (BP) algorithm [2]. The BP algorithm operates on a graphical model of a code known as the Tanner graph, and computes marginals of functions on the graph. While inference using BP is exact only on loop-free graphs (trees) and exact inference on loopy graphs is hard even under strong restrictions of graphical model topology, the BP still provides surprisingly close approximations to exact marginals on loopy graphs.

However, the sub-optimality of BP on loopy graphs contributes to the error floor phenomenon of LDPC codes. The error floor is an abrupt degradation in the slope of the error-rate performance in the high signal-to-noise-ratio (SNR) regime, where certain harmful loopy structures, generically termed as trapping sets [3] present in the Tanner graph of the code, cause the decoder to fail. Although there have been some important works related to devising algorithms that can provide better approximations on the marginals such as the generalized BP algorithms of [4], these are still too complex for practical use. Moreover, the effects of finite precision that are introduced when decoders are realized in hardware can further contribute to the error floor problem. A glimpse at the iterative decoders developed so far reveals a wide range of decoders of varying complexity. The simple binary message passing algorithms such as the Gallager A/B algorithms [1] occupy one end of the spectrum, while the BP lies at the other end. The gamut of decoders filling the intermediate space can simply be understood as the implementation of the BP (and variants) at different levels of precision.

In this paper, which serves as the first part of our two-part paper series, we introduce a novel approach to the design of finite precision iterative decoders for the Binary Symmetric channel (BSC) which we refer to as finite alphabet iterative decoders (FAIDs) to signify the fact that the messages belong to a finite alphabet. Some of the key features that clearly distinguish our approach from all the other existing works on finite precision iterative decoders (which shall be discussed in greater detail in the next section) are: 1) the messages are not quantized values of log-likelihoods or probabilities, and 2) the variable node update functions are simple well-defined maps rather than approximations of the update functions used in BP. The maps for variable node update in FAIDs are designed with the goal of increasing the guaranteed error-correction capability by using the knowledge of potentially harmful subgraphs that could be present in any given code, thereby improving the slope of the error floor on the BSC [5]. Since the variable nodes in the proposed decoders are now equipped to deal with potentially harmful neighborhoods, which is in contrast to BP which treats the loopy Tanner graph as a tree, the proposed decoders are capable of surpassing the floating-point BP in the error floor.

We restrict our focus to FAIDs for column-weight-three codes. The main reason for this is that such codes, while enabling extremely simple hardware implementations, are notoriously prone to higher error floors especially at moderate to high code rates compared to codes of higher column-weights. Being able to design good yet simple decoders for these codes not only validates our novel approach, but also further ascertains the importance of addressing the error problem from the viewpoint of improving the iterative decoding rather than from the viewpoint of code construction [6], as it becomes very difficult to construct such codes to be devoid of certain harmful loopy graphs or with large girth without compromise on the code rate and length.

We also provide a semi-heuristic-based selection method that is not code specific, but gives a set of candidate FAIDs that contains potentially good decoders in the error floor for any given column-weight-three code. The method relies on analyzing the behavior of different FAIDs on a small number of carefully selected subgraphs which are potential trapping sets with errors introduced in the nodes of the subgraph. In order to carry out this analysis, we introduce the notion of noisy trapping set, which is a generalized notion that takes into account the possible effects of a neighborhood by initializing different possible sets of messages into the trapping set. Using this approach, we obtain a set of particularly good 3-bit precision FAIDs that are each capable of surpassing BP on several column-weight-three codes.

## Ii Finite precision iterative decoding and the error floor: prior work

There have been several important works related to the design of quantized BP decoders. Early works include the Gallager-E and other finite precision decoders proposed by Richardson and Urbanke [7], and reduced-complexity BP decoders such as the normalized min-sum and offset min-sum decoders proposed by Chen et al. [8] and by Fossorier et al. [9]. More recent works include the quantized BP decoders proposed by Lee and Thorpe [10], and also by Kurkosi and Yagi [11]. In all of the aforementioned works, the quantization schemes are designed based on optimizing for the best decoding threshold on a given code using the asymptotic technique of density evolution (DE) [7] with the primary goal of approaching the performance of the floating-point BP algorithm. Since asymptotic methods are inapplicable to finite length codes as they do not to take their particular structures into account, these decoders designed for the best DE thresholds do not guarantee a good performance on a finite length code especially in the high SNR region. This was also evidenced in [12, 14] where the FAIDs that were chosen for a given code solely based on their DE thresholds were not the best performing FAIDs and in some cases even exhibited high error floors. Moreover, the effects of quantization on the error floor can vary depending on the particular structure of a given code [3, 15].

The error floor problem of LDPC codes has gained significant attention over the past several years with several works addressing the problem from a decoding perspective by proposing modifications to the BP decoding algorithm. Some of the notable works include augmented belief propagation [16], informed dynamic scheduling [17], multi-stage decoding [18], averaged decoding [19], and use of post-processing to lower the error floors [20, 21]. While all these schemes certainly provided performance enhancements in the error floor, all of them require either a considerable increase in decoding complexity due to the modifications and post-processing or are restricted to a particular code whose structure is well-known. In addition, they do not take finite precision into account and this can drastically affect the performance gains when implemented in hardware due to possible numerical precision issues [23].

Therefore, addressing the error floor problem while also taking finite-precision into account in the decoder design is of prime importance especially with emerging applications in communication and data storage systems now requiring very low error-rates and faster processing speeds. In this regard, there are some relevant works worth mentioning. Zhao et al. in [22] proposed several modifications to the offset min-sum decoder while taking quantization into account. Their proposed quantization schemes enabled their offset-min sum decoder to approach performance of floating-point BP algorithm on the Additive White Gaussian Noise channel (AWGNC) with six bits of quantization with possible improvement in the error floor. Zhang et al. in [23] also studied the effects of quantization on the error floors of BP over the AWGNC, and designed schemes that led to substantial error floor reductions when six bits of quantization were used.

However, using our novel approach, which is different from the above mentioned works (due to the reasons mentioned in Section I), we are able to design simple 3-bit precision decoders that are capable of surpassing the floating-point BP.

## Iii Preliminaries

Let denote the Tanner graph of an binary LDPC code of rate , which consists of the set of variable nodes and the set of check nodes . The degree of a node in is the number of its neighbors in . A code is said to have a regular column-weight if all variable nodes in of have the same degree . The set of neighbors of a node is denoted as , and the set of neighbors of node is denoted by . The girth of is the length of shortest cycle present in .

Let denote a codeword of that is transmitted over the BSC, where denotes the value of the bit associated with variable node , and let the vector received from the BSC be . Let denote the error pattern introduced by the BSC such that , and is the modulo-two sum. The support of an error vector , denoted by , is defined as the set of all positions such that . Let be the input to the decoder, where each is calculated based on the received value . We shall also refer to the values as channel values. During the analysis of decoders, we shall assume that the all-zero codeword was transmitted. This is a valid assumption since the decoders we consider are symmetric [7].

A trapping set (TS) denoted by (as originally defined in [3]) is a non-empty set of variable nodes that are not eventually corrected for a given decoder input . If is empty, then the decoding is successful. Note that will depend on the number of decoding iterations. A common notation used to denote a TS is , where , and is the number of odd-degree check nodes in the subgraph induced by .

Let denote the topology associated with a TS, which is a graph consisting of variable nodes and odd-degree check nodes. A TS is said to be elementary if contains only degree-one or/and degree-two check nodes. Throughout this paper, we restrict our focus to elementary trapping sets, since they are known to be dominant in the error floor [3, 24]. Also, whenever we refer to a TS, we will implicitly refer to its underlying topological structure .

## Iv Finite alphabet iterative decoders

We shall now introduce a new type of finite precision decoders which we refer to as FAIDs [12, 13]. An -level FAID denoted by is defined as a 4-tuple given by . The finite alphabet defined as , where and for any , consists of levels for which the message values are confined to. The sign of a message can be interpreted as the estimate of the bit associated with the variable node for which is being passed to or from (positive for zero and negative for one), and the magnitude as a measure of how reliable this value is.

The set denotes the set of all possible channel values. For FAIDs over the BSC, is defined as , where , and the value for node is determined by , i.e., we use the mapping and . Note that for the BP and min-sum algorithms (where the messages are log-likelihoods), the decoder input is a real-valued vector (). Let denote the extrinsic incoming messages to a node with degree .

### Iv-a Definitions of the update functions and

The function used for update at a check node with degree is defined as

(1) |

Note that this is the same function used in the min-sum decoder, and hence the novelty in the proposed decoders lies in the definition of the variable node update function .

The function is the update function used at a variable node with degree , and is defined in closed form as

(2) |

where the function is defined below based on a threshold set with and if , and .

The weight is computed using a symmetric function . Based on this definition, the function can be classified as a linear-threshold (LT) function or a non-linear-threshold (NLT) function. If (or constant), i.e., if the value of is always (or constant) for all possible inputs of , then is an LT function and a FAID with such a is classified as an LT FAID. Else, is an NLT function and a FAID with such a is an NLT FAID.

Note that for an LT FAID, takes a linear combination of its arguments and then applies the function to determine its output. Therefore, will always output the same value for any possible set of incoming messages for a given , if their sum remains the same. For example, for a node with , when . This is also a typical property present in existing quantized decoders such as quantized BP and min-sum.

On the other hand, for an NLT FAID, takes a non-linear combination of its arguments (due to ) before applying the function on the result. Therefore, can output different values even for distinct sets of incoming messages that have the same sum. For instance, consider a map for a node with such that and . In this case, the two distinct sets of incoming messages are and , and the sums are zero for both the sets. However, still gives different outputs for each of the sets namely, and respectively. Hence these decoders are different from existing quantized message-passing decoders. Note that the function satisfies the following two properties.

###### Definition 1 (Symmetry property).

A FAID is a symmetric decoder if its update function satisfies .

###### Definition 2 (Lexicographic ordering).

A FAID is said to be lexicographically ordered if satisfies , .

The property of lexicographic ordering ensures that the for a given channel value, the output is always non-decreasing with increase in the values of incoming messages. For instance, a map where and is forbidden, since . This is a typical property also present in existing message-passing decoders.

The decision rule used in FAIDs at the end of each iteration, to determine the bit value corresponding to each node , is simply the sign of the sum of all incoming messages plus the channel value (positive implies zero and negative implies one).

It is evident from the definition that can be uniquely described either by assigning real values to the elements of , and , and defining , or by providing a set of constraints which the assigned values can take. As examples, we provide the closed-form description of for a 5-level NLT FAID and a 7-level LT FAID defined for column-weight-three codes.

###### Example 1 (5-level NLT FAID).

The constraints on the values assigned to elements of and that describe this map are: , , , , and the function is given by .

###### Example 2 (7-level LT FAID).

The constraints on the values assigned to elements of and that describe this map are: , , , and , , and , where since it is an LT function.

### Iv-B Describing the maps of as arrays

Let us alternatively define to be where , ,, , , ,, . Then, can be defined using -dimensional arrays or look-up tables (LUTs) rather than as closed-form functions, which enables simple implementations and also may be more convenient for decoder selection.

For column-weight-three codes, the map specifying is a simple two-dimensional array defined by , where , such that for any . The values for can be deduced from the symmetry of . Table I shows an example of a defined as an array for a 7-level FAID when .

It is easy to see that if the diagonal entries in the array are different, then must be an NLT function (as discussed previously). However, can still be an NLT function even if all the diagonal entries in the array are the same, as highlighted in the following lemma.

###### Lemma 1.

If , , , and , then can not be expressed as a linear-threshold function, and hence it is a non-linear-threshold function.

Proof: See Appendix

Consequently, the map defined by Table I is an NLT function. Fig. 1 shows the error-rate performances of the 5-level NLT and 7-level LT FAIDs defined in the two examples, and the 7-level NLT FAID defined by the Table I, along with the floating-point BP and min-sum decoders on the well-known Tanner code. All decoders were run for a maximum of 100 iterations. From the plot, we see that all the FAIDs significantly outperform the floating-point BP and min-sum on the code. We will soon provide the methodology used to identify good FAIDs.

Note that a particular choice of gives rise to a particular , and the choice must ensure that the both properties of are satisfied. For the remainder of the paper, we shall restrict our discussion to only class-A FAIDs. A natural question that arises at this point is how many class-A FAIDs exist. This can be easily enumerated by establishing a connection between class-A FAIDs and symmetric plane partitions.

### Iv-C Symmetric plane partition representation of

A symmetric plane partition is an array of nonnegative integers such that , , and . If , , and , then the plane partition is said to be contained in a box with side lengths . The value is represented as a box of height positioned at coordinate on a horizontal plane.

Due to the imposition of the lexicographic ordering and symmetry of , there exists a bijection between the array and a symmetric plane partition contained in a box, where each is determined based on . Fig. 2 shows the visualization of a plane partition corresponding to of the 7-level FAID defined in Table I. Kuperberg in [25] gave an elegant formula for the enumeration of symmetric plane partitions contained in a box, and we can directly utilize this for the enumeration of class-A -level FAIDs as well.

###### Theorem 1 (Number of Class-A -level FAID).

The total number of symmetric lexicographically ordered -level FAIDs is given by

where is the staggered hyperfactorial function.

Proof: The proof of the theorem follows from the bijection between the map of a class-A FAID and a symmetric boxed plane partition.

The total number of class-A FAIDs for and levels are 28,314 and 530,803,988 respectively. Henceforth, we shall restrict our discussion to only class-A FAIDs.

## V Selection of finite alphabet iterative decoders

It is evident from the previous section that identifying particularly good FAIDs from the set of all possible class-A FAIDs is highly non-trivial since the number of such FAIDs is still large. We now describe a general approach that can be used to identify a subset of candidate -level FAIDs, one or several of which are potentially good for any column-weight-three code. Our main aim behind this approach is to restrict the choice of FAIDs to a possibly small subset containing good candidates. Given a particular code, it would then be feasible to identify the best performing FAID from this subset by using brute-force simulation or emulation or some other technique on the code. Moreover, since the performance of a FAID on a given code depends on its structure, the goal of identifying several candidate FAIDs is more realistic than identifying a single good FAID, and allows for devising a selection method that is not code-specific. Another important objective of our approach is to ensure that any FAID belonging to this subset is capable of surpassing BP in the error floor not just on a single code but on several codes.

The approach we use relies on the knowledge of potentially harmful subgraphs that could be trapping sets for traditional iterative decoders when present in a given code. The candidate FAIDs are chosen by analyzing their behavior on each of these subgraphs with errors introduced in them. We will first introduce some important notions that form the basis of our approach, and then subsequently present a methodology for FAID selection for column-weight-three codes.

### V-a Critical number and isolation assumption

The notion of critical number associated with a TS of type was originally introduced for Gallager-A/B algorithms on the BSC [26]. It is computed by analyzing the Gallager-A/B decoding on errors contained in the topology that is present in a code, assuming that all nodes outside the topology are initially correct. It provides a measure of how harmful a TS is, and hence, this notion is not only useful for predicting the error floor performance [24] but also for determining the harmful subgraphs that should be avoided in the code designs.

In order to be able to extend the notion of critical number for FAIDs, we introduce the notion of isolation assumption [28] which is used to analyze the decoder on a potential TS . Under this assumption, the neighborhood of the TS is such that the messages flowing into the TS from its neighborhood are not in any way influenced by the messages flowing out of the TS. Therefore, the messages flowing into the TS can be computed while completely disregarding the neighborhood [28, Theorem 1]. We shall now precisely define this notion.

Let denote the computation tree corresponding to an iterative decoder on enumerated for iterations with node as its root. A node is a descendant of a node if there exists a path starting from node to root that traverses through node .

###### Definition 3 (Isolation assumption).

Let be a subgraph of induced by with check node set . The computation tree with the root is said to be isolated if for any node in , does not have any descendant belonging to . If is isolated , then is said to satisfy the isolation assumption in for iterations.

Remark: The above definition is a revised version of the one given in [28].

Note that the isolation assumption is weaker than Gallager’s independence assumption as explained in [28]. The critical number can now be defined in the framework of FAIDs.

###### Definition 4.

The critical number of a FAID denoted by on a subgraph is the smallest number of errors introduced in for which fails on under the isolation assumption.

Remark: We set the critical number to if corrects all possible error patterns on .

The critical number can now be used as possible parameter for decoder selection where a decoder is chosen to maximize the critical number on a given TS(s). In principle, one could consider a database of potential TSs that are generated either through analytical or empirical evaluations of traditional decoders such as BP and min-sum on several different codes, and then select a FAID based on its critical numbers on all these TSs.

However, the isolation assumption of a TS typically does not hold in an actual code for more than few iterations and hence the critical number may not reflect the true error-correction capability of the FAID on a code containing the TS. This is especially true for TSs of small sizes. Therefore, unless a very large database of TSs is considered or unless TSs with large sizes are considered such that isolation assumption holds for many more iterations (as done in [29] where the considered TSs are the weight-20 codewords), the strategy will remain ineffective. This motivates the need for a new notion that considers to an extent the influence of the neighborhood.

### V-B Noisy trapping sets and noisy critical numbers

Let us consider a harmful topology that has been identified as a potential TS on a given code. We introduce the notion of initialization vector which allows us to partially capture the influence of its arbitrary (unknown) neighborhood during the analysis of a FAID on the .

###### Definition 5.

An initialization vector on a TS is defined as a vector where , such that during the message passing of a FAID on , the message passed by the degree-one check node in any iteration is . The TS is said to be initialized by such a vector and is referred to as a noisy trapping set.

A FAID can now be analyzed by introducing errors into the variable nodes of the TS and passing messages iteratively on the edges of under a given initialization vector. Note that the initialization vector on a TS is carried out only through the degree-one check nodes, and also that the initialization vector is not iteration-dependent.

As an example, Fig. 3 depicts how a FAID is analyzed for a three-error pattern on a initialized by a vector . A denotes a variable node initially wrong (, , and ) and a denotes a node initially correct (, , and ). A denotes a degree-two check node and a denotes a degree-one check node. Initially all the messages passed by all nodes except the degree-one check nodes are set to zero. Then the messages are iteratively updated using the maps and by treating the topology as if it were the Tanner graph of a code but with the exception that a degree-one check node sends (or ) to its neighbors in all iterations of the message passing. The message update on a single edge from a variable node is shown in the figure for each of the nodes , , , and ( and are similar to and respectively). Note that the messages denote the extrinsic incoming messages to these nodes.

Let denote the maximum number of iterations allowed for message passing under a particular FAID on TS . We examine whether an error pattern is corrected by the FAID within iterations under a given initialization vector on the TS .

Our main intuition for defining such a notion is as follows. Let us consider a code whose graph contains a subgraph that is isomorphic to the topology . Assume that a particular FAID is being used for decoding an error pattern where some (or all) of the variable nodes in are initially in error and the nodes outside are initially correct. During each iteration of decoding, different possible messages belonging to will be passed into the nodes of from outside of depending on its neighborhood. The initialization vector can be considered as a possible snapshot of the messages entering through its check nodes in some arbitrary iteration, and different initializations represent the different possible influences that the neighborhood of can have. Therefore, analyzing the FAID under different initializations on a given can provide a good indication of its error correction capability on a code whose graph contains .

Although the initialization vector should ideally be iteration-dependent and include all messages passed to all check nodes of from outside of , this would make analyzing a FAID on computationally intractable. Therefore we only include constant values that are passed to degree-one check nodes into the initialization vector. We now define the notion of noisy critical number which is an extension of the notion of critical number for FAIDs.

###### Definition 6.

The noisy critical number of a FAID under an initialization vector on a TS is the smallest number of errors introduced in for which fails on .

By determining the noisy critical number under every possible initialization vector on the TS , a vector of noisy critical numbers, referred to as noisy critical number vector (NCNV), can be obtained for a particular FAID. Let denote the number of all possible initialization vectors, i.e., . The NCNV of a FAID denoted by on a given TS is given by , where is the noisy critical number determined under a initialization vector on TS with being the maximum number of decoding iterations. The NCNV can now be used as a parameter for decoder selection.

### V-C Choice of trapping sets for decoder selection

Since our approach for identifying good FAIDs relies on determining the NCNVs of FAIDs on different trapping sets, the first step in the decoder selection is to carefully select the harmful topologies that should be considered for the analysis. The selected trapping sets should be topologies that are known to exist in practical high-rate codes with dense graphs and are regarded as relatively harmful for existing iterative decoders. Also the trapping sets used should have notable differences in their topological structures, so that the candidate FAIDs identified from the analysis are more likely to be good on several codes rather than just on a single code.

We use the trapping set ontology (TSO) [27] to determine which harmful topologies to consider. The TSO is a systematic hierarchy of trapping sets that is based on their topological relations, and it is specified in the form of a parent-child relationship between the trapping sets. A trapping set is said to be a parent of a trapping set if contains . For the decoder selection, the trapping sets are chosen such that they do not have many common parents, and that most of the parents (graphs of smaller size) in the TSO are considered. For simplicity, we ensure that all the trapping sets selected have the same value of , so that the NCNVs determined from different trapping sets all have the same dimension.

### V-D Decoder domination

Having selected the harmful topologies, the next step in the decoder selection is to determine and be able to compare the NCNVs of different FAIDs on all the selected TSs. We introduce the notion of decoder domination in order to compare the NCNVs of different FAIDs.

Let the set of chosen TSs for the analysis of FAIDs be denoted by with cardinality . Let denote the set of class-A -level FAIDs considered for possible decoder selection with cardinality . Let denote the NCNV of a FAID determined on a TS , and let denote the component of the NCNV, i.e., .

A FAID is said to dominate a FAID for a given initialization vector , if

(3) |

In other words, dominates under a given initialization vector if the noisy critical number of is not less than the noisy critical number of on all the TSs in .

The number of initialization vectors under which dominates is denoted by and is given by

(4) |

where is the indicator function that outputs a one when the condition in its argument is true and zero otherwise.

If , then is said to dominate with domination strength . For simplicity we shall use the symbol to denote domination, i.e., implies that dominates .

### V-E Methodology for selection: a general approach

For a given value of , a methodology for identifying good -level FAIDs can now be devised based on the notions of decoder domination and the NCNVs. We remind the reader that the main goal of our approach is to be able to identify a small subset of candidate -level FAIDs, where each candidate FAID is potentially good on several codes. Let this small subset of selected FAIDs be denoted by . Ideally, if a candidate FAID could be selected solely based on how it dominates all the other FAIDs in , then one could possibly obtain an ordering of the FAIDs in in terms of their dominance and conclude as to which ones are more likely to be good on a given code containing one or more of the TSs in . Unfortunately, we have found that such an ordering does not exist since there can be many FAIDs that dominate a particularly good FAID (known a priori to be good) and yet perform poorly on certain codes.

Therefore, without going into the details, we shall describe a general approach for selection that utilizes pre-determined small sets of good FAIDs and bad FAIDs denoted by and respectively. The set consists of -level FAIDs that are known a priori to have good error floor performance on several codes of different rates and possibly containing different TSs. The set consists of -level FAIDs that were found to perform well on one particular code but perform poorly on other codes. We regard FAIDs in to be bad since our goal is to identify FAIDs that are capable of surpassing BP on several codes.

We then evaluate whether a particular FAID dominates or is dominated by the FAIDs in the sets and . By using the sets and to compare with, we are inherently trying to select FAIDs whose NCNVs have characteristics similar to the NCNVs of FAIDs in but dissimilar to the NCNVs of the FAIDs in . Therefore, we define a cost function, , that is based on domination strengths, and whose value determines whether the FAID should be accepted for inclusion into . We have observed that it is crucial for a candidate FAID to dominate most (or all) FAIDs in and also not be dominated by most (or all) FAIDs in for it to be considered potentially good. This is reflected in the cost function defined below.

(5) |

The value of the cost function is compared to a threshold . If , then the FAID is selected as a candidate to be included in , else it is rejected. The cardinality of depends on since a smaller accepts more FAIDs and a larger accepts less FAIDs. The choice of also plays a role and should generally be chosen to be small (5 to 10 iterations).

Note that the approach we have presented in this paper is slightly different from the one proposed in [14]. In [14], the selection algorithm assumes it has no a priori knowledge on the sets and , and then tries to progressively build the sets before using them to identify good candidate FAIDs. By instead utilizing pre-determined sets of and in our approach in this paper, we have found that the selection procedure is greatly improved and we were able to obtain much better sets of candidate FAIDs (in terms of their error floor performance). Note however that the approach of [14] is still applicable to the selection method presented in this paper as it could still be used as an initial step for determining the sets and .

Using our methodology, we were able to derive a set of good candidate 7-level FAIDs (which are 3-bit precision decoders) for column-weight-three codes. On a variety of codes of different rates and lengths, particularly good 7-level FAIDs chosen from all outperformed the BP (floating-point) in the error floor. Moreover, the loss in the waterfall compared to BP was found to be very reasonable. The numerical results to support this statement are provided in the next section. Another interesting remark related to our selection procedure that we have found is that, although the DE threshold values were not at all used as parameters in the selection of FAIDs, the candidate FAIDs that we obtained in set were all found to have fairly good DE thresholds.

## Vi Numerical results

Earlier in Section IV, we demonstrated the capability of 5-level and 7-level FAIDs to outperform BP in the error floor on the Tanner code. We now provide additional numerical results on the BSC to further illustrate the efficacy of FAIDs on column-weight-three codes of higher practical interest and validate our approach for decoder selection. The three codes used for the simulations were chosen to cover a broad variety of LDPC codes in terms of rate, length, and structure. They are: 1) an structured code based on latin squares, 2) an code, and 3) an quasi-cyclic code.

The structured code with girth-8 was designed using the method of Nguyen et. al [6], which is based on latin squares and avoids certain harmful trapping sets in the code design. The code with girth-8 was designed using the progressive edge-growth (PEG) method of [30] while ensuring that it contains no TS (see [27] for the topology). The quasi-cyclic code is a high-rate girth-8 code with a minimum distance of 12.

Figures 4, 6, and 5 show the frame error-rate (FER) performance comparisons versus the cross-over probability between the particularly good 7-level (3-bit precision) FAIDs we identified and the BP (floating-point). Table I defines the FAID used on the and the codes, while Table II defines the FAID used on the PEG-based code. Note that both are 7-level NLT FAIDs and all decoders were run for a maximum of 100 iterations.

In all three codes, the 7-level FAIDs begin to surpass the BP at an FER. Also notice the difference in the better slopes of the error floor for the 7-level FAIDs which can be attributed to their enhanced guaranteed error correction capability. For instance, all FAIDs used on the Tanner code in Fig. 1 guarantee a correction of 5 errors, whereas BP fails to correct several 5-error patterns. It must also be noted that the good 7-level FAIDs identified using our approach outperformed BP on several other tested codes as well. Therefore, the methodology is applicable to any column-weight-three code and provides to an extent “universally” good FAIDs, as they are all capable of surpassing BP on not just few but several codes.

## Vii Conclusions

We introduced a new paradigm for finite precision iterative decoding of LDPC codes on the BSC. Referred to as FAIDs, the newly proposed decoders use node update maps that are much simpler than BP yet capable of surpassing the floating-point BP with only three bits of precision. We described the general framework of FAIDs with focus on column-weight-three codes and provided examples of good 3-bit precision FAIDs. We also provided a general methodology to identify a set of “universally” good FAIDs, one or several of which are potentially good for any given column-weight-three code. Our methodology is thus not code-specific but rather utilizes the knowledge of harmful topologies that could be present in a given code. The supporting numerical results show that it is possible to achieve a much superior error-rate performance in the error floor at a much lower complexity and memory usage than BP by using FAIDs.

## Appendix

Proof of Lemma 1: Assume that there exists an LT representation for such a , which is defined by assigning real values to the elements of the alphabet , the threshold set , and the set . Since , the inequality must hold. Also since , we have . Combining the two inequalities, we get . Now, if , then , and if , then . But since and , we have , which is a contradiction.

## Acknowledgment

The authors would like to thank Shashi Kiran Chilappagari for his contributions to this work.

## References

- [1] R. G. Gallager, Low Density Parity Check Codes. Cambridge, MA: M.I.T. Press, 1963.
- [2] J. Pearl, Probablisitic Reasoning in Intelligent Systems. San Francisco, CA: Kaufmann, 1988.
- [3] T. Richardson, “Error floors of LDPC codes,” Proc. Allerton Conf. on Commun., Control and Computing, 2003.
- [4] J. S. Yedidia, W. T. Freeman, and Y.Weiss, “Constructing free energy approximations and generalized belief propagation algorithms,” IEEE Trans. Inf. Theory, vol. 51, pp. 2282-2312, Jul. 2005.
- [5] M. Ivkovic, S. K. Chilappagari, and B. Vasic, “Eliminating trapping sets in low-density parity-check codes by using Tanner graph covers,” IEEE Trans. Inf. Theory, vol. 54, no. 8, pp. 3763–3768, Aug. 2008.
- [6] D. V. Nguyen, S. K. Chilappagari, M. W. Marcellin, and B. Vasic, “On the construction of structured LDPC Codes free of small trapping sets,” IEEE Trans. Inf. Theory, vol. 58, no. 4, pp. 2280–2302, Apr. 2012.
- [7] T. Richardson and R. Urbanke, “Capacity of low-density parity-check codes under message-passing decoding,” IEEE Trans. Inf. Theory, vol 47, pp. 599–618, Feb. 2001.
- [8] J. Chen, A. Dholakia, E. Eleftheriou, M. Fossorier, and X.-Y. Hu, “Reduced-complexity decoding of LDPC codes,” IEEE Trans. Commun., vol. 53, no. 8, pp. 1288–1299, Aug. 2005.
- [9] M. Fossorier, M. Mihaljevic, H. Imai, “Reduced complexity iterative decoding of low-density parity check codes based on belief propagation,” IEEE Trans. Commun., vol. 47, no. 5, pp. 673–680, May 1999.
- [10] J. Lee, J. Thorpe, “Memory-efficient decoding of LDPC codes,” Proc. Int. Symp. Inform. Theory, pp. 459–463, Sept. 2005.
- [11] B. Kurkoski and H. Yagi, “Quantization of binary-input Discrete Memoryless Channels with applications to LDPC decoding,” submitted to IEEE Trans. Inf. Theory [Online]. Available: http://arxiv.org/abs/1107.5637
- [12] S. K. Planjery, D. Declercq, L. Danjean, and B. Vasic, “Finite alphabet iterative decoders for LDPC codes surpassing floating-point iterative decoders,” IET Electron. Lett., vol. 47, no. 16, Aug. 2011.
- [13] S.K. Planjery, S.K. Chilappagari, B. Vasic, D. Declercq, L. Danjean, “Iterative decoding beyond belief propagation,”Proc. Inform. Theory and App. Workshop, Jan. 2010.
- [14] L. Danjean, D. Declercq, S. K. Planjery, and B. Vasic, “On the selection of finite alphabet iterative decoders for LDPC codes on the BSC,” Proc. IEEE Inform. Theory Workshop, pp. 345–349, Oct. 2011.
- [15] L. Dolecek, P. Lee, Z. Zhang, V. Anantharam, B. Nikolic, and M. Wainwright,“Predicting Error Floors of Structured LDPC Codes: Deterministic Bounds and Estimates,”IEEE J. Sel. Areas Commun., vol. 27, pp. 908–917, Aug. 2009.
- [16] N. Varnica, M. Fossorier, and A. Kavcic, “Augmented belief propagation decoding of low-density parity check codes,” IEEE Trans. Commun., vol. 55, no. 7, pp. 1308–1317, Jul. 2007.
- [17] A. I. Vila Casado, M. Griot, and R. D. Wesel,“LDPC decoders with informed dynamic scheduling,” IEEE Trans. Commun., vol. 58, no. 12, pp. 3470–3479, Dec. 2010.
- [18] Y. Wang, J. S. Yedidia, and S. C. Draper, “Multi-stage decoding of LDPC codes,” Proc. IEEE Int. Symp. Inform. Theory, pp. 2151–2155, Jul. 2009.
- [19] S. Laendner, and O. Milenkovic, “Algorithmic and combinatorial analysis of trapping sets in structured LDPC codes ,” Proc. Int. Conf. Wireless Networks, commun., and mobile commun., pp. 630–635, Jun. 2005.
- [20] Y. Han, and W. Ryan, “Low-floor decoders for LDPC codes,” IEEE Trans. Commun., vol. 57, no. 6, pp. 1663–1673, 2009.
- [21] Z. Zhang, L. Dolecek, B. Nikolić, V. Anantharam, and M. Wainwright, “Lowering LDPC error floors by postprocessing,” Proc. IEEE Global Telecommun. Conf., pp. 1–6, Dec. 2008.
- [22] F. Zarkeshvari, A. H. Banihashemi, “On implementation of min-sum and its modifications for decoding LDPC codes,” IEEE Trans. Commun. lett., vol. 53, no. 4, pp. 549–554, Apr. 2005.
- [23] Z. Zhang, L. Dolecek, B. Nikolić, V. Anantharam, and M. Wainwright, “Design of LDPC decoders for improved low error rate performance: quantization and algorithm choices,” IEEE Trans. Commun., vol. 57, no. 11, pp. 3258–3268, Nov. 2009.
- [24] S. K. Chilappagari, S. Sankaranarayanan, and B. Vasic, “Error floors of LDPC codes on the binary symmetric channel,” Proc. IEEE Int. Conf. on Commun., pp. 1089–1094, Jun. 2006.
- [25] G. Kuperberg, “Symmetries of plane partitions and the permanent-determinant method,” J. Comb. Theory A, 68, pp. 115–151, 1994.
- [26] S. K. Chilappagari, and B. Vasić, “Error-correction capability of column-weight-three LDPC codes,” IEEE Trans. Inf. Theory, vol. 55, no. 5, pp. 2055–2061, May 2009.
- [27] B. Vasic, S. K. Chilappagari, D. V. Nguyen, and S. K. Planjery, “Trapping set ontology,” Proc. Allerton Conf. on Commun., Control, and Computing, pp. 1–7, Sept. 2009.
- [28] S. K. Planjery, D. Declercq, S. K. Chilappagari, and B. Vasić, “Multilevel decoders surpassing belief propagation on the binary symmetric channel,” Proc. IEEE Int. Symp. Inform. Theory, pp. 769–773, Jun. 2010.
- [29] D. Declercq, L. Danjean, E. Li, S. K. Planjery, and B. Vasic, “Finite alphabet iterative decoding (FAID) of the (155,64,20) Tanner code,” Proc. Int. Symp. Turbo Codes Iter. Inform. Process., pp. 11–15, Sep. 2010.
- [30] X. Y. Hu, E. Eleftheriou, and D. M. Arnold, “Regular and irregular progressive edge-growth tanner graphs,” IEEE Trans. Inf. Theory, vol. 51, no. 1, pp. 386–398, Jan. 2005.

0 | |||||||

0 | |||||||

0 | 0 | ||||||

0 | 0 | ||||||

0 | |||||||

0 |