New Two-Stage Automorphism Group Decoders for Cyclic Codes in the Erasure Channel
Chanki Kim, Jong-Seon No

TL;DR
This paper introduces two-stage automorphism group decoders (TS-AGDs) for cyclic codes in erasure channels, improving decoding performance, reducing complexity and delay, and achieving ML decoding for some codes.
Contribution
The paper proposes novel two-stage AGDs with modified parity check matrices and preprocessing, enhancing erasure decoding efficiency and performance for various cyclic codes.
Findings
TS-AGDs outperform conventional AGDs in complexity and delay
TS-AGDs achieve perfect decoding for some cyclic codes
Proposed methods are effective for MDS codes with expanded parity check matrices
Abstract
Recently, error correcting codes in the erasure channel have drawn great attention for various applications such as distributed storage systems and wireless sensor networks, but many of their decoding algorithms are not practical because they have higher decoding complexity and longer delay. Thus, the automorphism group decoder (AGD) for cyclic codes in the erasure channel was introduced, which has good erasure decoding performance with low decoding complexity. In this paper, we propose new two-stage AGDs (TS-AGDs) for cyclic codes in the erasure channel by modifying the parity check matrix and introducing the preprocessing stage to the AGD scheme. The proposed TS-AGD has been analyzed for the perfect codes, BCH codes, and maximum distance separable (MDS) codes. Through numerical analysis, it is shown that the proposed decoding algorithm has good erasure decoding performance with lower…
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Figure 18
Figure 19
Figure 20
Figure 21
Figure 22
Figure 23
Figure 24
Figure 25
Figure 26
Figure 27
Figure 28| The number | Total number of | TS-AGD and | TS-AGD and |
|---|---|---|---|
| of erasures | erasure patterns | AGD of | AGD of , ML |
| 0 | 0 | ||
| 7 | 245157 | 253 | 253 |
| 8 | 490314 | 4554 | 4554 |
| 9 | 817190 | 37973 | 37950 |
| 10 | 1144066 | 197754 | 194810 |
| 11 | 1352078 | 700488 | 656558 |
| The | Total number | TS-AGD | TS-AGD | TS-AGD | TS-AGD and | TS-AGD and |
| number of | of erasure | and AGD | and AGD | and AGD | AGD of | AGD of |
| erasures | patterns | of | of | of | and | and ML |
| 0 | 0 | 0 | 0 | 0 | ||
| 8 | 735471 | 759 | 759 | 759 | 759 | 759 |
| 9 | 1307504 | 12144 | 12144 | 12144 | 12144 | 12144 |
| 10 | 1961256 | 92000 | 91080 | 91080 | 91080 | 91080 |
| 11 | 2496144 | 460253 | 426581 | 425178 | 425040 | 425040 |
| 12 | 2704156 | 1515792 | 1344005 | 1325536 | 1322179 | 1313116 |
| The number | Total number of | TS-AGD and | TS-AGD and | ML |
| of erasures | erasure patterns | AGD of | AGD of | |
| 0 | 0 | 0 | ||
| 5 | 169911 | 186 | 186 | 186 |
| 6 | 736281 | 5642 | 5642 | 5642 |
| 7 | 2629575 | 83237 | 83235 | 83235 |
| 8 | 7888725 | 791027 | 790965 | 790965 |
| 9 | 20160075 | 5371029 | 5342850 | 5340835 |
| 10 | 44352165 | 26734183 | 26118709 | 26030917 |
| The | Total number | TS-AGD | TS-AGD | TS-AGD, AGD | TS-AGD and | ML | ML |
| number of | of erasure | and AGD | and AGD | and ML with | AGD with | with | with |
| erasures | patterns | with | with | ||||
| 3 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 4 | 1365 | 90 | 0 | 0 | 0 | 0 | 0 |
| 5 | 3003 | 1128 | 168 | 60 | 3 | 0 | 0 |
| 6 | 5005 | 3520 | 2380 | 820 | 400 | 0 | 0 |
| 7 | 6435 | 5820 | 5680 | 3600 | 3570 | 405 | 0 |
| / | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 3 | 1 | 1 | 1 | 1 | 1 | 2(1) | 1 | \ul2 | \ul2 | \ul2 | \ul2 | 2 | 3(2) |
| 4 | 1 | 1 | \ul2 | 3(2) | 3(2) | \ul3 | \ul4(3) | 4(3) | |||||
| 5 | 1 | 1 | \ul2 | 2 | \ul3 | 5(3) | |||||||
| 6 | 1 | 1 | \ul2 | 2 | 4(3) | ||||||||
| 7 | 1 | 1 | 1 | 2 | \ul3 | ||||||||
| 8 | 1 | 1 | 1 | 1 | 3(2) | 5(3) |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Cooperative Communication and Network Coding · Coding theory and cryptography
\useunder
\ul
New Two-Stage Automorphism Group Decoders for Cyclic Codes in the Erasure Channel
Chanki Kim, and Jong-Seon No
Abstract
Recently, error correcting codes in the erasure channel have drawn great attention for various applications such as distributed storage systems and wireless sensor networks, but many of their decoding algorithms are not practical because they have higher decoding complexity and longer delay. Thus, the automorphism group decoder (AGD) for cyclic codes in the erasure channel was introduced, which has good erasure decoding performance with low decoding complexity. In this paper, we propose new two-stage AGDs (TS-AGDs) for cyclic codes in the erasure channel by modifying the parity check matrix and introducing the preprocessing stage to the AGD scheme. The proposed TS-AGD has been analyzed for the perfect codes, BCH codes, and maximum distance separable (MDS) codes. Through numerical analysis, it is shown that the proposed decoding algorithm has good erasure decoding performance with lower decoding complexity and delay than the conventional AGD. For some cyclic codes, it is shown that the proposed TS-AGD achieves the perfect decoding in the erasure channel, that is, the same decoding performance as the maximum likelihood (ML) decoder. For MDS codes, TS-AGDs with the expanded parity check matrix and the submatrix inversion are also proposed and analyzed.
Index Terms:
Automorphism group decoder (AGD), Bose-Chaudhuri-Hocquenghem (BCH) codes, cyclic codes, error correcting codes, erasure channel, iterative erasure decoder (IED), maximum distance separable (MDS) codes, perfect codes, stopping redundancy.
I Introduction
Research on error correcting codes in the erasure channel is one of the major subjects in information theory. Erasure channel is a typical channel model for wireless sensor networks and distributed storage systems, where the locations of symbol errors are known.
Algebraic codes have a long history from Hamming codes to algebraic geometry codes. The decoders of algebraic codes are designed using the mathematical properties of the codes, which have difficulty in implementing practical decoders. However, lots of research works for their decoding algorithms have been done to reduce the decoding complexity and delay. In cyclic codes, one-step majority decoding [3] and permutation decoding[4] schemes are exemplary methods which can be practically implemented using their cyclic property in the error channel. However, these decoding schemes are applicable only to the limited parameters of the error correcting codes.
An iterative decoder can be one of the solution as an implementable decoder and thus, the iterative decoding algorithms and error correcting codes with iterative decoder such as turbo and low-density parity-check (LDPC) codes have been widely studied. Iterative decoders have various implementation methods according to the error correcting codes, their decoding performance, and complexity. One of these is the belief propagation decoder for LDPC codes, which is based on log-likelihood ratio (LLR)-based computation and which shows Shannon capacity-approaching decoding performance. In addition, there have been lots of researches to apply iterative decoding to algebraic codes in error channels. In [5] and [6], the iterative decoding of Reed-Solomon (RS) codes with sparse parity check matrix and belief-propagation decoding algorithm is proposed. Iterative erasure decoder (IED) of algebraic codes [7] has also been studied. However, IED has inherently inferior decoding performance compared to the maximum likelihood (ML) decoder and the gap between the decoding performances becomes larger in the algebraic codes, because the sparseness of their parity check matrices is not guaranteed contrary to the LDPC codes. Thus a possible solution for algebraic codes is to modify the structure of the decoder in the erasure channel.
Recently, one approach to overcome the inferior decoding performance of IED for the algebraic codes in the erasure channel was proposed, called the automorphism group decoder (AGD) for cyclic codes [8]. AGD uses the permutation of the automorphism group in the middle of the IED procedure. For cyclic codes, the permutation operation can be substituted by the cyclic shift operation for codewords, which are also codewords. In fact, many similar concepts have been proposed for cyclic LDPC codes in the error channel such as multiple-bases belief-propagation (MBBP) [9] and revolving iterative decoding (RID) [10], [11]. It was shown that for some cyclic codes, AGD improves the decoding performance but it requires higher decoding complexity and delay, because the average number of iterations for this decoding scheme is increased by the cyclic shift operation.
In this paper, new AGD algorithms for the cyclic codes in erasure channels are proposed to improve the decoding performance and reduce the decoding complexity and delay. First, the parity check matrix of the cyclic code is modified such that some of the -tuple column vectors in the parity check matrix are standard basis vectors in the appropriate column indices and Hamming weight of the row vectors in the parity check matrix becomes as low as possible. Then, the proposed decoding process is done in two decoding stages, referred to as a two-stage AGD (TS-AGD), that is, the first decoding stage finds the cyclic shift values of the received codeword for the successful erasure decoding while in the second decoding stage, the erasure decoding process is done for the received codewords cyclically shifted by the cyclic shift values found in the first decoding stage. The numerical analysis shows that the proposed TS-AGD algorithm outperfoms the conventional AGD algorithm and further it reduces decoding complexity and delay. For some cyclic codes, it is shown that the proposed TS-AGD achieves the perfect decoding, showing the decoding performance identical to that of the ML decoding.
Generally, each check equation in the IED has its own erasure decoding capability. For some algebraic codes, it is known that check equations are not sufficient to achieve good decoding performance. Thus, stopping redundancy was proposed [12], which increases the number of check equations and it guarantees the successful decoding for all the erasure symbols up to . However, stopping redundancy implausibly increases the decoding complexity. Stopping redundancy has been studied for several algebraic codes such as maximum distance separable (MDS) codes [13], Reed-Muller codes [14], and algebraic geometry codes[15].
MDS codes are the algebraic codes which satisfy the Singleton bound, that is, for MDS codes, we have
[TABLE]
It is known that MDS codes have the optimal decoding performance in the erasure channel. The RS code is a well-known cyclic MDS code that has been widely applied to compact disc, satellite communication, and distributed storage systems. The decoding complexity of RS codes is high in general because the decoding process requires lots of computations in the finite field.
We also propose another two-stage decoding scheme to decode cyclic MDS codes, by modifying the TS-AGD by stopping redundancy. The modified TS-AGD with stopping redundancy for the MDS codes has the same decoding performance as that of the ML decoder but the decoding complexity of the proposed decoder is dramatically reduced compared to that of the ML decoder. Further, several lower bounds on the stopping redundancy for the perfect decoding of cyclic MDS codes have been derived. In order to further improve the performance of the proposed decoder, the proposed TS-AGD with submatrix inversion of the parity check matrix is also considered.
This paper is organized as follows. In Section II, AGD is reviewed and compared to IED. In Section III, the proposed decoding algorithm for the binary cyclic codes in the erasure channel is introduced by modifying the parity check matrix and the AGD algorithm, called TS-AGD. For some cyclic codes, the proposed TS-AGD achieves the perfect decoding in the erasure channel. The numerical analysis of the performance of the proposed decoding algorithm is also given. In Section IV, the proposed TS-AGD algorithms are modified for the cyclic MDS codes by using stopping redundancy and submatrix inversion. Then, several lower bounds on the stopping redundancy and submatrix inversion for the perfect decoding are derived. Finally, the conclusion is given in Section V.
II Preliminary
In this section, the decoding procedures of IED and AGD are explained and compared and several definitions are presented.
II-A IED and AGD
An error correcting code has an parity check matrix , which can be represented by a bipartite graph with variable nodes and check nodes. Let and be sets of variable nodes and check nodes and let and be the degrees of variable nodes and check nodes, respectively. The bipartite graph is then denoted by \cal{G}$$=$$(V,U,H). In the erasure channel, the variable nodes have two different states, i.e., erasure and non-erasure states, while the check nodes have three states, decodable, non-decodable, and non-erasure states. The decoding procedure of IED consists of several iterations, where each iteration performs check node update (CNU) and variable node update (VNU) operations sequentially. It is assumed that the check nodes deriving the decoding procedure are operated in a parallel way, known as flooding decoding.
The CNU operation is the procedure that each check node finds its state by counting the number of the erasure states of the variable nodes connected to itself. A decodable state of a check node is declared when the number of the connected variable nodes in the erasure state is 1, because check equation of IED can decode the variable node in the erasure state. If the check node has the variable nodes in the erasure state larger than or equal to 2, a non-decodable state is declared for the check node. The check nodes with no connected variable nodes in the erasure state are called non-erasure states. In this way, all of the check nodes simultaneously update their states and IED proceeds to the VNU operation. The VNU operation is a procedure by which variable nodes in the erasure state are decoded using connected decodable check nodes. Fig. 1 shows the CNU and VNU operations. Note that after the decodable check nodes decode the corresponding variable nodes in the erasure state, then state of the check node is changed to the non-erasure state, which will be removed.
AGD can be applied to cyclic codes, where AGD consists of the repeated IED and cyclic shift operations of the received codewords. That is, if there is no decodable check node, then the received codeword is cyclically shifted until decodable check nodes are found. If it is found, the IED algorithm is repeatedly applied to the cyclically shifted received codewords.
It is known that the cyclic shift operation is easy to implement with negligible complexity and delay. In the AGD, IED should be performed for each cyclically shifted received codeword until the decoding is successful or the number of cyclic shifts is equal to the length of codeword. Although the decoding complexity and delay of the AGD are much higher than those of the IED, the decoding performance of the AGD is much better than that of the IED.
II-B Some Definitions
In this subsection, several mathematical notations and abbreviations are defined. First, denotes Hamming weight of vector and denotes the set of indices of the nonzero elements in . The -th standard basis vector is the basis vector, where the -th element of is equal to 1 and the other elements are equal to 0.
There are several definitions of a binary sequence as follows. Let denote a characteristic sequence of index set such that if and otherwise, . Two binary sequences are frequently used in this paper, that is, the erasure sequence and the parity check sequence defined as follows.
Definition 1** (Erasure sequence)**
Erasure sequence is defined as a characteristic sequence of the erasure set , which is the set of indices of erasure symbols in the received codeword transmitted through the erasure channel.
Definition 2** (Parity check sequence)**
Parity check sequence of the parity check matrix of the cyclic code is a binary sequence of length defined as
[TABLE]
where the standard basis vector means that only one element of the vector is 1 and the others are zero. Furthermore, let denote the support set of , i.e., the set of column indices of the standard basis vectors.
For column indices of the parity check matrix , the elements of are called standard basis indices and otherwise, non-standard basis indices. Thus, the number of 1’s in a period of is larger than or equal to . The Hamming cross-correlation of two binary sequences, and , is defined as
[TABLE]
where takes values in . The stopping redundancy for the parity check matrix is defined as follows.
Definition 3** (Stopping redundancy [13])**
Stopping redundancy of the code is the minimum number of check equations that the decoder can correct all of the erasure patterns with erasure symbols less than or equal to , where is the minimum distance of the code .
A mask is a useful notation to represent the parity check matrix of MDS codes because only the location of nonzero values in the parity check matrix is of our interests, which is defined as follows.
Definition 4** (Mask)**
Mask is an binary matrix whose element is 1 if the element of matrix is nonzero and otherwise, zero.
It is known that the ML decoding performance in the erasure channel is best, that is, a practical decoder in the erasure channel can have the same or inferior erasure decoding performance to that of the ML decoder. At this point, the perfect decoding is defined as follows.
Definition 5** (Perfect decoding)**
It is called perfect decoding in the erasure channel if its erasure decoding performance is the same as that of ML decoder.
In general, perfect decoding is not common because it is rarely possible to show it. In this paper, the perfect decoding is shown by checking all cases of erasure patterns for some of the cyclic codes with small values of and .
There is an example of RS code, where an ML decoder can correct any four erasure symbols regardless of their locations.
Example 1** (AGD)**
Suppose that an (8,4) RS code is defined in and its generator polynomial is given as
[TABLE]
*Then, the corresponding parity check polynomial is obtained as
[TABLE]
and the systematic parity check matrix can be constructed from as
[TABLE]
The parity check matrix can be described by a bipartite graph as shown in Fig. 2. Circles represent variable nodes and squares represent check nodes and the edge between the -th circle and the -th square indicates that the element of is nonzero. In Fig. 2, the circles with dashed line are variable nodes in erasure states, where there are four erasure symbols. Then, the erasure sequence is and the parity check sequence is .
The AGD procedure is described in Fig. 2. In the first bipartite graph Fig. 2, the decoder performs CNU operations and confirms that there is no check node in a decodable state. The IED declares a decoding failure, whereas the AGD proceeds to the next decoding procedure by cyclic shifting the received codeword. In the second bipartite graph of Fig. 2, one right cyclic shift operation for the received codeword and CNU operation are done. After four CNU operations, it is found that one check node is in a decodable state, which can proceed to a VNU operation to correct the fourth erasure symbol. In the third bipartite graph of Fig. 2, after three CNU operations are performed, the decoder finds that the other check nodes are all in decodable states, which can proceed to three VNU operations to correct the three remaining erasure symbols and then the decoding procedure is completed. In the above decoding procedure for AGD, three IED operations and one cyclic shift are performed.
Example 1 shows that the AGD has superior performance to the IED. However, successive IEDs are needed for each cyclic shift operation, which is the main issue of the decoding complexity and delay in the AGD. This example shows that it is needed to select cyclic shift values and construct parity check matrix carefully to reduce the number of iterations. In the next section, we propose a new decoding scheme for the binary cyclic codes, which reduces decoding complexity and delay without sacrificing the decoding performance.
III A New Two-Stage AGD With Reduced Complexity and Delay
Decoding complexity and delay can be reduced in the AGD if the decoder knows the cyclic shift values of the received codeword for successful decoding. In this section, we propose a modification method for the parity check matrix and a new two-stage decoding algorithm, and the result of a numerical analysis for the proposed decoding algorithm is discussed.
III-A Modification of the Parity Check Matrix
First, we briefly review the parity check matrix of cyclic codes proposed by Hehn [8], where a cyclic orbit generator (cog) and the cog family are used. A cog is cyclically distinguishable codeword of a dual code with minimum Hamming weight, which can be used as a row of the parity check matrix and the cog family is a set of cogs which share the same Hamming autocorrelation property. Hehn [8] proposed a construction method of the parity check matrix, in which the rows are composed of cogs in the cog family as many as possible.
First, we propose a method to modify the parity check matrix for the proposed two-stage decoding algorithm because the decoding performance of the proposed two-stage decoding algorithm depends on the structure of the parity check matrix. The following criteria are used for the modification of the parity check matrix using Definition 2.
Modify the parity check matrix such that as many of its column vectors as possible are the standard basis vectors. 2. 2.
The parity check sequence of the parity check matrix has out-of-phase Hamming autocorrelation values as low as possible. 3. 3.
Each row of the parity check matrix has as low Hamming weight as possible.
In fact, the best criteria for the parity check matrix of cyclic codes can be described as:
columns of the parity check matrix are standard basis vectors. 2. 2.
All out-of-phase Hamming autocorrelation values of the parity check sequence of the parity check matrix are equal. 3. 3.
The Hamming weights of all rows of the parity check matrix is equal to the minimum Hamming weight of its dual code.
It is easy to check that in order for the parity check sequences to satisfy the second criterion, they should be the characteristic sequences of cyclic difference sets with parameters for cyclic codes, if their parameters are allowed for the cyclic difference sets. It is known that some cyclic codes satisfy the above best criteria. The other criteria can be compromised if one criterion cannot be achieved due to the other criteria. The reason why we propose the above criteria for the modification of the parity check matrix will be explained in the next subsection.
III-B A New Two-Stage AGD
Using AGD and IED algorithms, we propose a new two-stage AGD of cyclic codes in the erasure channel as follows.
III-B1 Preprocessing Stage (First Decoding Stage)
Find a parity check sequence of length from the parity check matrix of an cyclic code. Find a erasure sequence of length from the received codeword transmitted through the erasure channel. Then, calculate the Hamming cross-correlation as
[TABLE]
Clearly, takes values of the nonnegative integers less than or equal to because is the number of erasure symbols and is the number of non-standard basis vectors of the parity check matrix. It can be assumed that the decoding complexity of the preprocessing stage for each is analogous to the CNU of one check node. If there exists such that , then proceed to the second decoding stage. If not found, cyclically shift the received codeword and proceed to the second decoding stage for in the order of ’s such that values of are increasing.
III-B2 IED Decoding Stage (Second Decoding Stage)
In the second decoding stage, the IED algorithm is used for the decoding of the cyclically shifted received codeword according to the values of . Recall that is the support set of . Let be a received codeword cyclically shifted by , where erasure symbols are located in the indices in .
- (i)
For such that : It is clear that , that is, all of the erasure symbols in are located in the indices of standard basis vectors. Note that the -th element of the received vector is expressed as the transmitted symbol for a non-erasure symbol and for an erasure symbol. Suppose that can be split into two -tuple vectors as
[TABLE]
where the -th component of is denoted as for and otherwise, 0 and the -th component of is equal to the -th component of for and otherwise, 0. In general, the syndrome vector should be zero as
[TABLE]
and thus
[TABLE]
If the -th column vector of is the -th standard basis vector , is equal to the -th component of because . Therefore, each -th column for has a different standard basis vector . In this case, we can recover all of the erasure symbols by in one iteration, which is described in Fig. 3. The decoding complexity in the second decoding stage with for is identical to that in CNU operations because the decoder knows the check nodes for the CNU operation from the preprocessing stage. 2. (ii)
For such that : In this case, we have one erasure symbol in the non-standard basis vector of and the other erasure symbols are located in the column indices in . Here, the decoding process is done in two steps, that is, one for one erasure symbol in the non-standard basis vector of and the other for the other erasure symbols with indices in . Suppose that the set of erasure symbol indices is given as , where is the number of erasure symbols. Suppose that the -th column is the -th standard basis vector , , and the -th column of is a non-standard basis vector. We also have standard basis vectors in , where non-erasure symbols are located. In the first decoding step, assume that for , some -th component of the -th column of is equal to 1. Then, using the -th row of , the erasure symbol can be recovered because there is no erasure symbol except for at the positions of element 1 in the -th row of . Then, we go to the second decoding stage, which is the same as that of . If the -th component of the -th column of is 0, decoding of the first step cannot be successful because disappears in the IED procedure. If the first decoding step is not successful, then we try to decode it for other values such that . The second decoding procedure is described in Fig. 4.
- (iii)
For such that : Let , i.e., the complement of . Let , where is a subset of indices such that the erasure symbols exist and . Similarly, let and then clearly, . For a , suppose that the -th element of the -th column of with is 1 and that the -th elements of the other columns with indices in of are all zero and further, there exists in the columns with indices in . Then, we can recover the erasure symbol with index . That is, all erasure symbols except for are disappeared in the inner product of the -th row of and the received codeword cyclically shifted by and thus can be recovered. To decode the remaining erasure symbols, it is needed to return to the preprocessing stage to find the values of ’s with lower values of . The second decoding stage of the proposed two-stage decoding algorithm is described in Fig. 5.
The overall decoding procedure is described in Algorithm 1 and Fig. 6 shows a flowchart to summarize the proposed decoding algorithm.
In the proposed TS-AGD algorithm, the decoding complexity of the first decoding stage is negligible whereas the decoding complexity and delay are remarkably reduced in the second decoding stage, because the first decoding stage provides the cyclic shift values of the received codeword for successful decoding.
III-C Analysis of Modification Criteria for the Parity Check Matrix
This subsection analyzes the modification criteria of for cyclic codes. The first criterion is related to the number of standard basis vectors, that is, the number of ’s such that , which is less than or equal to . As described in the previous subsection, the proposed TS-AGD procedure can be done for the cyclically shifted received codeword such that has low values. As the number of zeros in increases, it is more probable for to have low values.
The second criterion is how to locate the standard basis vectors in the parity check matrix. It is not easy to prove the second criterion and thus the following theorem replaces the proof of the second criterion. First, we need the lemma for proof of the following theorem.
Lemma 1** (Bonferroni inequality [16])**
Let , , be sets of elements. Then we have the following inequality as
[TABLE]
Theorem 1
The upper bound on the number of occurrences of for is maximized if the parity check sequence of the modified parity check matrix has a constant out-of-phase autocorrelation value.
Proof:
First, it is desirable for the proposed decoding algorithm to successfully decode more erasure patterns, which is possible if . Thus, we have to modify the parity check matrix, for which is most common for as many shift values as possible. The following two cases are considered.
- (i)
:
This means that . It is easy to check that in , it is equivalent to cyclically shift instead of . Let be the support set of . Let be the set of erasure patterns which can be successfully recovered by . Then, we have , which leads to
[TABLE]
It is easy to check that doubly counted erasure patterns are included in (2), which should be excluded. If the shaded parts in Fig. 7 include all the erasure symbols, those erasure patterns are doubly counted, where denotes the number of pairs . Thus we have doubly counted erasure patterns. Using Lemma 1, the number of erasure patterns which are successfully decoded by is bounded as
[TABLE] 2. (ii)
:
In this case, the index of one erasure symbol is in and the indices of the other erasure symbols are in . Thus, the total number of such erasure patterns is , where doubly counted erasure patterns are included. There are two cases of doubly counted erasure patterns as shown in Fig. 8.
- (a)
Each of two erasure symbols is located in and , respectively and the other erasure symbols are located in , which are counted as . 2. (b)
One erasure symbol is located in and the other erasure symbols are located in , which are counted as . Similarly, from Lemma 1, the number of erasure patterns which are successfully decoded by is given as
[TABLE]
In order to maximize the upper bounds in (3) and (4), the second terms of the right hand sides should be minimized, which can be solved by the convex optimization as described in Appendix A. That is, it is derived in Appendix A that maximizing the upper bound on the number of occurrences of for by convex optimization occurs when the out-of-phase autocorrelation values of are constant. Thus, we prove the theorem. ∎
The third criterion is related to the performance of the decoder, that is, with the minimum Hamming weight of rows can have better decoding performance in IED as mentioned in [8] as cog, because more erasure symbols are removed in the inner product of the received codeword and the rows with the minimum Hamming weight of .
III-D Proposed TS-AGD for Some Cyclic Codes
In this subsection, the proposed TS-AGD is applied to several cyclic codes in the erasure channel, that is, the perfect codes such as Hamming codes, Golay codes, and extended Golay codes, and BCH codes. Surprisingly, some cyclic codes such as perfect codes can achieve the decoding performance identical to that of the ML decoder, known as perfect decoding. In general, it is desirable for algebraic decoders to be designed to decode all erasure symbols up to the minimum distance . Some decoding algorithm such as the AGD [8] has been proposed to decode some of received codewords with erasure symbols up to .
To analyze the decoding complexity and delay, the number of iterations and decoding complexity are described as graphs. The number of iterations counts parallelized CNU and VNU operations as , respectively as in [8]. Note that AGD and TS-AGD use CNU operations more than VNU operations due to cyclic shifts. In the proposed TS-AGD, the preprocessing can slightly increase the decoding complexity but it reduces the number of iterations for IED. The number of VNU operations for the TS-AGD is identical to that for AGD because there is no difference in terms of the erasure decoding performance for the fixed parity check matrix . Therefore, with regard to decoding complexity, the Hamming correlation calculation for each in the preprocessing stage and the CNU operation of one check node in the second decoding stage are counted as 1 in both cases, respectively but the decoding complexity of the VNU operations is ignored.
III-D1 Proposed Decoding Algorithms for Perfect Codes
- (i)
Hamming codes: Clearly, Hamming codes have only one cog and thus one row in is needed to achieve the ML decoding performance as in the following proposition.
Proposition 1
For an linear code , the IED of expanded parity check matrix whose rows consist of all of the codewords of its dual code can achieve ML decoding performance.
Proof:
Note that the ML decoder can decode only if of the erasure pattern does not include the support of any codeword. Let be an submatrix with full rank by selecting rows from the expanded parity check matrix. Let be an submatrix generated by selecting the columns with indices in from . Let be an -tuple erasure vector, that is, consists of the elements with indices in of the transmitted codeword. Then, we have the syndrome of
[TABLE]
which can be modified as
[TABLE]
If the rank of is lower than , (5) has multiple solutions, implying that the decoder cannot decode the codeword. Thus, should have full rank and then there exist linearly independent rows in . Let and be and matrices constructed from and by selecting linearly independent rows, respectively. By selecting the elements with the same row indices as those of from in (5), we can find by inverting . From the properties of linear codes, each row of is actually the codeword of the dual code . Then, the IED of whose rows consist of the codewords of can correct the erasure patterns, which do not include the codeword. Clearly, this corresponds to the ML decoder. ∎
From the above proposition, the Hamming codes which have only one cog can achieve the ML decoding performance, because they have the same performance as a expanded parity check matrix.
Below, the decoding performance of Golay, extended Golay, and BCH codes is presented in the table, which compares the exact ML erasure decoding performance with the AGD and the TS-AGD decoding performances. Proposition 1 is useful in that it can be used to calculate the erasure decoding performance of the ML decoder based on IED. 2. (ii)
For the binary Golay code: Using the proposed modification criteria, the parity check matrix of the binary Golay code can be modified as
[TABLE]
and its parity check sequence is given as
[TABLE]
which corresponds to the characteristic sequence of cyclic difference set with parameters . Here, the modified parity check matrix has 12 standard basis vectors and its rows have the minimum Hamming weights. Thus, (6) satisfies the three modification criteria for the parity check matrix. The numerical analysis shows in Table I that the proposed TS-AGD with can achieve the same performance as the ML decoder and outperform the AGD with , where denotes the systematic form of its parity check matrix defined as . Fig. 9 shows the decoding performance of the binary Golay codes in terms of iteration and the decoding complexity. Two decoders, AGD and TS-AGD, and two modifications of the parity check matrix are considered in Fig. 9. The number of iterations of the proposed TS-AGD algorithm can be reduced compared to the AGD as shown in Fig. 9(a). The decoding complexity of TS-AGD with has the lowest value except for the midrange of the erasure probability as in Fig. 11(b).
- (iii)
binary extended Golay code: In fact, while this is not a cyclic code, it is cyclic except for the last parity bit. Thus, we can apply the AGD algorithm and the proposed TS-AGD algorithm. Hehn modified the parity check matrix as in [8]
[TABLE]
and the systematic form of the parity check matrix is given as
[TABLE]
The modified parity check matrix based on the three proposed criteria can be given as
[TABLE]
where the first 11 standard basis column indices are determined by the cyclic difference set with parameters as before and the last standard basis vector is located in the extended bit. The last row of has the Hamming weight of 12, which is larger than the minimum Hamming weight 8. Thus, we can further modify it by replacing the last row by sum of the first row and the last row as
[TABLE]
where the last row has the minimum Hamming weight 8 but the first column is not a standard basis vector. The further modification is done by replacing the -th row with the sum of the -th row and the last row of , and the last row with the first row of as
[TABLE]
In fact, the first columns of and have Hamming weights 2. Then the parity check sequences of , , and are given as
[TABLE]
[TABLE]
[TABLE]
In the extended Golay code, any of the modified parity check matrices cannot achieve the same performance as that of the ML decoder. However, the TS-AGD by adding redundant check equations to can give us the same decoding performance as the ML decoder, which is given as
[TABLE]
where is a submatrix composed of nine rows out of the first 11 rows of . Fig. 10 shows the relationship among the various modified parity check matrices. Table II shows the decoding performance of the proposed TS-AGD and AGD with , , , , , and , where shows decoding performance identical to that of the ML decoder and better decoding performance than the decoding algorithm by Hehn. Fig. 11(a) shows the average number of iterations, where has the smallest number of iterations. However, the decoding complexity for is largest due to additional rows of the parity check matrix.
- (iv)
Ternary Golay code: For the ternary Golay code, AGD and TS-AGD algorithms with the systematic and the modified form of their parity check matrices can achieve the ML decoding performance, whereas the number of iterations and the decoding complexity of the modified form are better than those of the systematic form. The systematic parity check matrix of the ternary Golay code is given as
[TABLE]
The modified form of the parity check matrix uses the parity check sequence constructed by the characteristic sequence of the cyclic difference set with parameters as
[TABLE]
where the parity check sequence is given as
[TABLE]
The average number of iterations and the decoding complexity of the ternary Golay codes are described in Fig. 12, which shows performance similar to the previous cases for the Golay and extended Golay codes. By numerical analysis, there are no undecodable erasure patterns for the number of erasures , there are 66 undecodable erasure patterns for , and there are no decodable erasure patterns for for the modified form and the ML decoders.
III-D2 Proposed TS-AGD Algorithms for Binary Primitive BCH Codes
Binary primitive BCH codes are widely used due to their low-complexity encoding, large designed distance, and guaranteed decoding performance for certain number of erasures. However, BCH codes require inherently high decoding complexity and their decoding performance is degraded for large and . The proposed TS-AGD can overcome the disadvantages of BCH codes by the low-complexity decoding with improved performance. Here, the proposed TS-AGD for the , and BCH codes are numerically analyzed in the erasure channel. In general, of the BCH code is generated by the cyclic difference set but there are some cases that the cyclic difference set does not exist for some parameters of the BCH code, that is, the and BCH codes. In these cases, can be constructed using the union of cyclotomic cosets of the finite field as an alternative construction method. In general, does not have constant out-of-phase autocorrelation but has relatively low values of out-of-phase autocorrelation. Thus, this construction method of also results in good decoding performance.
- (i)
BCH code: AGD and TS-AGD with the parity check matrix of the systematic and modified forms are simulated. First, the systematic parity check matrix of the BCH code is given as
[TABLE]
Note that there are no difference sets for the parity check sequence of the BCH code. Alternatively, we generate using two cyclotomic cosets of the finite field including the elements and of the finite field . The corresponding parity check matrix in the modified form is given as
[TABLE]
and its parity check sequence is
[TABLE]
Table III shows the decoding performance of the proposed TS-AGD and AGD with and , which shows that the erasure decoding performance of is better than that of . For the average number of iterations, has a lower value than and TS-AGD has a lower value than AGD. With regard to decoding complexity, TS-AGD is greater than AGD for high erasure probability because TS-AGD has a small number of ’s with or . Therefore, TS-AGD is inefficient for a high erasure probability in that large computation is required for decoding. 2. (ii)
BCH code: For the BCH code, Hehn performed the simulation for the AGD but its parity check matrix is not given. Here, we construct its parity check matrix consisting of the same 15 cogs used in Hehn’s construction as follows:
[TABLE]
The systematic parity check matrix of the above BCH code is given as
[TABLE]
The modified form of the parity check matrix for the proposed TS-AGD is given by the cyclic difference set with parameters as
[TABLE]
and its parity check sequence is also given as
[TABLE]
Henceforth, the decoding performance of the BCH code is numerically analyzed in three aspects; the bit error rate (BER) and frame error rate (FER), the average number of iterations, and the decoding complexity. For large values of and , it is difficult to estimate the ML decoding performance by counting all of the erasure patterns. Instead, the lower bound of the ML decoding performance by is described in Fig. 14. For BER and FER, the decoding performances of , , and are nearly identical.
For the average number of iterations, also has a lower value than and TS-AGD has significantly lower value than AGD. For AGD, has fewer number of iterations than , which means that modification of the parity check matrix can also decrease the number of iterations. It is also shown that modifying the parity check matrix can decrease the decoding complexity. 3. (iii)
BCH code: For the parameters of large and lower coding rates, it is difficult to obtain cogs to generate by Hehn’s method. Here, the systematic form and the proposed modification can be used to obtain the parity check matrices not only for the decoding complexity and delay reductions but also for the erasure decoding performance improvement as well. There is no difference set for the parameters of the BCH code and thus the proposed modification of is done using the cyclotomic cosets of the coset leaders of the finite field in . The corresponding parity check sequence is given as
[TABLE]
The decoding performance of the above BCH code is shown in Fig. 15. For BER and FER, is better than . Regarding the average number of iterations and the decoding complexity, TS-AGD is better than AGD for both and .
IV Two-Stage AGD for Cyclic MDS Codes
In this section, the proposed TS-AGD is applied to cyclic MDS codes. In order to achieve the perfect decoding, stopping redundancy and submatrix inversion are also used for the TS-AGD for cyclic MDS codes.
IV-A Modification of the Parity Check Matrix for Cyclic MDS Codes
The criteria for the modification of the parity check matrices in Section III can be simplified for the TS-AGD of cyclic MDS codes from the properties of the MDS codes.
Proposition 2** (The first and third criteria for cyclic MDS codes)**
For the parity check matrix of the MDS codes, standard basis vectors can be made in any columns of the parity check matrix and the Hamming weight of all rows is , which is the minimum Hamming weight of its dual codes.
Proof:
This can be easily proved from the theorems in Section 2 of Chapter 11 in [29]. ∎
Thus, the first and third criteria can always be satisfied in the parity check matrix of the MDS codes but for the second criterion, we have to make the magnitude of the out-of-phase Hamming autocorrelation of the parity check sequence as low as possible.
In order to improve the decoding performance of AGD and IED, the expanded parity check matrix is proposed by expanding the rows of the parity check matrix. That is, the parity check matrix can be expanded to a matrix, which is composed of distinct parity check matrices. Note that each parity check matrix has its own parity sequence. Then, the TS-AGD using the expanded parity check matrix decodes the received codeword by the first parity check matrix. If it fails, successful decoding is possible using the subsequent parity check matrices. Note that if the perfect decoding is possible by the expanded parity check matrix, the number of rows in the expanded parity check matrix is called the stopping redundancy.
IV-B Proposed TS-AGD for Cyclic MDS Codes
IV-B1 TS-AGD Algorithm for Cyclic MDS Codes
The procedure of the proposed TS-AGD for MDS codes is nearly identical to that of the binary codes introduced in the previous section but the detailed decoding procedure is slightly different. For the binary codes in Fig. 4, there is a case that the erasure symbols in the non-standard basis part cannot be successfully decoded at the first iteration for . Unlike the binary codes, TS-AGD for the MDS codes can always successfully decode the cyclically shifted received codewords with such that because the non-standard basis columns of the parity check matrix always consist of nonzero elements. Therefore, the maximum number of iterations is reduced to 2 if there exists which meets the condition of . However, the proposed TS-AGD cannot decode the received codewords of the cyclic MDS codes for the cases of .
IV-B2 Performance Analysis of Cyclic MDS Codes and LRCs
For cyclic MDS codes, their minimum distance is the largest value , which means that the best ML decoding performance of the MDS codes can be obtained in the erasure channel. However, since the minimum Hamming weight of rows in the parity check matrix of the MDS codes is the largest value , this degrades the decoding performance for AGD or IED compared to the binary codes due to the third modification criterion of the parity check matrix.
In order to mitigate the degradation of the decoding performance due to the third criterion without expansion of the parity check matrix, we can also consider cyclic locally repairable codes (LRCs) [17], which can be constructed by slightly modifying the MDS codes as follows. LRC is originally used to reduce the decoding complexity of the repair process in distributed storage systems. LRCs have slightly shorter minimum Hamming distances than MDS codes, which reduces the decoding performance gap between AGD and the ML decoder. In this subsection, the proposed TS-AGD decoding algorithm can be applied to LRCs as well as cyclic MDS codes in order to achieve the ML decoding performance. For and , the generator polynomial of the optimal cyclic LRC is given as
[TABLE]
where and . For the code parameters , there exist a MDS code, a cyclic LRC with , and a cyclic LRC with . From (IV-B2), the generator polynomial of the cyclic LRC has the zeros . Similarly, the generator polynomial of the cyclic LRC has the zeros . The characteristic sequence of the cyclic difference set with parameters , that is, an -sequence of period 15 can be used for the parity check sequence as
[TABLE]
Then, the corresponding masks of the parity check matrices of the MDS code, and the and cyclic LRCs are given as
[TABLE]
[TABLE]
[TABLE]
The erasure decoding performance of the above three codes is shown in Table IV. Clearly, the ML decoding performance of LRC with lower is degraded compared to that of MDS codes but the performance gap between TS-AGD and the ML decoder becomes smaller. For the cyclic LRC, TS-AGD performs the perfect decoding, that is, there is no difference in the decoding performance between TS-AGD and the ML decoder. TS-AGD has the best performance for the cyclic LRC which can replace the MDS code. Fig.16 shows that TS-AGD has lower decoding complexity and the fewer iterations than those of AGD for the MDS code and LRCs. For TS-AGD, MDS codes has lower decoding complexity than LRCs because MDS code uses the TS-AGD algorithm. That is, TS-AGD decoding for LRC is not always successful when , because LRC is not an MDS code and some elements of the non-standard basis columns of the parity check matrix of LRC are zero.
Instead of mitigating the strict condition of the cyclic MDS codes by the cyclic LRCs, the expanded parity check matrix can be used to enhance the erasure decoding performance of the cyclic MDS codes. Numerical analysis of the expanded parity check matrix using -sequences is introduced in the following subsection.
IV-B3 Performance Analysis of TS-AGD With Expanded Parity Check Matrix for Cyclic MDS Codes
To analyze the erasure decoding performance of TS-AGD with expanded parity check matrix for cyclic MDS codes, it is necessary to know the Hamming auto- and cross-correlations of the parity check sequences of the expanded parity check matrix. By counting the number of decodable -erasure patterns by Lemma 1, the decoding performance of the TS-AGD with expanded parity check matrix can be estimated. Each term of the expanded parity check matrix in (1) can be modified as in the following proposition and theorems.
Proposition 3** (The first term in the Bonferroni inequality in the expanded parity check matrix)**
The first term in (1) is modified in the expanded parity check matrix as follows:
[TABLE]
Proof:
Suppose that the expanded parity check matrix has parity check sequences. The -shifted parity check sequence can correct erasure symbols in the following two cases:
: erasure symbols are located in the standard basis indices and the decoder can correct the erasure pattern. 2. 2.
: erasure symbols are located in the standard basis indices and the decoder can correct the erasure patterns.
Each parity check sequence of the expanded parity check matrix has up to cyclically equivalent parity check sequences and therefore, it can correct up to erasure patterns. ∎
Theorem 2** (The second term in the Bonferroni inequality in the expanded parity check matrix)**
The second term in (1) can also be modified in the expanded parity check matrix as
[TABLE]
where returns 1 if and 0, otherwise.
Proof:
The proof is similar to that of Theorem 1. For the -th and -th cyclically shifted parity check sequences, the number of doubly counted decodable erasure patterns is expressed as
[TABLE]
where is the number of doubly counted decodable erasure patterns from and . Equation (8) partitions the number of doubly counted decodable erasure patterns by , , , , and . The remaining problem is to determine . For the given , , and , the doubly counted decodable erasure patterns can be computed as follows:
If : A doubly counted decodable erasure pattern does not occur because there should be erasure symbols in and the remaining three erasure symbols cannot be decoded regardless of their locations of , , and , where the Hamming cross-correlation values of one parity check sequence and the erasure sequence are larger than or equal to 2. 2. 2.
If : We have , , and . Then, doubly counted decodable erasure patterns occur when one erasure symbol is located in , one erasure is in , and erasure symbols are in . Therefore, is 4. 3. 3.
If : We have , , and . Then, the doubly counted decodable erasure patterns can occur when one erasure symbol is located in , one erasure symbol is in , and erasure symbols are in , where . In addition, doubly counted decodable erasure patterns occur when one erasure symbol is located in and the other erasure symbols are in , , or , where . The sum of the two cases gives us .
Thus, the theorem is proved. ∎
The distribution of the Hamming auto- and cross-correlation values of the parity check sequences can be used to count the first and the second terms in the Bonferroni inequality by Proposition 3 and Theorem 2. The Hamming auto- and cross-correlations of pseudorandom sequences, especially the -sequences of period , have been researched. There can be used to analyze the erasure decoding performance of TS-AGD. In this subsection, TS-AGD with the expanded parity check matrix for MDS codes is analyzed, where the parity check sequences for parity check matrices are constructed using the -sequence and its decimated sequences.
- (i)
: For , only one parity check matrix with a parity check sequence constructed by the -sequence of period 7 can achieve the perfect decoding. It can be easily shown by the numerical analysis. 2. (ii)
: There are two -sequences, and of period . The distribution of their Hamming cross-correlation values for can be given as [19]
[TABLE]
In this case, we can derive the number of the decodable 8-erasure patterns for the expanded parity check matrix with by the inclusion-exclusion principle. For the first term in (7), the number of doubly counted erasure patterns is computed as . For the second term, it is given as
[TABLE]
which makes at least 1590 decodable erasure patterns and it is the exact value because it has no triply or more counted erasure pattern. Note that the total number of 8-erasure patterns is . 3. (iii)
:
For , there are six -sequences of period 31, whose Hamming cross-correlation distributions are listed in Table V. For these cases, the peak correlation values are either 10 or 11, which means that there are no doubly counted decodable erasure patterns because there are no Hamming correlation values larger than . Therefore, any expanded parity check matrix with has erasure decoding performance achieving the upper bound. The maximum value of the Hamming cross-correlation of the -sequence and its decimated sequences can be derived as [24]. Thus, for , we have
[TABLE]
Thus, it is easily checked that there are no doubly counted erasure patterns for construction of the expanded parity check matrices for any combinations of an -sequence and its decimated sequences for . Therefore, the total number of decodable erasure patterns of TS-AGD with expanded parity check matrix constructed by -sequences can be maximized for the cyclic MDS codes. However, the performance by TS-AGD is worse than that of the perfect decoding for cyclic MDS codes.
IV-C Perfect Decoding by TS-AGD With Expanded Parity Check Matrix for Cyclic MDS Codes
In order to achieve the perfect decoding by TS-AGD with the expanded parity check matrix for cyclic MDS codes, the required stopping redundancy is grown exponentially as and increase. It is known to be NP-hard to calculate or approximate the exact value for the perfect decoding [30]. For small values of and of the cyclic MDS codes, it will be shown that we can find the optimal which meets the lower bound. In this paper, we only consider the case of and we propose a construction method of the expanded parity check matrix for the perfect decoding in this subsection. First, three lower bounds on the stopping redundancy are proposed.
IV-C1 Lower Bounds on for the Perfect Decoding by TS-AGD
The first lower bound is similar to the Gilbert (sphere packing) bound as in the following theorem.
Theorem 3** (Gilbert-like lower bound)**
[TABLE]
Proof:
Suppose that an expanded parity check matrix has parity check sequences. If there are no doubly counted decodable erasure patterns, the number of decodable erasure patterns is from Proposition 3, which is larger than or equal to . Thus, the theorem is proved. ∎
This bound can be improved by lotto designs [18] and the Bonferroni inequality [16].
Definition 6** (Lotto design [18])**
An -lotto design is an -set of elements and a set of -element subsets (blocks) of , such that for any -subset of , there is a block , for which . denotes the smallest number of blocks in any -lotto design.
By using the above lotto design, we can obtain more improved lower bounds on as follows.
Theorem 4** (Lower bound by the lotto design)**
[TABLE]
Proof:
In order to decode the cyclic MDS codes, it is necessary for the Hamming correlation values to be less than or equal to 1, i.e., . It also means that the intersection between the standard basis indices and the support set of erasure sequence is larger than or equal to . Then, the minimum number of the parity check sequences in expanded parity check matrix is lower bounded by . ∎
The lotto design improves the lower bound in Theorem 4. Moreover, the lower bound for can also be improved by the Bonferroni inequality as follows.
Theorem 5** (Lower bounds by the Bonferroni inequality)**
[TABLE]
where denotes the maximum number of codewords for the constant weight codes.
Proof:
For an expanded parity check matrix with parity check sequences, the number of decodable erasure patterns follows (1), whose right hand side can be used as an upper bound. In this approach, the second term is calculated as in Theorem 2 if the Hamming auto- and cross-correlations of the parity check sequences are known. If cyclically shifted parity check sequences are considered, we have distinct parity check sequences, which can be considered as constant weight codewords. Now, we have to count the number of two codewords with Hamming distance less than or equal to 4. By definition, is the maximum number of -tuple binary codewords which have a weight of and the minimum distance 6. Then, for each codeword, there exist at least codewords which have Hamming distance less than or equal to 4. Thus, the total number of pair of codewords with Hamming distance less than or equal to 4 is at least because all pairs are counted twice. The minimum value of the second term in the RHS of (1) can be computed for , that is, a Hamming distance 4. Thus, we have
[TABLE]
From Proposition 3, (10), , and , the right inequality in (1) can be modified as (9). ∎
The value of is not exactly known in general and its upper bounds are used in this paper.
IV-C2 Examples of the Perfect Decoding for
Table VI lists the required values for the perfect decoding by TS-AGD with expanded parity check matrix for cyclic MDS codes. The underlined values denote the maximum values among the previously derived three lower bounds and the values in parenthesis refer to the lower bounds on , which are different from the numerically obtained values of .
Algorithm 2 shows one of the simple construction method of the expanded parity check matrix for cyclic MDS codes using the set of -erasure patterns. Using Algorithm 2, the values of for the perfect decoding are numerically derived for cyclic MDS codes in Table VI.
To obtain specific values of the lower bounds, the upper bounds of in [25] and the lower bounds of in [26] are used.
Some MDS codes in Table VI can be analyzed as follows.
- (i)
: The lower bound by Theorem 5 shows a stricter bound compared to the other bounds. The values by Theorems 3 and 4 are computed as
[TABLE]
[TABLE]
whereas Theorem 5 gives us a tighter lower bound as
[TABLE]
Using Algorithm 2, the expanded parity check matrix can be constructed with two parity check sequences as
[TABLE] 2. (ii)
: The values of the three lower bounds are equal to 2. Construction of the expanded parity check matrix can be realized by the characteristic sequences of the cyclic difference sets with parameters as
[TABLE] 3. (iii)
: The values of by Theorems 3, 4, and 5 are given as
[TABLE]
[TABLE]
[TABLE]
Using Algorithm 2, the optimal expanded parity check matrix of the cyclic MDS code can be constructed by the following three parity check sequences as
[TABLE]
IV-D TS-AGD With Submatrix Inversion for Cyclic MDS Codes
Matrix inversion is not widely used in the erasure decoding but for some codes in the erasure channel, it is permissible for small submatrix inversion. In particular, raptor codes [27] or regenerating codes for distributed storage systems [28] often use an inversion operation of a small submatrix for decoding. The conventional assumption of stopping redundancy for IED is not an inversion-based decoding, but it requires lots of additional check nodes for a large value of . However, TS-AGD allowing submatrix inversion up to a matrix dramatically reduces the stopping redundancy for the perfect decoding. The operation of submatrix inversion in the proposed TS-AGD for cyclic MDS codes is always guaranteed by the following proposition.
Proposition 4** (The nonsingularity of parity check matrix of cyclic MDS codes)**
For any square submatrix of the modified parity check matrix for MDS codes is nonsingular.
Proof:
It can be proved by Theorem 8 in Chapter 11.4 in [29]. ∎
Thus, Algorithm 1 becomes Algorithm 3 for the perfect decoding by TS-AGD with expanded parity check matrix and submatrix inversion for cyclic MDS codes. In Algorithm 3, the elements of the syndrome vector with indices where for , is in the can be computed as
[TABLE]
where denotes the symbols recovered by the received codeword and the parity check matrix in columns whose indices are not in . By solving the above system of linear equations by submatrix inversion, the erasure symbols can be recovered. Then, the remaining erasure symbols are decoded by the inversionless VNU.
Three lower bounds on for the perfect decoding by TS-AGD with expanded parity check matrix and submatrix inversion for the cyclic MDS codes are derived.
IV-D1 Bonferroni Inequality for TS-AGD With Expanded Parity Check Matrix and Submatrix Inversion for Cyclic MDS Codes
The Bonferroni inequality in (1) can be modified as in the following theorems.
Theorem 6** (The first term of the Bonferroni inequality with submatrix inversion)**
The first term in (1) is modified in the expanded parity check matrix with submatrix inversion as
[TABLE]
Proof:
Suppose that the expanded parity check matrix has parity check sequences. The -shifted parity check sequence can correct erasure symbols if . If , erasure symbols are in the standard basis indices and the decoder can correct erasure patterns. The number of decodable erasure patterns is the sum of all , which proves the theorem. ∎
Theorem 7** (The second term in the Bonferroni inequality with submatrix inversion)**
The second term can also be modified in (1) in the expanded parity check matrix with submatrix inversion as
[TABLE]
where returns 1 if and otherwise, 0.
Proof:
The proof is the generalization of that of Theorem 2. For the -th and the -th parity check sequences cyclically shifted by and , the function is computed as follows. If for , we have , , and . Let , , and be the numbers of erasure symbols in , , and . To decode the received codeword in two parity check sequences, the Hamming correlation of each parity check sequences is less than or equal to , where and . This provides the proof. ∎
IV-D2 Lower Bounds of the Stopping Redundancy for TS-AGD in an Expanded Parity Check Matrix With Submatrix Inversion
The three lower bounds on for TS-AGD with expanded parity check matrix and submatrix inversion for the cyclic MDS codes can be modified as in the following theorems.
Theorem 8** (Gilbert-like lower bound of TS-AGD with expanded parity check matrix and submatrix inversion)**
[TABLE]
Proof:
It manifests from Theorem 3. ∎
Theorem 9** (Lower bound by the lotto design for the TS-AGD with expanded parity check matrix and submatrix inversion)**
[TABLE]
Proof:
It manifests from Theorem 4. ∎
Theorem 10** (Lower bound by the Bonferroni inequality for the TS-AGD with expanded parity check matrix and submatrix inversion)**
[TABLE]
where is the maximum number of codewords for constant weight codes.
Proof:
The proof is the generalization of that of Theorem 5. Two parity check sequences that have Hamming correlation less than have no doubly counted decodable erasure patterns, because two parity check sequences cannot be simultaneously decoded regardless of their locations of erasure symbols for . For , the doubly counted decodable erasure patterns exist only when erasure symbols are located in and , respectively, where . Then, the number of cases is . The remaining part is similar to the proof of Theorem 5. ∎
V Conclusion
In this paper, TS-AGD algorithms for cyclic binary and cyclic MDS codes are proposed by modifying and expanding the parity check matrix. Modification criteria of the parity check matrix are proposed and the proposed TS-AGD algorithms are shown to be able to reduce the average number of iterations and the decoding complexity. The perfect codes, BCH codes, and MDS codes are considered for the proposed TS-AGD algorithms, where some of them achieve the perfect decoding. For the MDS codes, the modified decoding algorithm with expanded parity check matrix and submatrix inversion for perfect decoding is discussed. It is shown that some cyclic codes achieve the perfect decoding by the proposed TS-AGD with the expanded parity check matrix and submatrix inversion.
Appendix A : Proof of Maximization of the Upper Bounds in (3) and (4)
The objective functions to be minimized are as follows:
For , the objective function is . 2. 2.
For , the objective function is
[TABLE]
It is easy to check that the following constraints are used for optimization:
- (i)
. 2. (ii)
For any , . 3. (iii)
\text{For any \tau},a(\tau,\tau)=n-|S_{p}|. 4. (iv)
.
Let be a function defined by
[TABLE]
where and are real numbers. In fact, we have that for . It is easy to check that is a convex function. First, the objective function for is convex because .
At this point, we will prove that the objective function for is convex for and because if or , most of the received codewords can successfully be decoded by the proposed TS-AGD. Clearly, the convexity of (11) can be proved by the convexity of summands. Then, the summand of (11) can be rewritten as
[TABLE]
Using for , (12) can be modified as
[TABLE]
The convexity of (13) can be proved by its second derivative. Let
[TABLE]
Then, (13) can be expressed as the product of and . Then the convexity of (13) can be proved by deriving the following inequality
[TABLE]
It is not difficult to derive the -derivative of in terms of as
[TABLE]
Using the geometric-harmonic mean inequality
[TABLE]
with and , we have
[TABLE]
[TABLE]
In general, is the summation of polynomials factored into polynomials of degree one. Using (14) and (15), (13) can be modified as
[TABLE]
Using (16), we have
[TABLE]
Let . Then, it is enough to show that
[TABLE]
It is easy to check that is an increasing function for and and a decreasing function for . Then, left hand side of (17) can be rewritten as
[TABLE]
At this stage, it is necessary to prove that and that its discriminant is negative in terms of . It is easy to check that is linear in terms of with a negative slope. Thus, has its minimum value at the maximum value of . If , we have
[TABLE]
Let . Then for sufficiently large values of and , (18) can be written as
[TABLE]
Clearly, (19) is positive for a sufficiently large . Thus, we have . Next, the discriminant is written as
[TABLE]
It can also be reduced with sufficiently large values of and , whose simplified inequality is given as
[TABLE]
For , it is easy to derive for a large value of . Fig. 17 shows the upper bound of convexity region by (20) and (21), which shows that the two bounds become identical as becomes larger. Thus we prove the convexity of (13) for the proposed convexity region.
Using the solution of the optimization program cvx for (13), its minimum value occurs at
[TABLE]
which means that the out-of-phase autocorrelation values of are constant.
Acknowledgment
The authors would like to thank…
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] A. G. Dimakis, P. B. Godfrey, Y. Wu, M. Wainwright, and K. Ramchandran, “Network coding for distributed storage systems,” IEEE Trans. Inf. Theory , vol. 56, no. 9, pp. 4539-4551, Sep. 2010.
- 2[2] D. S. Papailiopoulos and A. G. Dimakis, “Locally repairable codes,” Proc. IEEE Int. Symp. Inf. Theory (ISIT) , pp. 2771-2775, Jul. 2012.
- 3[3] I. S. Reed, “A class of multiple-error-correcting codes and the decoding scheme,” IRE Trans. Inform. Theory , vol. IT-4, pp. 38-49, Sep. 1954.
- 4[4] F. J. Mac Williams, “Permutation decoding of systematic codes,” Bell Syst. Tech. J., vol. 43, pp. 485-505, 1964.
- 5[5] J. Bellorado and A. Kavcic, “Low-complexity soft-decoding algorithms for Reed-Solomon codes Part I: An algebraic soft-in hard-out Chase decoder,” IEEE Trans. Inf. Theory , vol. 56, no. 3, pp. 945-959, Mar. 2010.
- 6[6] J. Bellorado, A. Kavcic, M. Marrow, and L. Ping, “Low-complexity soft-decoding algorithms for Reed-Solomon codes Part II: Soft-input soft-output iterative decoding,” IEEE Trans. Inf. Theory, vol. 56, no. 3, pp. 960-967, Mar. 2010.
- 7[7] H. D. L. Hollmann and L. M. G. M. Tolhuizen, “On parity-check collections for iterative erasure decoding that correct all correctable erasure patterns of a given size,” IEEE Trans. Inf. Theory, vol. 53, no. 2, pp. 823-828, Jan. 2007.
- 8[8] T. Hehn, O. Milenkovic, S. Laendner, and J. Huber, “Permutation decoding and the stopping redundancy hierarchy of cyclic and extended cyclic codes,” IEEE Trans. Inf. Theory, vol. 54, no. 12, pp. 5308-5331, Dec. 2008.
