Design of Finite-Length Irregular Protograph Codes with Low Error Floors over the Binary-Input AWGN Channel Using Cyclic Liftings
We propose a technique to design finite-length irregular low-density parity-check (LDPC) codes over the binary-input additive white Gaussian noise (AWGN) channel with good performance in both the waterfall and the error floor region. The design process starts from a protograph which embodies a desirable degree distribution. This protograph is then lifted cyclically to a certain block length of interest. The lift is designed carefully to satisfy a certain approximate cycle extrinsic message degree (ACE) spectrum. The target ACE spectrum is one with extremal properties, implying a good error floor performance for the designed code. The proposed construction results in quasi-cyclic codes which are attractive in practice due to simple encoder and decoder implementation. Simulation results are provided to demonstrate the effectiveness of the proposed construction in comparison with similar existing constructions.
Low-density parity-check (LDPC) codes, irregular LDPC codes, finite-length LDPC codes, error floor, cyclic lifting, quasi-cyclic LDPC codes, approximate cycle extrinsic message degree (ACE), ACE spectrum, protograph, AWGN channel.
Design of finite-length low-density parity-check (LDPC) codes which perform well in both the waterfall and the error floor regions is a challenging task. Irregular degree distributions which are optimized to render superior waterfall performance will often result in a high error floor in randomly constructed codes. To improve the error floor performance of irregular codes, different approaches have been examined. In one direction, iterative decoding algorithms are manipulated to perform better in the error floor region, see, e.g., . In another direction, new constructions of LDPC codes are introduced , , , , , , , . In this paper, we are interested in the latter approach. Our work is closely related to the ideas and constructions introduced in , , and , on one hand, and those in , , and , on the other hand.
The error floor performance of an LDPC code over the additive while Gaussian noise (AWGN) channel is closely tied to graphical objects, referred to as trapping sets . A full characterization of dominant trapping sets over the AWGN channel, particularly for irregular codes, is not available. It is however known that enumerating such sets, in general, is a formidable task , . Indirect measures of the error floor performance, which are computationally more efficient, have thus been used in the design and the analysis of the LDPC codes. It is well-known that cycles in the Tanner graph of the code are responsible for the suboptimal performance of iterative decoding algorithms. Different metrics have thus been introduced to measure the harmful effect of cycles. The simplest such metric is the length of the shortest cycles in the graph, called girth. Using this metric, Hu et al. proposed the progressive edge-growth (PEG) algorithm , which aims at maximizing the girth of the code’s Tanner graph. It was however observed that not all the cycles of the same length are as harmful in iterative decoding . In , the approximate cycle extrinsic message degree (ACE) of a cycle was introduced as a metric to evaluate the harmfulness of a cycle. The larger the ACE, the less harmful a cycle would be among a set of cycles of the same length. ACE constrained LDPC codes were also designed in  which outperformed random codes in the error floor region. The ACE metric for a cycle was recently generalized to the ACE spectrum of a Tanner graph in , where the authors also devised generalized ACE constrained LDPC codes, further improving the error floor of the codes. Finally, in , PEG construction and generalized ACE constrained design were combined for even superior error floor performance.
In , edge swapping was proposed as a technique to increase the stopping distance of an LDPC code, and thus to improve its error floor performance over the binary erasure channel (BEC). Random cyclic liftings was also studied in  and shown to improve the average performance of the ensemble in the error floor region compared to the base code. Ivkovic et al.  applied the same technique of edge swapping between two copies of a base LDPC code to eliminate the dominant trapping sets of the base code over the binary symmetric channel (BSC). This was then generalized in  to cyclic liftings of higher degree, where the liftings were designed to eliminate dominant trapping sets of the base code by removing the short cycles which are part of the trapping sets.
In this work, starting from a protograph, we use cyclic liftings to construct LDPC codes. The resulting codes are quasi-cyclic and thus attractive from implementation point of view. Cyclic liftings are carefully designed to achieve a target ACE spectrum with extremal properties, and thus the name ACE constrained cyclic edge swapping for the technique. The extremal ACE spectrum would imply a good error floor performance for the code.
Compared to the constructions of , , and , which do not have any particular structure, the proposed construction is quasi-cyclic and thus more implementation friendly. Moreover, the approach to achieve a target ACE spectrum is different. In particular, in the proposed construction, we first find a set of most vulnerable subgraphs of the protograph whose inverse image in the lifted graph can potentially be small cycles with low ACE values. We then carefully assign cyclic permutations to selected edges of these subgraphs such that their inverse image satisfies the target ACE spectrum for the lifted graph.
In comparison with  and , which start from rather large base codes (graphs), we begin with a rather small base code. This implies a more compact description for the code which can in turn result in simpler encoder and decoder implementation. As a consequence of a smaller base code, to achieve a given block length for the lifted code, the lifting degrees in this work are larger compared to those in  and . Another difference is in the approach to design the cyclic liftings. In  and , the liftings are designed to eliminate dominant trapping sets of the base code, implicitly assuming that such trapping sets are known and available. While this assumption may be valid for hard-decision algorithms over the BSC, for the soft-decision algorithms over the AWGN channel, the knowledge of dominant trapping sets, particularly for irregular codes, is much harder to attain if not infeasible. Moreover, the approach of  and , can work only for the cases where the base graph is large enough, and thus sparse enough, to allow for the existence of a meaningful set of dominant trapping sets.111To explain this, consider the Tanner code , which has been used as a base code in constructions of both  and . This code itself is a cyclic lifting of a complete bipartite graph with 5 variable nodes of degree 3 and 3 check nodes of degree 5. While one can meaningfully find the dominant trapping sets of the Tanner code for a certain decoding algorithm over a certain channel, the same is not possible for the much smaller graph. This may not be the case for the small base graphs which are the subject of this work.
The remainder of this paper is organized as follows. Section II briefly reviews the definitions, notations and concepts required in the rest of the paper. The ACE constrained cyclic edge swapping method is presented in Section III, followed by some simulation results in Section IV. The paper is then concluded in Section V.
Ii Preliminaries: Ldpc Codes, Tanner Graphs, Cyclic Liftings, and Ace Spectrum
Ii-a LDPC Codes and Tanner Graphs
Consider a binary LDPC code represented by a Tanner graph , where and are the sets of variable nodes and check nodes, respectively, and is the set of edges. Corresponding to , we have an parity-check matrix of , where if and only if (iff) the node is connected to the node in ; or equivalently, iff . If all the nodes in the set have the same degree , and all the nodes in the set have the same degree , the corresponding LDPC code is called -regular. Otherwise, it is called irregular. For an irregular LDPC code, the degree distributions of variable nodes and check nodes are often described by the two polynomials, and , respectively, where and are the maximum variable node degree and the maximum check node degree, respectively, and and are the percentage of the edges connected to the variable nodes and check nodes of degree , respectively. Alternatively, vectors and can be used for the description of the degree distributions. In this case, the code is referred to as a -irregular code.
A (directed) walk of length in a graph is a non-empty alternating sequence of nodes and edges in such that for all . If the two end nodes are the same, i.e., if , the walk is closed. A closed walk is backtrackless if for . A backtrackless closed walk is called tailless if . We use the abbreviation TBC for tailless backtrackless closed walks. A closed walk with distinct intermediate nodes is called a cycle. The length of the shortest cycle(s) in the graph is called girth. In bipartite graphs, including Tanner graphs, all closed walks have even lengths, and thus the girth is an even number.
Ii-B Cyclic Liftings
Consider the cyclic subgroup of the symmetric group over the set of integer numbers , with the group operation defined as composition. The group consists of the circulant permutations defined by . The permutation corresponds to cyclic shifts to the right. Corresponding to , we define the permutation matrix whose rows are obtained by cyclically shifting all the rows of the identity matrix by to the left. Clearly, . There is a natural isomorphism between (a) , (b) the group of integers modulo , , under addition, and (c) the group of circulant permutation matrices under multiplication. This isomorphism is defined by the correspondence between , and . In the following, we refer to as the shift of the permutation .
Consider the following construction of a graph from a graph : We first make copies of such that for each node , we have copies in . For each edge , we apply a permutation to the copies of in such that an edge belongs to iff . The set of these edges is denoted by . The graph is called a cyclic -cover or a cyclic -lifting of , and is referred to as the base graph, protograph or projected graph corresponding to . We also call the application of a permutation to the copies of , cyclic edge swapping, highlighting the fact that the cyclic permutation swaps edges among the copies of the base graph.
In this work, is a Tanner graph, and we define the edge permutations from the variable side to the check side, i.e., the set of edges in corresponding to an edge are defined by . Equivalently, can be described by , where is the inverse of in . In other words, if is a permutation from variable nodes to check nodes, , will be the corresponding permutation from check nodes to variable nodes. (Note that is the additive inverse of in .) It is important to distinguish between the two cases when we compose permutations on a directed walk.
To the lifted graph , we associate an LDPC code , referred to as the lifted code, such that the parity-check matrix of is equal to the biadjacency matrix of . More specifically, consists of a total of sub-matrices , with each sub-matrix of dimension , arranged in rows and columns. The sub-matrix in row and column is the circulant permutation matrix corresponding to the edge when ; otherwise, is the all-zero matrix. Let the matrix be defined by if , and , otherwise. Matrix , called the matrix of edge permutation shifts, fully describes and thus the cyclically lifted code .
Ii-C ACE Spectrum and ACE Constrained Code Design
Consider a cycle of length in a Tanner graph . The approximate cycle extrinsic message degree (ACE) of  is defined as ACE(, where is the degree of the th variable node of , and the summation is over all the variable nodes of . Among cycles of the same length, those with larger ACE values are less harmful to the performance of iterative decoding algorithms. In , ACE constrained LDPC codes were designed whose Tanner graphs were free of short cycles with small ACE values. These codes had much better error floors compared to similar random codes. The same idea has been used in  to devise cyclic lifts for protograph LDPC codes.
In this paper, we extend the definition of ACE to TBC walks, i.e., for a TBC walk of length in a Tanner graph, the ACE is defined as ACE(, where is the degree of the th variable node of , and the summation is over all the variable nodes of .
Given an LDPC code with a Tanner graph , the ACE spectrum of depth of  is defined as a -tuple , where , is defined as the minimum ACE value of all the cycles of length in . Note that , if there is no cycle of length in . It is desirable to have larger ACE spectrum components for smaller cycles. Given an ACE spectrum of depth , an LDPC code with a given Tanner graph (parity-check matrix ) is called ACE constrained if for every value of , all the cycles of length in have an ACE value larger than or equal to . In , a generalized ACE constrained construction of LDPC codes was introduced, where given an ACE spectrum of depth , a ACE constrained LDPC code would be designed. Such codes in general outperform the codes designed by the original ACE constrained approach of  in the error floor region. This is attributed to the fact that the codes designed in  have a “flat" ACE spectrum, while the ACE spectrum for the codes constructed in  do not have this limitation. The generalized ACE constrained construction was also combined with the PEG construction in  to further improve the error floor.
Consider an ensemble of LDPC codes with block length and degree distribution . A code from this ensemble is said to have extremal ACE spectrum properties  if it has an ACE spectrum , with the property that there is no other code in with an ACE spectrum , and , for . Codes with extremal ACE spectrum properties are expected to have good error floor performance . It is however a formidable task to find LDPC codes with extremal ACE spectrum properties or to prove that a code has such properties. Nevertheless, it would be desirable to aim at maximizing the ACE spectrum components in the code design process. In this work, we perform this task systematically and in a greedy fashion, focussing on one spectrum component at a time, starting from the first ACE spectrum component followed by the rest of the components in the increasing order of the cycle lengths until we reach . We refer to the proposed scheme as ACE constrained cyclic lifting, or ACE constrained cyclic edge swapping.
Iii Ace Constrained Cyclic Lifting
In our construction, we start from a given ACE spectrum of depth , and a given base code (graph) of length with a certain degree distribution , and design the non-infinity elements of the matrix of edge permutation shifts such that the lifted code (graph) is ACE constrained. This results in a ACE constrained LDPC code of length , where is the degree of the lifting. The lifted code has the same degree distribution as the base code.
To design a lifting that satisfies an ACE spectrum , we need to eliminate all cycles of length with ACE values less than in the lifted graph. To eliminate these cycles in the lifted graph, all subgraphs of the base graph whose inverse images include such low ACE cycles should be identified and treated. The treatment is performed by the proper selection of the permutation shifts for the edges of these problematic subgraphs of the base graph.
In the following, we show that the problematic subgraphs of the base graph are short TBC walks with small ACE values.
Iii-a Images of Cycles in Cyclic Liftings
Consider a cyclic -lifting of a Tanner graph . Consider a walk of length in , which starts from a variable node and ends at a variable node with the sequence of edges . Corresponding to the edges, we have the sequence of permutation shifts . Then the permutation shift that maps , the inverse image of in , to , the inverse image of in , through the walk is , where
The proof is straightforward. See, e.g., .
The value of given in (1) is called the permutation shift of the walk from to . Clearly, the permutation shift of the walk from to is equal to . If and all the other nodes are distinct, then the walk will become a cycle and depending on the direction of the cycle, its permutation shift will be equal to or .
Consider a cyclic -lifting of a Tanner graph . Consider a TBC walk of length and ACE value in . Suppose that the permutation shift of is , and that there is no subgraph of which is also a TBC walk with zero permutation shift. Then, the inverse image of in consists of cycles, each of length and ACE value .
Consider a variable node of the TBC walk . Consider the copy of in and follow the walk in corresponding to starting from . Since , the walk ends at and is thus closed. Since has no subgraph which is also a TBC walk with zero permutation shift, the above mentioned walk never goes through the same node twice. With the same argument, it never meets again prior to the end of the walk. The walk is thus a closed walk with distinct intermediate nodes and is therefore a cycle. The same argument applies to all the copies of in , resulting in non-identical cycles in . The ACE value of each cycle is clearly the same as that of , as the two have the same variable degrees.
Any cycle of length and ACE in the cyclic -lifting of is projected onto a TBC walk of length and ACE in , where is the order of the permutation shifts of .
We first note that the two permutation shifts of corresponding to the two directions of are the inverse of each other in , and thus have the same order. It is then simple to see that the image of a cycle must be a TBC walk . If the permutation shift of is zero, then , and the result follows from Lemma 2. If , consider a node of . Then with an argument similar to the one used in the proof of Lemma 2, one can see that the inverse image of starting from a node of will return back to after traversing edges of , where is the length of . This implies that the length of the resulting cycle is . The subgraph of in fact consists of cycles of length , all with the same degree distribution. The ACE result follows readily from the above argument. For the cycles, as a special case of TBC walks, we have the following result.
Consider a cyclic -lifting of a Tanner graph . Suppose that is a cycle of length and ACE in . The inverse image of in is then the union of cycles, each of length and ACE , where is the order of the permutation shifts of .
The proof for the number and the length of the cycles in the inverse image of follows from the proof for the general case of permutation lifts given in Theorem 2.4.3 of . The ACE results are simply a consequence of the fact that each cycle in the inverse image of has exactly the same variable degrees as does. The multiplicity of the variable nodes of each degree in however is times that in .
In what follows, we refer to the value in Lemma 3, as the order of the TBC walk, and use the notation to denote it. It is easy to see that in a cyclic lifting of degree , the order of a TBC walk is given by
where is the permutation shift corresponding to , and gcd denotes the “greatest common divisor.”
Iii-B Structure of TBC Walks in the Base Graph
Consider a base Tanner graph . Based on the results of the previous section, we are interested in enumerating all the short TBC walks in and making sure that the edge permutation shifts in these walks are selected such that the inverse images of the walks are not short cycles with low ACE values. The following lemma is simple to prove.
A TBC walk in is either a cycle or consists of at least two cycles.
Based on Lemma 5, it is clear that the length of a TBC walk in is at least . All the TBC walks of length are simple cycles. TBC walks with length consist of at least two cycles.
Consider the Tanner graph of Fig. 1 which has 3 variable nodes and 3 check nodes . The graph has two cycles of length 4 and one cycle of length 6 (). All three cycles are TBC walks. In addition, there are numerous other TBC walks in .
One example is , which has length 8. Note that we have used superscripts and to denote the direction of the edges in the TBC walk. In the rest of the paper, we may only refer to a walk by its sequence of directed edges. For example, can be represented as . Other examples of TBC walks in are , and , which both have length . Note that consists of two cycles of length 4, while each of and consists of a 4-cycle and a 6-cycle.
In order to find short TBC walks of the base graph, one can grow a tree from every variable node in the graph, as the root, one layer at a time and track the walks on the tree which pass through the root node somewhere down in the tree. (Each layer of the tree is constructed by first including all the check node neighbors of a variable node except its parent node, and then by including all the variable node neighbors of those check nodes except their parent variable nodes.) By the construction, such a walk is a backtrackless closed walk. One needs to only select those walks that are also tailless. To find TBC walks of length at most , one needs to grow the tree up to layers.222For Tanner graphs with large variable/check degrees, to simplify the search for short TBC walks, one can limit the search to cycles and subgraphs that include two cycles.
Iii-C ACE Constrained Cyclic Edge Swapping Algorithm
Consider a target ACE spectrum for the cyclic -lifting of the base graph . Also, consider a TBC walk of length and ACE in . The TBC walk is referred to as (potentially) problematic if there exists a divisor of such that , and . Problematic TBC walks are those whose inverse image in the lifted graph can be cycles that violate the target ACE spectrum. One therefore should take proper care in assigning permutation shifts to the edges of problematic TBC walks. In particular, if the edge permutation shifts are assigned such that , where is the positive integer described above, then the -th component of the target ACE spectrum will be violated by the inverse image of . The problematic TBC walks can be ordered based on the comopnent of the target ACE spectrum that they would violate; the smaller the index of the component, the more problematic the walk. In the following, the ordered set of problematic TBC walks in G is denoted by . From this set, those that include edge are denoted by .333A simpler and still effective approach for ordering the TBC walks in is to order them first based on their length, and then for the walks of the same length, based on their ACE values.
Forming an ordered set of problematic TBC walks , the next step is to go through this set, one TBC walk at a time and assign proper permutation shifts to a selected set of edges from the chosen TBC walk such that the inverse image of the walk does not violate the target ACE spectrum of the lifted graph. In general, for a problematic TBC walk , the policy is to select the minimum number of edges of that can make the inverse image of satisfy the ACE spectrum while maintaining the satisfaction of the ACE spectrum by the previously processed problematic TBC walks.
Consider the base graph of Fig. 1. Suppose that the goal is to satisfy the two ACE constraints for the lifted graph. The problematic TBC walks in this case are the 3 cycles , , and . To satisfy the ACE constraint for the inverse images of these cycles, we need to make sure that the order of all three cycles is larger than one, i.e., the permutation shifts for all three cycles are nonzero. Suppose that the cycles are processed in the same order as listed above. To satisfy the ACE constraint for the inverse image of , we must have . This can be satisfied by assigning a nonzero permutation shift to only one edge of . For example, for , one choice is , which results in mod . Moving on to , the inequality can also be satisfied by assigning a nonzero permutation shift to only one edge of . To make sure that this assignment will not affect , we only search among the edges of that do not belong to . A proper choice can thus be, e.g., , which results in . Finally, it is easy to see that with the choices for the permutation shifts of and , we have , and thus no more edges need to be processed.
Given a set of problematic TBC walks of the base graph , a target ACE spectrum for the lifted graph , and the degree of the cyclic lifting, Algorithm 1 describes the proposed ACE constrained cyclic edge swapping. At the output of Algorithm 1, we have the sets SwappedSet and ShiftSet, which contain the edges of the base graph that should be swapped, and their corresponding permutation shifts, respectively.
In Algorithm 1, the search for edges to be swapped and the permutation shift assignment to these edges are performed in two phases. The first phase is in Steps 4 - 6, where any edge from previously processed TBC walks is removed from the set of candidates for swapping. If the first phase fails, in that no edge exists as a candidate for swapping (), then the algorithm switches to the second phase in Steps 8 - 9, where only previously swapped edges are removed from the candidate set for swapping.
To improve the performance of Algorithm 1, in Steps 6 and 9, it is advisable to select edges that participate in a larger number of problematic TBC walks.
By increasing , the size of the alphabet space for edge permutation shifts increases. This in turn, allows for more problematic TBC walks to be accommodated. In general, one can expect to achieve a better ACE spectrum as is increased.
In this work, we use Algorithm 1 in an iterative process to optimize the ACE spectrum of the cyclic lifting. The goal is to achieve an ACE spectrum of a certain depth with extremal properties. For this, we adopt a greedy approach, where we attempt to maximize the ACE spectrum components, one at a time, starting from and moving towards . Ideally, we would like to achieve , for , but this is rarely possible for values of larger than 3.444One should note that the greedy approach used in this work is not necessarily the best approach in optimizing the ACE spectrum. In particular, there may be other achieveable ACE spectrums for a given degree of lifting that result in a better performance for the lifted code. Nevertheless, our simulation results demonstrate that the greedy approach of this paper is also quite effective in designing LDPC codes with good performance.
Iv Numerical Results
In this example, we consider the construction of a binary irregular LDPC code with rate , and with the degree distribution similar to the one used in the examples of .555The degree distribution used in , which is optimized by density evolution, is and .. In , an LDPC code of length was designed using the generalized ACE constrained method. This code had an ACE spectrum of .
For a fair comparison, we would like to design an LDPC code with a similar degree distribution and with a length of about by using the proposed method. Since our design is based on the cyclic lifting of a protograph, we first need to design a rather small protograph with a degree distribution close to that of .666It is important to note that there is a tradeoff in the selection of the size of the protograph. On one hand, a small size is beneficial in having a more compact description of the code and thus a simpler implementation of the encoder and the decoder. On the other hand, it may be hard to implement a given optimized degree distribution with high accuracy using a small protograph. A smaller protograph also limits the number of variables that are available for the optimization of the ACE spectrum of the lifted code. In this example, we design a protograph with parameters and by the PEG algorithm. The degree distribution of this protograph is , and . This base graph has ACE spectrum .
We then apply the proposed method to design ACE constrained cyclic liftings of various degrees for this protograph. The results are shown in Table I for lifting degrees , and . It can be seen from Table I that the ACE spectrum of the lifted graph improves by increasing the lifting degree .
|lifting degree (N)||ACE Spectrum|
The closest block length to is attained by the lifting degree . The lifted code in this case has length , and we are able to achieve the ACE spectrum . This improves the ACE spectrum of obtained in  for .
To have a more fair comparison with the constructions of  and , we also construct two codes with length whose degree distributions are the same as our base graph by using the generalized ACE constrained algorithm of  and the generalized ACE constrained PEG algorithm of .777More precisely, the codes constructed by methods of  and  have the same variable degree distribution as the base graph, but their check degree distributions are slightly different and depend on the details of their design methods. The constructed codes by the methods of  and  have ACE spectrums and , respectively, both inferior to the ACE spectrum of the code designed by the ACE constrained cyclic lifting method. Moreover, one should keep in mind that the proposed construction is quasi-cyclic and thus more desirable for implementation.
The frame error rate (FER) and the bit error rate (BER) curves of the three codes over the AWGN channel are presented in Fig. 2. The curves are for belief propagation decoding with maximum number of iterations . As can be seen, the code constructed based on the proposed method outperforms the other codes, particularly in the error floor region.
As the second example, we consider the rate-compatible protograph designed in  for code rates , , , and . This protograph is shown in Fig. 3. Different rates are obtained by handling the non-trasmitted bits A, B, and C, differently. If all the three bits are constrained to take a zero value, then we obtain rate . This is equivalent to removing the three nodes and their edges from the protograph. Rate is obtained if node A is an ordinary non-transmitted node with no bit assignment, but nodes B and C are set to zero. Rate is obtained by setting only node C to zero. For rate , all three nodes are free of any bit assignment.
To remove the parallel edges, the protograph of Fig. 3 was lifted in  by a lifting of degree 4 using the PEG algorithm. This graph, referred to hereafter as the base graph, was then lifted by a cyclic lifting of degree 181 using the algorithm of  to obtain an LDPC code of length . The ACE spectrums of the base graph and the lifted graph of  are and , respectively.
In Table II, the ACE spectrum of a number of cyclic liftings of the base graph constructed by the proposed method is given. As expected, the spectrum improves as the lifting degree increases.
|lifting degree (N)||ACE Spectrum|
To compare with the code constructed in , we also design a 181-lifting of the base code using the proposed method. The designed graph has the ACE spectrum , which significantly improves over the ACE spectrum of the code designed in . We also compare the error rate performance of the designed code with that of the code of  over the AWGN channel in Fig. 4. Belief propagation with a maximum number of iterations is used for decoding. Comparing the error rate performances of the two codes, one can see that the designed code outperforms the code of  across the whole range of rates, with significantly better performance at the higher rates of and , and particularly in the error floor region.
In this paper, we propose a method for the construction of finite-length irregular LDPC codes with good waterfall and error floor performance. The constructed codes are quasi-cyclic protograph codes and thus implementation-friendly. The performance of the codes are enhanced, particularly in the error floor region, by the careful selection of edge permutation shifts for the vulnerable subgraphs of the protograph. These subgraphs are the ones whose inverse image can be short cycles with low ACE values. We demonstrate with a number of examples that the designed codes are superior to previously constructed codes with similar parameters in both the ACE spectrum and the error correction performance.
-  R. Asvadi, A. H. Banihashemi and M. Ahmadian-Attari, “Lowering the Error Floor of LDPC Codes Using Cyclic Liftings,” Proc. Int. Symp. Inform. Theory (ISIT 2010), Austin, Texas, June 2010, pp. 724-728.
-  D. Divsalar, S. Dolinar, C. R. Jones, and K. Andrews, “Capacity-approching protograph codes,” IEEE JSAC, vol. 27, no. 6, pp. 876-888, Aug. 2009.
-  J. L. Gross and T. W. Tucker, Topological graph theory, Wiley, NY, 1987.
-  Y. Han and W. E. Ryan, “Low-floor decoders for LDPC codes,” IEEE Trans. Comm., vol. 57, no. 6, pp. 1663 - 1673, June 2009.
-  Y. Hu, E. Eleftheriou, and D. M. Arnold, “Regular and irregular progressive edge growth Tanner graphs,” IEEE Trans. Inform. Theory, vol. 51, no. 1, pp. 386-398, Jan. 2005.
-  M. Ivkovic , S. K. Chilappagari, and B. Vasic, “Eliminating trapping sets in low-density parity-check codes by using Tanner graph covers,” IEEE Trans. Inform. Theory, vol. 54, no. 8, pp. 3763-3768, Aug. 2008.
-  X. Jiao, J. Mu, J. Song and L. Zhou, “Eliminating small stopping sets in irregular low-density parity-check codes,” IEEE Comm. Lett., vol. 13, no. 6, pp. 435 - 437, June 2009.
-  A. McGregor and O. Milenkovic, “On the hardness of approximating stopping and trapping sets in LDPC codes,” in Proc. IEEE Inform. Theory Workshop, Lake Tahoe, CA, Sep. 2007, pp. 248-253.
-  A. McGregor and O. Milenkovic, “On the hardness of approximating stopping and trapping sets in LDPC codes,” arxiv.org/pdf/0704.2258.
-  T. Richardson, “Error floors of LDPC codes,” Proc. 41st Annual Allerton Conf. Commun., Control and Computing, Monticello, IL, pp. 1426 - 1435, Oct. 2003.
-  R. M. Tanner, D Sridhara, and T. Fuja, “A class of group-structured LDPC codes,” Proc. ISCTA 2001, Ambleside, England, 2001.
-  T. Tian, C. Jones, J. D. Villasenor, and R. D. Wesel, “Selective avoidance of cycles in irregular LDPC code construction,” IEEE Trans. Comm., vol. 52, no. 8, pp. 1242-1248, Aug. 2004.
-  D. Vukobratović and V. S̆enk, “Generalized ACE constrained progressive edge-growth LDPC code design,” IEEE Commun. Lett., vol. 12, no. 1, pp. 32-34, Jan. 2008.
-  D. Vukobratović and V. S̆enk, “Evaluation and design of irregular LDPC codes using ACE spectrum,” IEEE Trans. Comm., vol. 57, no. 8, pp. 2272 - 2278, Aug. 2009.
-  C.-C. Wang, “Code annealing and suppressing effect of the cyclically lifted LDPC code ensembles,” IEEE Inform. Theory workshop 2006, Chengdu, China, Oct. 2006, pp. 86 - 90.