Recoverability study of SPC product codes under erasure decoding

Recoverability study of SPC product codes under erasure decoding

Information Sciences 173 (2005) 169–179 www.elsevier.com/locate/ins Recoverability study of SPC product codes under erasure decoding R. Amutha a a,*...

223KB Sizes 0 Downloads 43 Views

Information Sciences 173 (2005) 169–179 www.elsevier.com/locate/ins

Recoverability study of SPC product codes under erasure decoding R. Amutha a

a,*

, K. Verraraghavan a, S.K. Srivatsa

b

I.T Department, Sri Venkateswara College of Engineering, Sriperumbudur, 602 105, India b School of ECE, M.I.T Campus, Chrompet, Chennai, India Received 15 April 2003; received in revised form 19 July 2004; accepted 20 July 2004

Abstract Product codes are powerful codes that can be used to correct errors or recover erasures. The simplest form of a product code is that where every row and every column is terminated by a single parity bit referred to as single parity check (SPC) product code. This code has a minimum distance of four and is thus guaranteed to recover all single, double, and triple erasure patterns. Judging the code performance based on its minimum distance is very pessimistic because the code is actually capable of recovering many higher erasure patterns. Kousa [IEEE Trans. Commun. 50 (Jan) (2002) 7] develops a novel approach for deriving an upper bound on the post-decoding erasure rate for the SPC product code with iterative decoding. We derive a formula for finding the number of unrecoverable basic pattern and the number of recoverable pattern generated from the unrecoverable basic pattern. The results are compared with that of Kousa [IEEE Trans. Commun. 50 (Jan) (2002) 7].  2004 Elsevier Inc. All rights reserved. Keywords: Erasure decoding; Product code; Single parity check (SPC) codes; Recoverable basic pattern; Unrecoverable basic pattern

*

Corresponding author. E-mail addresses: [email protected] (R. Amutha), [email protected] (K. Verraraghavan), [email protected] (S.K. Srivatsa). 0020-0255/$ - see front matter  2004 Elsevier Inc. All rights reserved. doi:10.1016/j.ins.2004.07.011

170

R. Amutha et al. / Information Sciences 173 (2005) 169–179

1. Introduction The single parity check (SPC) code and Reed Solomon code [1] are the most popular error detection codes because it is easy to implement. In this code, the encoder appends one bit to a sequence of n  1 information bits such that the resultant n-bit codeword has an even number of ones (i.e., mod-2 addition is zero). Two SPC codes can be used jointly to construct a product code. An SPC product code has a minimum distance of 4 and can be used for error correction and/or error detection. In spite of their relatively poor minimum distance, SPC product codes have been proven to exhibit an exceedingly good performance in terms of bit error probability. The work in [4,5] examined the weight distribution of the codes, while [6,7] studied their bit error rate (BER) performance under various decoding schemes. In some communication systems, the receiver is faced with erasures Saadawi et al. [2] rather than, or in addition to, errors. A typical example is the ATM network where an error in the header of the cell causes the cell to be discarded. A cell may also be discarded because of buffer overflow. Simmon et al. [13] SPC codes and SPC product codes for cell loss recovery in ATM networks. Simple cell loss recovery schemes based on SPC codes are found in [8–11]. Kousa and Mugaibel [12] extend the encoding to two dimensions, thus forming a product code. The analysis of the cell loss rate for the two-dimensional (2-D) case is tedious and, as a result, Kousa and Mugaibel [12] resort to deriving an upper bound on the code performance. Kousa [3] derived a tight upper bound of the post-decoding erasure rate of the SPC product code. Kousa [3] derived the upper bound by analyzing the structure of the erasure patterns. Kousa [3] classified the erasure patterns into recoverable and unrecoverable patterns. In this paper, we derive a formula for finding the number of unrecoverable basic patterns and the number of recoverable pattern generated from the unrecoverable basic pattern. The paper is organized as follows: In Section 2 the encoder, decoder and performance measure of the SPC product codes are described. Section 3 describes the structural analysis of erasure patterns Section 4 includes the recoverability study of the various erasure pattern. Results and discussions are presented in Section 5, and the conclusions are summarized in Section 6.

2. SPC product code The general structure of the SPC product code is shown in Fig. 1. It is assumed that the codeword (an M · N matrix) is received with some of the bits erased. The decoder will perform iterative row-wise and column-wise decoding to recover the erased bits. When a single bit is erased in a row or column, it can be recovered by simple parity checking (mod-2 addition). If more than one bit

R. Amutha et al. / Information Sciences 173 (2005) 169–179

171

Information bit Parity bit

Fig. 1. The structure of SPC product code.

is erased in a row/column, that row/column is skipped. Decoding will be performed in many rounds until all erasures are recovered or no further recovery is possible. Clearly, the SPC product code can recover all single, double, and triple erasure patterns. Patterns consisting of more than three erasures may or may not be recoverable. A pattern is unrecoverable if and only if it contains a subpattern such that every occupied row (row with erasures) and every occupied column in that subpattern has at least two erasures. The code is evaluated in terms of the post-decoding erasure rate, P. For i erasures in a matrix of M · N, let Ui denote the number of i-erasure unrecoverable patterns and ei denote the average number of remaining erasures after decoding an unrecoverable pattern. Obviously, U1 = U2 = U3 = 0. Then P¼

MN 1 X MN i ei U i pi ð1  pÞ MN i¼4

ð1Þ

where erasures are assumed to occur randomly at a rate of p. The simplest and most straightforward approach to evaluate (1) is to base the code capability of erasure decoding on its minimum distance that is to assume that any pattern of four or more erasures is unrecoverable. Also, it is usually assumed that when a pattern is unrecoverable it is left intact by the decoder. Under these assumptions, (1) reduces to the following bound:  MN  MN i 1 X MN i ð2Þ P< i p ð1  pÞ MN I¼4 i The bound in (2) is very loose, firstly, because  many  of the i-erasure patterns MN . Second, when an i-eras(i > 3) are recoverable, and therefore U i << i ure pattern is truly unrecoverable, some of its erasures may be recovered, that is, ei 6 i. Kousa and Mugaibel [12] evaluated Ui for i = 4 and 5, and they have obtain a better and closer upper bound for Ui than the one depicted in (2). In [12] it was assumed that all patterns of six or more patterns are unrecoverable. Kousa [3] derived the tight upper bound for the expression in (1). The derivation is carried out on two lines:

172

R. Amutha et al. / Information Sciences 173 (2005) 169–179

(1) To identify and enumerate a subset Ri, of the recoverable erasure patterns for i > 3 leading to an upper limit on Ui. (2) For those patterns of i erasures not in Ri, to calculate the average number of unrecoverable erasures ei. Kousa [3] defines some special patterns of erasures (called basic patterns) from which all patterns can be generated.

3. Structural analysis of erasure patterns The key element of the analysis is the basic pattern. The basic patterns are those patterns that satisfy the following two criteria: (1) The erasures in each column are consecutive (no gaps), starting from the first row. (2) The erasures in each row are consecutive, starting from the first column. Following the above definition, a basic pattern is uniquely characterized by the number of occupied columns and the number of erasures in each of these columns. Fig. 2(a) shows some examples of basic patterns of size six. Every basic pattern generates a set of patterns called generated patterns. The generated patterns are generated from a basic pattern by allowing the occupied columns and their erasures to move everywhere possible in the matrix provided that the number of the occupied columns and the number of erasures in each column are preserved. A demonstration is shown in Fig. 2(b). Let the number of i-erasure basic pattern be fi. The number of generated patterns, Gm, obtained from a basic pattern m, m = 1, 2, . . ., fi, depends on the number of erasures, i, in the basic pattern, the matrix size, and the shape of the basic pattern. For a basic pattern m, the number of generated patterns Gm can be written as Gm ¼ T m;1  T m;2  T m;3

ð3Þ

where Tm,1 is the number of ways the erasures can be distributed over the columns they occupy, Tm,2 is the number of ways of distributing the occupied columns over the matrix columns while preserving the relative order of the occupied columns, Tm,3 is the number of distinct permutations of the occupied columns. If all the occupied columns have the same size, Tm,3 = 1. Let the number of occupied columns be n and the number of erasures in column k be Ck. The first two terms can then be written as  n  Y M T m;1 ¼ ð4Þ Ck k¼1

R. Amutha et al. / Information Sciences 173 (2005) 169–179

X X X X X X

X X X X X X

X X X X X X

173

X X X X X X

(a) X X X X X

X X

X

X X

X X X

X

X X

X X

X

X X

X

X X

(b) arm body

X

X

X

X

X

X

X

leg

X

(c) Fig. 2. (a) Examples of basic patterns of size six; (b) Examples of patterns generated from the fourth basic pattern in (a); (c) The general structure of an unrecoverable basic pattern (UBP).

 T m;2 ¼

N



n

ð5Þ

Tm,3 depends on how many different sizes of occupied columns the basic pattern has. Let the number of differentPsizes be s and let Zi be the number of cols umns of size number j. (Note that j¼1 Z j ¼ n.) Then  s  Y n  xj1 T m;3 ¼ ð6Þ Zj j¼1 where xj = xj1 + Zj and x0 = 0.

4. Recoverability study Kousa [3] classified the basic patterns into recoverable basic patterns (RBPs) and unrecoverable basic patterns (UBPs). A basic pattern is recoverable if and

174

R. Amutha et al. / Information Sciences 173 (2005) 169–179

only if its erasures are confined to the first column and first row of the matrix. For any number of erasures i in an M · N matrix, the number of RBPs gi can be found as 8 i if i 6 minðM; N Þ > > > > > < minðM; N Þ if minðM; N Þ < i 6 maxðM; N Þ ð7Þ gi ¼ > M þ N  i if maxðM; N Þ > i < M þ N > > > > : 0 if i P M þ N If the basic pattern is recoverable, then all the patterns it generates are recoverable. Let the number of patterns generated from all RBPs be Vi. Then Vi ¼

gi X

Gm

ð8Þ

m¼1

When a basic pattern is unrecoverable, the patterns it generates may or may not be recoverable. In order to identify the recoverable patterns generated from unrecoverable basic patterns, we need to find all the UBPs and then to find, for each of the UBP, the recoverable pattern it generates. We derived the formula to find the number of UBP. Let the number of UBPs of size i be hi. Result 1. The number of UBPs hi can be found as hi ¼ X 1 þ X 2 þ X 3 þ X 4 " # m1

X m x

m  x i X 1 ¼ 2 1 þ int 1 þ int þ 1 þ int þ int 2 2 2 9 x¼1

ð9Þ ð10Þ

! m1 1

i m1 X x

m 1  x i X 2 ¼ int 1 þ 2int þ 1 þ int 1 þ int þ 2int 10 2 2 12 2 x¼1

ð11Þ

! m2 1

i m2 X x

m2  x i X 3 ¼ 2int 1 þ 2int þ 1 þ int 1 þ int þ 2int 13 2 2 15 2 x¼1

ð12Þ

X 4 ¼ 2int

i

m3 i 1 þ 2int þ int 16 16 2

ð13Þ

where m = i  4; m1 = i  9; m2 = i  12; m3 = i  15. For each of these patterns, we need to find the recoverable patterns it generates. Following the approach used in [3], let us partition the UBP to a body and two branches called arm and leg as demonstrated in Fig 2(c). Let Fm

R. Amutha et al. / Information Sciences 173 (2005) 169–179

175

be the number of recoverable patterns generated from the mth UBP, m = 1, 2, . . ., hi, As explained in Section 3, there are three different movements for the erasures of a basic pattern to produce all its generated patterns: the first type of movement (distribution over columns) is the only one that decides the recoverability of the generated pattern. The first type of movement involves the distribution of the arm erasures and the nonarm (body and leg) erasures over the columns they occupy. Since there is one erasure per column for the arm, the arm erasures can always be recovered by column-wise decoding regardless of their position in the column. Therefore, the recoverability is only determined by the distribution of the nonarm erasures over the columns. Let a be the number of erasures in the arm. Then the term Tm,1 may be written as the product of the two terms T m;1 ¼ M a  Y m

ð14Þ

The first term calculates all possible distribution of the a arm erasures, each in the column it occupies, whereas the second term calculates all the possible distribution of the nonarm erasures. The subpatterns indicated in Ym are the ones that determine the recoverability of the overall pattern. Let the number of the recoverable subpatterns from the set Ym be Sm. Sm ¼ Y m  X m

ð15Þ

where Xm is the number of the unrecoverable subpatterns in the set Ym. Then the number of recoverable patterns generated from the mth UBP is given by F m ¼ M a  S m  T m;2  T m;3

ð16Þ

where Tm,2 and Tm,3 are as defined in (5) and (6). Result 2. The number of unrecoverable subpatterns from the set Ym is given by   CX    2 2 M M  C1 C1 ð17Þ Xm ¼ C 1 k¼0 k C2  k Xm is calculated using Eq. (17) if the erasures in the body are restricted two columns. If the erasures in the body occupies three columns, then Xm is calculated using Eq. (18) X m ¼ X m1 þ X m2  X m1 ¼

M C1



C1 C2

ð18Þ 

M C3



 þ ðC 2  2Þ

M C1



C1 C2  1



M  C1 1



M



C3 ð19Þ

176

R. Amutha et al. / Information Sciences 173 (2005) 169–179

 X m2 ¼



M C1 



C1



M  C1

1 C2  1    C1 C2 þ C3 C3



C1 þ C2  1 C3



 þ

M C1



M  C1



C2

ð20Þ The term Xm can be obtained algorithmically if the erasures occupy more than three columns. While it was possible to evaluate Sm exactly for some values of i, it was obtained only as an upper bound for other values of i. The number, Wi of definitely recoverable patterns generated from all the hi UBPs of size i is then given by Wi ¼

gi þh i ¼fi X

Fm

ð21Þ

m¼gi þ1

The total number of i-erasures recoverable patterns, Ri, is given by the sum of Vi and Wi. The of unrecoverable error patterns is then upper  number  MN bounded by U i 6  Ri . i A little more can be added to the tightness of the bound on P by considering the number of unrecoverable erasures in an unrecoverable pattern after decoding. The bound in [4] assumes that when a pattern is unrecoverable all its erasures are unrecoverable. In reality, some erasures in an unrecoverable pattern may be recovered. In any decoding iteration, any erasures that are found alone in a column or a row can be recovered. Therefore, all arm erasures can be recovered. Also, many other erasures in the body and the leg can be recovered.

5. Results and discussion The analysis of Section 3 was applied to an SPC product code of size 16 · 16. The results are tabulated in Table 1. It is observed that the number of basic patterns as given in column 5 is extremely small compared to the total number of patterns as given in column 2. The number of UBPs hi is obtained from the formula (9), we derived. The term Sm in Fm is calculated using Eq. (15). The number of patterns generated from all RBPs Vi is calculated using Eq. (8). The number, Wi of definitely recoverable patterns generated from all the hi UBPs of size i is calculated using Eq. (21). The total number of i-erasures recoverable patterns, Ri, is given by the sum of Vi and Wi. Column 8 of Table 1 shows the ratio of the recoverable patterns Ri to the total number of i erasures patterns. The high percentages obtained prove the high capability of the SPC product code in recovering erasures beyond its

Number of erasures (i)

Total no.of  MN patterns i

Number of RBPs (gi)

Number of UBPs (hi)

Total basic patterns (fi)

%

4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

1.7E+08 8.8E+09 3.7E+11 1.3E+13 4.1E+14 1.1E+16 2.8E+17 6.2E+18 1.3E+20 2.4E+21 4.1E+22 6.7E+23 1.0E+25 1.4E+26 1.9E+27

4 5 6 7 8 9 10 11 12 13 14 15 16 15 14

1 2 5 8 14 21 32 45 65 88 121 160 213 278 367

5 7 11 15 22 30 42 56 77 101 135 175 229 293 381

99% 95% 88% 76% 60% 44% 29% 17% 9% 4% 1% 0% 0.12% 0.03% 0.01%

Vi = The number of patterns generated from all RBPs. Wi = The number of recoverable patterns generated from all UBPs. Ri = The total number of i-erasures recoverable patterns.

Vi

MN i



%

Wi

MN i

1% 5% 12% 24% 39% 55% 69% 80% 86% 88% 87% 82% 76% 67% 58%



%

Ri

MN i

100% 100% 100% 100% 99% 99% 98% 97% 95% 92% 88% 83% 76% 76% 58%



R. Amutha et al. / Information Sciences 173 (2005) 169–179

Table 1 Numerical results of a 16 · 16 SPC Product Code

177

178

R. Amutha et al. / Information Sciences 173 (2005) 169–179

minimum distance measure. This capability was only partially explored in [12] for i = 4, 5. The code capability is analyzed for i = 4–18 in this paper. Formulae for the number of definitely recoverable erasure patterns are given in (15). From these formulae the number of unrecoverable erasure patterns (Ui) has been found as an upper limit. This upper limit is a better approximation over the results obtained in [12]. The results shown in Table 1 are computed using the formulae and these results are comparable with that of [3]. The formulae obtained for unrecoverable basic patterns (9)–(13) in this paper can be extended to larger matrix sizes, but we have to add a few more terms and hence the complexity will increase.

6. Conclusion A detailed mathematical analysis has been carried out for erasure pattern of the SPC product code of size 16 · 16. We derive a formula for finding the number of unrecoverable basic pattern and the number of recoverable pattern generated from the unrecoverable basic pattern. Our results are in good agreement with Kousa. Simulation results show that the error correcting capability of the SPC product code is beyond the minimum distance.

References [1] Y.W. Chang, T.K. Truong, J.H. Jeng, VLSI Architecture of modified Euclidean algorithm for reed solomon code, Inform. Sci. 155 (October) (2003) 139–150. [2] T. Saadawi, M.A. Ammar, A.K. Elhakeem, Fundamentals of Telecommunication Networks, Wiley, New York, 1994. [3] M.A. Kousa, A Novel approach for evaluating the performance of SPC product codes under erasure decoding, IEEE Trans. Commun. 50 (January) (2002) 7–11. [4] G. Caire, G. Taricco, G. Battail, Weight distribution and performance of the iterated product of single-parity-check codes, in: IEEE GLOBECOM, 1994, pp. 206–211. [5] E.B. Iglieri, V. Volski, Approximately Gaussian weight distribution of the iterated product of single parity-check codes, Electron. Lett. 30 (12) (1994) 923–924. [6] L. Ping, S. Chan, K. Yeung, Efficient soft-in-soft-out sub-optimal decoding rule for single parity check, Electron. Lett. 33 (19) (1997) 1614–1616. [7] X. Huang, N. Phamdo, L. Ping, BER bounds on parallel concatenated single parity check arrays and zigzag codes, in: Global Telecommunications Conf-GLOBECOM, 1999, pp. 2436– 2440. [8] H. Ohta, T. Kitami, A cell loss recovery method using FEC in ATM networks, IEEE J. Select. Areas Commun. 9 (December) (1991) 1471–1483. [9] H.T. Lim, J.S. Song, Cell loss recovery method in B-ISDN/ATM networks, Elecron. Lett. 31 (11) (1995) 849–851. [10] H.T. Lim, D. Nyang, J.S. Song, Improving the performance of cell loss recovery in ATM networks, Electron. Lett. 32 (17) (1996) 1540–1542.

R. Amutha et al. / Information Sciences 173 (2005) 169–179

179

[11] M.A. Kousa, A.K. Elhakeem, H. Yang, Performance of ATM networks under hybrid ARQ/ FEC error control scheme, IEEE/ACM Trans. Network. 17 (December) (1999) 917–925. [12] M.A. Kousa, A.H. Mugaibel, Cell loss recovery using two-dimensional erasure correction for ATM networks, in: Seventh International Conference on Telecommunication Systems, March 1999, pp. 85–89. [13] J. Simmons, R. Gallager, Design of error detection scheme for Class C service in ATM, IEEE/ ACM Trans. Network. 3 (February) (1994) 80–88.