Generalized Stopping Sets and Stopping Redundancy Khaled A.S. Abdel-Ghaffar
Jos H. Weber
Department of ECE University of California Davis, CA 95616, USA Email:
[email protected]
IRCTR/CWPC Delft University of Technology Mekelweg 4, 2628 CD Delft, The Netherlands Email:
[email protected]
Abstract— Iterative decoding for linear block codes over erasure channels may be much simpler than optimal decoding but its performance is usually not as good. Here, we present a general iterative decoding technique that gives a more refined tradeoff between complexity and performance. In each iteration, a system of equations is solved. In case the maximum number of equations to be solved is just one, the general iterative decoder reduces to the well-known iterative decoder. On the other hand, if the maximum number is set to the redundancy of the codes, the general iterative decoder gives the same performance as the optimal decoder. Varying the maximum number of equations to be solved in each iteration between these two extremes allows for a better match, in terms of performance and complexity, to the system specifications. Stopping sets and stopping redundancy are important concepts in the analysis of the performance and complexity of iterative decoders on the erasure channel. In consequence of the new generalized decoding procedure, the notions of stopping sets and stopping redundancy are generalized as well. Basic properties and examples of both generalized stopping sets and generalized stopping redundancy are presented in this paper.
I. I NTRODUCTION Iterative decoding techniques, especially when applied to low-density parity-check (LDPC) codes, have attracted a great attention recently. In these techniques, decoding is based on a Tanner graph determined by a parity-check matrix of the code, which does not necessarily, and typically does not, have full rank. It is well known that the performance of iterative decoding algorithms in case of binary erasure channels depends on the sizes of the stopping sets associated with the Tanner graph representing the code [4]. Several interesting results on stopping sets associated with Tanner graphs of given girths are given in [10], [12]. General results pertaining to ensembles of LDPC codes are provided in, e.g., [3], [4], [8], [13]. There are more specific results for classes of codes represented by particular Tanner graphs, see, e.g., [1], [5], [9], [17], [18]. The relationship between the stopping sets on one hand and the underlying code representation, rather than the code itself, on the other hand, is studied in, e.g., [6], [7], [14], [15]. Since linear algebra is often used in studying stopping sets, parity-check matrices may be more convenient than the equivalent Tanner graphs for code representation. Let C be a binary linear [n, k, d] block code, where n, k, and d denote the code’s length, dimension, and Hamming distance, respectively.
Such a code is a k-dimensional subspace of the space of binary vectors of length n, in which any two different elements differ in at least d positions. The set of codewords of C can be defined as the null space of the row space of an r × n binary paritycheck matrix H = (hi,j ) of rank n − k. Assuming all rows in H are different, n − k ≤ r ≤ 2n−k . (1) The row space of H is the [n, n − k, d⊥ ] dual code C ⊥ of C. The support of a binary word x = (x1 , x2 , . . . , xn ) is the set {j : xj 6= 0} and the weight of x is the size of its support. For the zero word 0 = (0, 0, . . . , 0), the support is the empty set, ∅, and the weight is zero. Since a binary word x is a codeword of C if and only if xHT = 0, the parity-check matrix H gives rise to r parity-check equations, denoted by Pn (2) PCEi (x) : j=1 hi,j xj = 0 for i = 1, 2, . . . , r. An equation PCEi (x) is said to check x in position j if and only if hi,j = 1. On the binary erasure channel, each bit of the transmitted codeword is erased with probability ², while it is received correctly with probability 1 − ², where 0 < ² < 1. For a received word r = (r1 , r2 , . . . , rn ), the erasure set is Er = {j : rj 6= 0, 1}.
(3)
A received word can be decoded unambiguously if and only if it matches exactly one codeword of C on all its non-erased positions. Since C is a linear code, this is equivalent to the condition that the erasure set Er does not contain the support of a non-zero codeword. If Er does contain the support of a nonzero codeword, then it is said to be incorrigible. A decoder for C which achieves unambiguous decoding whenever the erased set is not incorrigible is said to be optimal for the binary erasure channel. An exhaustive decoder searching the complete set of codewords is optimal. However, such a decoder usually has a prohibitively high complexity. Iterative decoding procedures may form a good alternative, achieving close to optimal performance at much lower complexity [11], in particular for LDPC codes. Here, we consider a well-known algorithm, often expressed in terms of a Tanner graph, which exploits the parity-check equations in order to determine the transmitted codeword. Initially, we set c = r and
Ec = Er . If PCEi (c) checks c in exactly one erased position j ∗ , then we use (2) to set X cj ∗ = hi,j cj (4) j6∈Ec ∗
and we remove j from the erasure set Ec . Applying this procedure iteratively, the algorithm terminates if there is no parity-check equation left which checks exactly one erased symbol. Erasure sets for which this is the case have been named stopping sets [4]. In case the final erasure set Ec is empty, the iterative algorithm retrieves all erased symbols, and thus the final word c is the transmitted codeword. In case the final erasure set Ec is a non-empty stopping set, the iterative decoding process is unsuccessful in the sense of not being able to retrieve the complete transmitted codeword. The final erasure set Ec is the union of the stopping sets contained in Er , and thus Ec is empty if and only if Er contains no non-empty stopping set. Therefore, the notion of a dead-end set for an erasure set which contains at least one non-empty stopping set has been introduced in [2]. In summary, on the binary erasure channel, an optimal decoder is unsuccessful if and only if Er is an incorrigible set, and an iterative decoder is unsuccessful if and only if Er is a dead-end set. The stopping distance s is defined [14] as the smallest size of a non-empty stopping set (and thus the smallest size of a dead-end set). In Section II, we introduce a generalization of the iterative decoding procedure described above, which allows for a more refined compromise between performance and complexity of optimal decoding and iterative decoding. The notions of stopping and dead-end sets are generalized accordingly. Important properties of such sets are derived in Section III. Generalized stopping and dead-end set enumerators and their properties are presented in Section IV. Stopping redundancy, introduced in [14] as the minimum number of rows in a parity-check matrix such that the size of the smallest non-empty stopping set equals the code’s Hamming distance, is generalized in Section V. Finally, conclusions are drawn in Section VI. II. G ENERALIZED I TERATIVE D ECODING In this section, we present a new iterative decoding procedure for linear binary block codes over erasure channels, which can be considered as a generalization of the method described in Section I. Let p ∈ {1, 2 . . . , n − k}. Initially, we set c = r and Ec = Er . Suppose there is a non-empty set T ⊆ {1, 2, . . . , r} of size |T | ≤ p and a set R ⊆ Ec of the same size as T such that PCEi (c), i ∈ T , does not check c in any erased position not in R, and the system of equations PCEi (c), i ∈ T , has a unique solution for cj , j ∈ R. Then the erased bits in positions given by R can be determined and these positions can then be deleted from the erasure set Ec . Applying this procedure iteratively, the algorithm solves a system of at most p equations at each step. The algorithm terminates if there are no sets T and R satisfying the stated conditions. Erasure sets for which this is the case are called stopping sets of order p. In case the final erasure set Ec is empty, the iterative algorithm has retrieved all erased symbols,
and the final word c is the transmitted codeword. In case the final erasure set Ec is a non-empty stopping set of order p, the iterative decoding process is unsuccessful. The final erasure set Ec is the union of the stopping sets of order p contained in Er (see Proposition 1 in Section III), and thus Ec is empty if and only if Er contains no non-empty stopping set of order p. Therefore, we introduce the notion of a dead-end set of order p for an erasure set which contains at least one nonempty stopping set of order p. In summary, on the binary erasure channel, this iterative decoding, which we call iterative decoding of order p, is unsuccessful if and only if Er is a deadend set of order p. The iterative decoder of order p attempts solving a system of no more than p equations, involving an equal number of unknowns, at each iteration. Solving this system is equivalent to inverting a square invertible matrix of size at most p × p. In case p = 1, the algorithm reduces to the iterative decoding algorithm described earlier. In fact, stopping sets and deadend sets of order p, for p = 1, are precisely stopping sets and dead-end sets as described previously in Section I. Although a stopping/deadend set of order p is necessarily a stopping/deadend set of order p − 1, for 2 ≤ p ≤ n − k, the converse is not necessarily true. Therefore, it is conceivable that by increasing p, the performance of the iterative decoding algorithm improves, although the complexity increases. Indeed, as will be shown in Proposition 4 in Section III, any dead-end set of order p = n − k is an incorrigible set, and thus the performance (in the sense of codeword retrieval) of the iterative decoding of order n−k is the same as the performance of an optimal decoder. However, a stopping set of order n − k is not necessarily the support of a codeword. Example 1: Let C be the [8, 4, 4] Reed-Muller code with generator matrix 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 . G= (5) 0 0 1 0 1 1 0 1 0 0 0 1 1 1 1 0 Suppose that iterative parity-check matrix 0 1 H= 1 1
decoding is performed based on the 1
1
1
1
0
0
0
1
1
0
1
0
1
0
1
0
0
1
1
1
0
0
0
0
0
0 . 0 1
(6)
Suppose that in the received vector r, we have r4 = r6 = 0, r7 = r8 = 1 and all other remaining bits are erased, i.e., Er = {1, 2, 3, 5}. This erasure set does not contain the support of a non-zero codeword and, therefore, an optimal decoder should yield the transmitted codeword (01001011). Let us see whether or not iterative decoding of order three succeeds in retrieving the transmitted codeword. Iterative decoding starts
with c4 = r4 = 0, c6 = r6 = 0, c7 = r7 = 1, c8 = r8 = 1, and Ec = Er = {1, 2, 3, 5}. The second, third, and fourth rows in H yield the system of the three equations c1 +c3 +c4 +c6 = 0, c1 +c2 +c4 +c7 = 0, and c1 +c2 +c3 +c8 = 0, i.e., c1 +c3 = 0, c1 + c2 = 1, and c1 + c2 + c3 = 1. This system can be solved to yield c1 = c3 = 0 and c2 = 1 and Ec is updated to Ec = {5}. Next, the first row yields c2 + c3 + c4 + c5 = 0, i.e., c5 = 1. The transmitted codeword is then c = (01001011). The success of iterative decoding of order three in retrieving the transmitted codeword is due to the fact that the erasure set Er = {1, 2, 3, 5} is not a dead-end set of order three for H. Notice that iterative decoding of order one and two would fail to retrieve the transmitted codeword since Er = {1, 2, 3, 5} is a dead-end set of order one and two as it contains the set {1, 2, 3}, which is a stopping set of order one and two. On the other hand, if the erased set is {1, 2, 3, 4}, then an optimal decoder can retrieve the transmitted codeword since the set {1, 2, 3, 4} is not an incorrigible set as it does not contain the support of a codeword, while an iterative decoder of order p ≤ 3 fails since it is a stopping set of order p ≤ 3. Finally, notice that an iterative decoder of order p ≥ 4 succeeds in retrieving the transmitted codeword in this case. III. P ROPERTIES In this section, we present some basic properties of generalized stopping and dead-end sets. First, we introduce few new notations and review some of the concepts introduced in the earlier sections in a more formal way. Let C be a linear binary [n, k, d] block code with an r × n binary parity-check matrix H = (hi,j ) of rank n − k. Let S be a subset of {1, 2, . . . , n} and T be a subset of {1, 2, . . . , r}. For any H = (hi,j ) of size r × n, let HTS = (hi,j ) where i ∈ T and j ∈ S. Then, HTS is a |T | × |S| submatrix of H. For simplicity, we write HS and HT to denote HTS in case T = {1, 2, . . . , r} and S = {1, 2, . . . , n}, respectively. A set S ∈ {1, 2, . . . , n} is the support of a codeword if and only if all rows in HS have even weight, i.e., if and only if |{j ∈ S : hi,j = 1}| ≡ 0(2)
∀i = 1, 2, . . . , r.
(7)
A set S is an incorrigible set if and only if it contains the support of a non-zero codeword. A set S is a stopping set of order p for the parity-check matrix H if and only if there are no non-empty subsets T ⊆ {1, 2, . . . , r} and R ⊆ S of equal size at most equal to p such that HTR is invertible and, if |R| < |S|, then HTS\R is the all-zeros matrix. A set S ∈ {1, 2, . . . , n} is a dead-end set of order p if and only if it contains a non-empty stopping set of order p. Clearly, for p ≥ 2, a stopping set of order p is a stopping set of order p − 1 and a dead-end set of order p is a dead-end set of order p − 1. We list and prove the following propositions. Proposition 1: For any parity-check matrix H and any p ∈ {1, 2, . . . , n − k}, any union of stopping sets of order p is a stopping set of order p. Proof: It suffices to prove this for any two stopping sets S1 and S2 of order p. If S = S1 ∪S2 is not a stopping set of order p, then there are non-empty sets T ⊆ {1, 2, . . . , r} and R ⊆ S
such that |T | = |R| ≤ p, HTR is invertible and, if |R| < |S|, then HTS\R is the all-zeros matrix. Let R1 = R ∩ S1 and R2 = R ∩ S2 . As R ⊆ S1 ∪ S2 , at least one of the sets R1 and R2 is non-empty. Without loss of generality, assume that R1 is non-empty. Since the matrix HTR is invertible, it follows that the matrix HTR1 has full rank. Therefore, there is a nonempty subset T1 ⊆ T of the same size as R1 for which HTR11 is invertible. Furthermore, if |R1 | < |S1 |, then HTS11 \R1 is the all-zeros matrix. This contradicts the assumption that S1 is a stopping set of order p. Proposition 2: For any parity-check matrix H and any p ∈ {1, 2, . . . , n − k}, the support of a codeword is a stopping set of order p and any incorrigible set is a dead-end set of order p. Proof: Suppose S is the support of a codeword which is not a stopping set of order p. Then, there are non-empty sets T ⊆ {1, 2, . . . , r} and R ⊆ S such that |T | = |R| ≤ p, HTR is invertible and, if |R| < |S|, then HTS\R is the all-zeros matrix. From (7) and the fact that the matrix HTS\R has no ones, it follows that each row in HTR has an even number of ones, contradicting the assumption that this matrix is invertible. This proves the first statement, from which the second statement follows. Proposition 3: For any parity check matrix H, any nonempty stopping set of order p and size at most p is an incorrigible set. Proof: If S is a non-empty stopping set of order p and size at most p, then HS has no |S| × |S| invertible submatrix. Hence, the columns of HS are linearly dependent and S is an incorrigible set. Proposition 4: For any parity-check matrix H, any deadend set of order n − k is an incorrigible set. Proof: If S is not an incorrigible set, then the matrix HS has full rank. In particular, |S| ≤ n − k. The result now follows from Proposition 3. IV. G ENERALIZED S TOPPING AND D EAD -E ND S ET E NUMERATORS Pn The polynomial A(x) = i=0 Ai xi , where Ai is the number of codewords of weight i, is called Pn the iweight enumerator of code C. Similarly, I(x) = i=0 Ii x , where Ii is the number of incorrigible sets of size i, is called the incorrigible set enumerator of C. Clearly, d = = and
min{i ≥ 1 : Ai > 0} min{i ≥ 0 : Ii > 0}
1 Ai = 0
The incorrigible set Ii =
if i = 0, if 1 ≤ i ≤ d − 1.
(8)
(9)
enumerator satisfies 0 Ai ¡n¢ i
if 0 ≤ i ≤ d − 1, if i = d, if n − k + 1 ≤ i ≤ n,
(10)
where the last property follows from the observation that any set S of size |S| > n − k contains the support of a non-zero codeword as the rank of HS is at n − k. Pmost (p) i (p) n The polynomials S (p) (x) = S is i=0 i x , where Si the number of stopping sets of order p and size i, and Pn (p) (p) D(p) (x) = i=0 Di xi , where Di is the number of deadend sets of order p and size i, are called the stopping set enumerator of order p and the dead-end set enumerator of order p, respectively, of parity-check matrix H. Notice that (1)
Si
(2)
= Si
(n−k)
≥ · · · ≥ Si
(11)
and (1)
Di
(2)
= Di
(n−k)
≥ · · · ≥ Di
= Ii (1) Si
= =
(p)
min{i ≥ 1 : Si min{i ≥ 0 :
(p) Di
(2) Si
> 0} > 0}.
(13)
The number s(p) is called the stopping distance of order p for the parity-check matrix H. From the above propositions and observations, we have d ≥ s(p) ≥ min{p + 1, d}
(14)
and s
=
s(1) = s(2) ≤ s(3) ≤ · · · ≤ s(d−1) = s(d) = · · · = s(n−k) = d.
OPT PUD (C)
=
n X
Ii ²i (1 − ²)n−i
i=d
∼ Id ²d = Ad ²d .
(18)
Similarly, the probability of unsuccessful decoding for an iterative (IT) decoder of order p based on parity-check matrix H is
(12)
for i = 0, 1, . . . , n. The observation that = and (1) (2) Di = Di follows from the fact that any invertible 2 × 2 matrix has a row with a single one. Let s(p) denote the smallest size of a non-empty stopping set (and thus the smallest size of a dead-end set) of order p, i.e., s(p)
For code C on the binary erasure channel, the probability of unsuccessful decoding (UD), in the sense of not being able to retrieve the complete transmitted codeword, is for an optimal (OPT) decoder
IT,p PUD (H)
=
n X
(p)
Di ²i (1 − ²)n−i
i=s(p) (p)
∼ Ds(p) ²s
(p)
(p)
= Ss(p) ²s
(p)
.
(19)
Hence, these two probabilities are completely determined by the incorrigible set enumerator and the dead-end set enumerator of order p. Notice from (18) and (19) that iterative decoding of order p is optimal if and only if D(p) (x) = I(x). IT,p OPT (H) are At small erasure probabilities, PUD (C) and PUD (p) s(p) d dominated by the terms Ad ² and Ss(p) ² , respectively. Actually, for sufficiently small values of ², the parameters d and s(p) are the most important parameters characterizing the performance of optimal decoding and iterative decoding of order p, respectively. Example 2: For the parity check matrix of Example 1, we have A(x) = 1 + 14x4 + x8 ,
(15)
For any parity-check matrix H of a binary linear [n, k, d] block code C, it holds that the stopping set enumerator of order p satisfies 1 if i = 0, (p) Si = (16) 0 if 1 ≤ i ≤ s(p) − 1, ¡ ¢ n if n − d⊥ + max{2, p} ≤ i ≤ n. i where the last observation follows from the fact if S is not a stopping set of order p and size i, then HS has a row of length i and positive weight not greater than max{1, p − 1} (since if p ≥ 2, any p × p invertible matrix has a row of weight at most p − 1), while every nonzero row of length n in H has weight at least d⊥ . Further, again for any parity-check matrix H, it follows from the definitions of the various enumerators, (10), and (16), that the dead-end set enumerator of order p satisfies if 0 ≤ i ≤ s(p) − 1, 0 (p) (p) Di = (17) Si if i = s(p) , ¡ ¢ n if n − k + 1 ≤ i ≤ n. i
I(x) = 14x4 + 56x5 + 28x6 + 8x7 + x8 , S (1) (x) = S (2) (x) = 1+4x3 +27x4 +40x5 +28x6 +8x7 +x8 , D(1) (x) = D(2) (x) = 4x3 + 27x4 + 56x5 + 28x6 + 8x7 + x8 , S (3) (x) = 1 + 15x4 + 40x5 + 28x6 + 8x7 + x8 , D(3) (x) = 15x4 + 56x5 + 28x6 + 8x7 + x8 , S (4) (x) = 1 + 14x4 + 40x5 + 28x6 + 8x7 + x8 , D(4) (x) = 14x4 + 56x5 + 28x6 + 8x7 + x8 . IT,p IT,p Hence, PUD (H) is O(²3 ) if p = 1, 2, while PUD (H) OPT is O(²4 ) if p = 3, 4, just like PUD (C). This example clearly demonstrates the possible performance improvement of iterative decoding of order p > 1 over traditional iterative decoding (of order p = 1).
V. G ENERALIZED S TOPPING R EDUNDANCY
ACKNOWLEDGMENT
In [14], the stopping redundancy ρ of a code C has been defined as the minimum number of rows in a parity-check matrix for C such that the stopping distance for this parity-check matrix equals the code’s Hamming distance. The stopping redundancy cannot be less than the code’s redundancy, i.e., ρ ≥ n − k. Bounds on the stopping redundancy are provided in [14] and [6]. Here, we generalize the stopping redundancy concept according to the notion of generalized stopping sets as introduced in Section II. Hence, the stopping redundancy of order p, denoted by ρ(p) , of a code C is defined as the minimum number of rows in a parity-check matrix for C such that the stopping distance of order p for this parity-check matrix equals the code’s Hamming distance. From (14) and (15), it follows for any [n, k, d] block code C that
The first author was supported by the NSF through grants CCR-0117891 and ECS-0121469. The second author was supported by the Dutch Ministry of Economic Affairs through the Airlink research project DTC.5961.
ρ = ρ(1) = ρ(2) ≥ ρ(3) ≥ · · · ≥ ρ(d−1) = ρ(d) = · · · = ρ(n−k) = n − k.
(20)
Example 3: For the code of Example 1, the stopping redundancy (of order 1) is equal to 5 [5]. Hence, from (20), ρ = ρ(1) = ρ(2) = 5 and ρ(3) = ρ(4) = n − k = 4. VI. C ONCLUSIONS In this paper, we have presented a new generalized iterative decoding procedure for linear binary block codes over erasure channels, which allows for a more refined compromise between performance and complexity of optimal decoding and iterative decoding. The stopping set and stopping redundancy concepts have been generalized accordingly, and basic properties have been derived. The present work opens many avenues for future research. Some ideas are listed below. 1) The generalized iterative decoding concept can be implemented in several ways. For example, one could start by applying the traditional method (i.e., setting p = 1), and then increase the value of p in case it is stuck. It is interesting to investigate and compare the efficiency of the various implementations. 2) Several interesting results on stopping sets and stopping redundancy have been presented in the literature, e.g., in [14] and [6]. One could try to extend these results according to the generalizations. 3) Recently, it has been observed [16] that an iterative decoder which is unsuccessful in the sense of not being able to retrieve the complete codeword may still be successful in the sense of retrieving the complete information word. In other words, a non-empty stopping set does not necessarily contain positions corresponding to information bits. The observations and analysis from [16] could be extended to the generalized case.
R EFERENCES [1] K.A.S. Abdel-Ghaffar and J.H. Weber, “Stopping set enumerators of fullrank parity-check matrices of Hamming codes,” Proceedings of the IEEE International Symposium on Information Theory, Seattle, WA, USA, pp. 1544-1548, July 9-14, 2006. [2] K.A.S. Abdel-Ghaffar and J.H. Weber, “On parity-check matrices with optimal stopping and/or dead-end set enumerators,” Proceedings of Turbo Coding 2006, Munich, Germany, April 3-7, 2006. [3] D. Burshtein and G. Miller, “Asymptotic enumeration methods for analyzing LDPC codes,” IEEE Trans. Inform. Theory, vol. 50, no. 6, pp. 1115–1131, June 2004. [4] C. Di, D. Proietti, I.E. Telatar, T.J. Richardson, and R.L. Urbanke, “Finite-length analysis of low-density parity-check codes on the binary erasure channel,” IEEE Trans. Inform. Theory, vol. 48, no. 6, pp. 15701579, June 2002. [5] T. Etzion, “On the stopping redundancy of Reed-Muller codes,” IEEE Trans. Inform. Theory, vol. 52, no. 11, pp. 4867-4879, November 2006. [6] J. Han and P. H. Siegel. (2005, November). Improved upper bounds on stopping redundancy. arXiv:cs.IT/0511056. [Online]. Available: http://www.arxiv.org/list/cs.IT/0511 [7] H. D. L. Hollmann and L. M. G. M. Tolhuizen. (2005, July). On parity check collections for iterative erasure decoding that correct all correctable erasure patterns of a given size. arXiv:cs.IT/0507068. [Online]. Available: http://www.arxiv.org/list/cs.IT/0507 [8] R. Ikegaya, K. Kasai, T. Shibuya, and K. Sakaniwa, “Asymptotic weight and stopping set distributions for detailedly represented irregular LDPC code ensembles,” Proceedings of the IEEE International Symposium on Information Theory, Chicago, USA, p. 208, June 27 - July 2, 2004. [9] N. Kashyap and A. Vardy, “Stopping sets in codes from designs,” Proceedings of the IEEE International Symposium on Information Theory, Yokohama, Japan, p. 122, June 29 - July 4, 2003. [10] C. Kelley, D. Sridhara, J. Xu, and J. Rosenthal, “Pseudocodeword weights and stopping sets,” Proceedings of the IEEE International Symposium on Information Theory, Chicago, USA, p. 67, June 27 July 2, 2004. [11] M.G. Luby, M. Mitzenbacher, M.A. Shokrollahi, and D.A. Spielman, “Efficient erasure correcting codes,” IEEE Trans. Inform. Theory, vol. 47, no. 2, pp. 569–584, February 2001. [12] A. Orlitsky, R. Urbanke, K. Viswanathan, and J. Zhang, “Stopping sets and the girth of Tanner graphs,” Proceedings of the IEEE International Symposium on Information Theory, Lausanne, Switzerland, p. 2, June 30 - July 5, 2002. [13] A. Orlitsky, K. Viswanathan, and J. Zhang, “Stopping set distribution of LDPC code ensembles,” IEEE Trans. Inform. Theory, vol. 51, no. 3, pp. 929–953, March 2005. [14] M. Schwartz and A. Vardy, “On the stopping distance and the stopping redundancy of codes,” IEEE Trans. Inform. Theory, vol. 52, no. 3, pp. 922–932, March 2006. [15] J.H. Weber and K. A. S. Abdel-Ghaffar, “Stopping set analysis for Hamming codes,” Proceedings of the Information Theory Workshop on Coding and Complexity, Rotorua, New Zealand, pp. 244–247, August 28–September 1, 2005. [16] J.H. Weber and K.A.S. Abdel-Ghaffar,“On decoding failure probabilities for linear block codes on the binary erasure channel,” Proceedings of the IEEE Information Theory Workshop, Chengdu, China, pp. 24–28, October 22-26, 2006. [17] S.-T. Xia and F.-W. Fu, “On the stopping distance of finite geometry LDPC codes,” IEEE Commun. Letters, vol. 10, no. 5, pp. 381–383, May 2006. [18] S.-T. Xia and F.-W. Fu, “Stopping set distributions of some linear codes,” Proceedings of the IEEE Information Theory Workshop, Chengdu, China, pp. 47–51, October 22-26, 2006.