A New Chase-type Soft-decision Decoding Algorithm for Reed-Solomon Codes
aa r X i v : . [ c s . I T ] D ec A New Chase-type Soft-decision DecodingAlgorithm for Reed-Solomon Codes
Siyun Tang and Xiao Ma
Member, IEEE
Abstract
This paper addresses three relevant issues arising in designing Chase-type algorithms for Reed-Solomon codes: 1) how to choose the set of testing patterns; 2) given the set of testing patterns, whatis the optimal testing order in the sense that the most-likely codeword is expected to appear earlier;and 3) how to identify the most-likely codeword. A new Chase-type soft-decision decoding algorithm isproposed, referred to as tree-based Chase-type algorithm . The proposed tree-based Chase-type algorithmtakes the set of all vectors as the set of testing patterns, and hence definitely delivers the most-likelycodeword provided that the computational resources are allowed. All the testing patterns are arranged inan ordered rooted tree according to the likelihood bounds of the possibly generated codewords. Whileperforming the algorithm, the ordered rooted tree is constructed progressively by adding at most twoleafs at each trial. The ordered tree naturally induces a sufficient condition for the most-likely codeword.That is, whenever the tree-based Chase-type algorithm exits before a preset maximum number of trials isreached, the output codeword must be the most-likely one. When the tree-based Chase-type algorithmis combined with Guruswami-Sudan (GS) algorithm, each trial can be implement in an extremelysimple way by removing from the gradually updated Gr¨obner basis one old point and interpolating onenew point. Simulation results show that the tree-based Chase-type algorithm performs better than therecently proposed Chase-type algorithm by Bellorado et al with less trials (on average) given that themaximum number of trials is the same. Also proposed are simulation-based performance bounds on themaximum-likelihood decoding (MLD) algorithm, which are utilized to illustrate the near-optimality ofthe tree-based Chase-type algorithm in the high signal-to-noise ratio (SNR) region. In addition, the tree-based Chase-type algorithm admits decoding with a likelihood threshold, that searches the most-likelycodeword within an Euclidean sphere rather than a Hamming sphere.
This work is supported by the 973 Program (No.2012CB316100) and the NSF (No.61172082) of China.The authors are with the Department of Electronics and Communication Engineering, Sun Yat-sen University, Guangzhou510006, China (Emails: [email protected], [email protected]).
Index Terms
Chase-type algorithm, flipping patterns, Guruswami-Sudan algorithm, hard-decision deocoding,Reed-Solomon codes, soft-decision decoding, testing patterns.
I. I
NTRODUCTION
Reed-Solomon (RS) codes are an important class of algebraic codes, which have been widelyused in many practical systems, including space and satellite communications, data storage,digital audio/video transmission and file transfer [1]. The widespread use of RS codes is pri-marily due to their large error-correction capability, a consequence of their maximum distanceseparable (MDS) property. Investigating the decoding algorithms for RS codes is important bothin practice and in theory. The traditional hard-decision decoding (HDD) algorithms, such asBerlekamp-Massey (BM) [2], Welch-Berlekamp (WB) [3] and Euclidean [4] algorithms, areefficient to find the unique codeword (if exists) within a Hamming sphere of radius less than thehalf minimum Hamming distance. Hence, their error-correction capability is limited by the halfminimum Hamming distance bound. In contrast, Guruswami-Sudan (GS) algorithm [5] [6] canenlarge the decoding radius and may output a list of candidate codewords. Hence, GS algorithmcan correct errors beyond the half minimum Hamming distance bound. To further improve theperformance, one needs turn to the soft-decision decoding (SDD) algorithms.The soft-decision decoding (SDD) algorithms can be roughly distinguished into two classes.One is the algebraic soft-decision decoding algorithm as proposed by Koetter and Vardy [7].The Koetter-Vardy (KV) algorithm transforms the soft information into the multiplicity matrixthat is then taken as input to the GS algorithm. The KV algorithm outperforms the GS algorithmbut suffers from high complexity. To reduce the complexity, a progressive list-enlarged algebraicsoft decoding algorithm has been proposed in [8][9]. The other class of SDD algorithms arebased on multiple trials, where some known decoding algorithm is implemented for each trial.The first algorithm of this type could be the so-called generalized minimum distance (GMD)decoding algorithm [10], which repeatedly implements an erasure-and-error decoding algorithmwhile successively erasing an even number of the least reliable positions (LRPs). The GMDdecoding algorithms can be enhanced as presented in [11][12]. In [13], three other soft-decisiondecoding algorithms were presented, now referred to as Chase-1, Chase-2, and Chase-3, asdistinguished from the set of testing patterns. At each trial, the Chase algorithm implements the traditional HDD for each testing pattern from a pre-determined set. To improve the performance,one can either enlarge the set of testing patterns (say the Chase-GMD decoding algorithm [14])or implement a more powerful decoding algorithm (say the Chase-KV decoding algorithm [15])for each trial. Other soft-decision decoding algorithms based on multiple trials can be foundin [16] and [17]. In [16], re-encoding is performed for each trial, where the generator matrix isadapted based on most reliable positions (MRPs) specified by the ordered statistics. In [17] [18],a decoding algorithm combined with belief propagation is performed for each trial, where theparity-check matrix is iteratively adapted based on the LRPs.In this paper, we focus on the Chase-type decoding algorithm. Let C q [ n, k ] be an RS codeover the finite field of size q with length n , dimension k , and the minimum Hamming distance d min = n − k + 1 , Generally, a Chase-type soft-decision decoding algorithm has three ingredients:1) a set of flipping patterns F ∆ = { f (0) , · · · , f ( L − } where f ( ℓ ) is a vector of length n , 2) a hard-decision decoder (HDD), and 3) a stopping criterion. Given these three ingredients, a Chase-type decoding algorithm works as follows. For each ℓ ≥ , the Chase-type algorithm makesa trial by decoding z − f ( ℓ ) with the HDD. If the HDD is successful, the output is referred toas a candidate codeword. Once some candidate is found to satisfy the stopping criterion, thealgorithm terminates. Otherwise, the algorithm chooses as output the most likely candidate afterall flipping patterns in F are tested.The commonly-used F is constructed combinatorially. For example, the Chase-2 algorithm [13],which was originally proposed for binary codes, finds the t min ∆ = ⌊ ( d min − / ⌋ LRPs and thenconstructs t min flipping patterns. Obviously, the straightforward generalization of Chase-2 frombinary to nonbinary incurs high complexity especially for large q and d min . To circumvent this,the low-complexity Chase (LCC) decoding algorithm [19] for RS codes constructs η flippingpatterns by first finding η LRPs and then restricts only two most likely symbols at each LRP.For the HDD algorithm required in the Chase-type algorithm, one usually chooses the traditionalHDD algorithm. In contrast, the LCC algorithm implements the GS decoding algorithm (withmultiplicity one) for each trial. This algorithm has a clear advantage when two flipping patternsdiverge in only one coordinate, in which case backward interpolation architecture [20] can beemployed to further reduce the decoding complexity. For the stopping criterion, some authors usethe genie-aided rule [17], which terminates the algorithm whenever the transmitted codeword isfound. This criterion is impractical but meaningful to accelerate the simulation and to provide a lower bound on the decoding error probability. In [21], the authors provide a sufficient conditionfor optimality, which can be used to terminate the Chase-type algorithm before all flippingpatterns are tested.The main objective of this paper is to address the following three relevant issues: 1) howto choose the set of flipping patterns; 2) given the set of flipping patterns, what is the optimaltesting order in the sense that the most-likely codeword is expected to appear earlier; and 3) howto identify the most-likely codeword.We propose to arrange all possible flipping patterns into an ordered rooted tree, which isconstructed progressively by adding at most two leafs at each trial. The ordered tree naturallyinduces a sufficient condition for the most-likely codeword. That is, whenever the tree-basedChase-type algorithm exits before a preset maximum number of trials is reached, the outputcodeword must be the most-likely one. In addition, when the new algorithm is combined withthe GS algorithm, each trial can be implement in an extremely simple way by removing fromthe gradually updated Gr¨obner basis one old point and interpolating one new point. Simulationresults show that the proposed algorithm performs better than the LCC algorithm [19] with lesstrials (on average) given that the maximum number of trials is the same. To illustrate the near-optimality of the proposed algorithm in the high signal-to-noise ratio (SNR) region, we alsopropose a method to simulate performance bounds on the maximum-likelihood decoding (MLD)algorithm. Moreover, the proposed algorithm admits decoding with a likelihood threshold, thatsearches the most-likely codeword within an Euclidean sphere rather than a Hamming sphere.The rest of this paper is organized as follows. Sec. II defines the ordered rooted tree of flippingpatterns and provides a general framework of the tree-based Chase-type algorithm. In Sec. III,the tree-based Chase-type algorithm is combined with the GS algorithm. Numerical results andfurther discussion are presented in Sec. IV. Sec. V concludes this paper.II. T
ESTING O RDER OF F LIPPING P ATTERNS
A. Basics of RS Codes
Let F q ∆ = { α , α , · · · , α q − } be the finite field of size q . A codeword of the RS code C q [ n, k ] can be obtained by evaluating a polynomial of degree less than k over n distinct points, denotedby L ∆ = { β , β , · · · , β n − } ⊆ F q . To be precise, the codeword corresponding to a message polynomial u ( x ) = u + u x + · · · + u k − x k − is given by c = ( c , c , · · · , c n − ) = ( u ( β ) , u ( β ) , · · · , u ( β n − )) . Assume that the codeword c is transmitted through a memoryless channel, resulting in a receivedvector r = ( r , r , · · · , r n − ) . The corresponding hard-decision vector is denoted by z = ( z , z , · · · , z n − ) , where z j ∆ = arg max α ∈ F q Pr( r j | α ) , ≤ j ≤ n − . Here, we are primarily concerned with additivewhite Gaussian noise (AWGN) channels. In this scenario, a codeword is modulated into a realsignal before transmission and the channel transition probability function Pr( r j | α ) is replacedby the conditional probability density function.The error pattern is defined by e ∆ = z − c . A conventional hard-decision decoder (HDD) canbe implemented to find the transmitted codeword whenever the Hamming weight W H ( e ) is lessthan or equal to t min ∆ = ⌊ ( n − k ) / ⌋ . The HDD is simple, but it usually causes performancedegradation. In particular, it even fails to output a valid codeword if z lies at Hamming distancegreater than t min from any codeword. An optimal decoding algorithm (to minimize the worderror probability when every codewords are transmitted equal-likely) is the maximum likelihooddecoding (MLD) algorithm, which delivers as output the codeword c that maximizes the log-likelihood metric P n − j =0 log Pr( r j | c j ) . The MLD algorithm is able to decode beyond t min errors,however, it is computationally infeasible in general [22]. A Chase-type soft-decision decodingalgorithm trades off between the HDD and the MLD by performing the HDD successively on aset of flipping patterns. B. Minimal Decomposition of Hypothesized Error PatternsDefinition 1:
Let z be the hard-decision vector. A hypothesized error pattern e is defined asa vector such that z − e is a valid codeword. (cid:3) Notice that z itself is a hypothesized error pattern since z − z is the all-zero codeword.To each component e j = z j − c j of the hypothesized error pattern, we assign a soft weight λ j ( e j ) ∆ = log Pr( r j | z j ) − log Pr( r j | c j ) . The soft weight of a hypothesized error pattern e isdefined as λ ( e ) = P n − j =0 λ j ( e j ) = P j : e j =0 λ j ( e j ) . The MLD algorithm can be equivalentlydescribed as finding one lightest hypothesized error pattern e ∗ that minimizes λ ( e ) .Since the soft weight of a hypothesized error pattern e is completely determined by its nonzerocomponents, we may simply list all its non-zero components. For clarity, a nonzero component e j of e is denoted by ( j, δ ) meaning that an error of value δ occurs at the j -th coordinate, i.e., e j = δ . For convenience, we call ( j, δ ) with δ = 0 an atom . In the following, we will define atotal order over the set of all n ( q − atoms. For the purpose of tie-breaking, we define simplya total order over the field F q as α < α < · · · < α q − . Definition 2:
We say that ( j, δ ) ≺ ( j ′ , δ ′ ) if and only if λ j ( δ ) < λ j ′ ( δ ′ ) or λ j ( δ ) = λ j ′ ( δ ′ ) and j < j ′ or λ j ( δ ) = λ j ′ ( δ ′ ) , j = j ′ and δ < δ ′ .With this definition, we can arrange all the n ( q − atoms into a chain (denoted by A andreferred to as atom chain ) according to the increasing order. That is, A ∆ = [( j , δ ) ≺ ( j , δ ) ≺ ( j , δ ) ≺ · · · ≺ ( j n ( q − , δ n ( q − )] . (1)The rank of an atom ( j, δ ) , denoted by Rank ( j, δ ) , is defined as its position in the atom chain A . Definition 3:
Let f be a nonzero vector. Its support set is defined as S ( f ) ∆ = { j : f j = 0 } ,whose cardinality |S ( f ) | is the Hamming weight W H ( f ) of f . Its lower rank and upper rank aredefined as R ℓ ( f ) ∆ = min f j =0 Rank ( j, f j ) and R u ( f ) ∆ = max f j =0 Rank ( j, f j ) , respectively. (cid:3) We assume that R ℓ ( ) = + ∞ and R u ( ) = −∞ . Proposition 1:
Any nonzero vector f can be represented in a unique way by listing all itsnonzero components as f ∆ = [( i , γ ) ≺ ( i , γ ) ≺ · · · ≺ ( i t , γ t )] , (2)where t = W H ( f ) , R ℓ ( f ) = Rank ( i , γ ) and R u ( f ) = Rank ( i t , γ t ) . Proof:
It is obvious and omitted here.Proposition 1 states that any nonzero vector can be viewed as a sub-chain of A . In contrast,any sub-chain of A specifies a nonzero vector only when all atoms in the sub-chain have distinctcoordinates. Proposition 2:
Any nonzero vector e with W H ( e ) ≥ t min can be uniquely decomposed as e = f + g satisfying that |S ( g ) | = t min , S ( f ) ∩ S ( g ) = ∅ and R u ( f ) < R ℓ ( g ) . Proof:
From Proposition 1, we have e = [( i , γ ) ≺ · · · ≺ ( i t , γ t )] where t = W H ( e ) .Then this proposition can be verified by defining f = [( i , γ ) ≺ · · · ≺ ( i t − t min , γ t − t min )] and g = [( i t − t min +1 , γ t − t min +1 ) ≺ · · · ≺ ( i t , γ t )] .For a vector f , define G ( f ) = { g : |S ( g ) | = t min , S ( f ) ∩ S ( g ) = ∅ , R u ( f ) < R ℓ ( g ) } . FromProposition 2, any hypothesized error pattern e with W H ( e ) ≥ t min can be decomposed as e = f + g in a unique way such that g ∈ G ( f ) . This decomposition is referred to as the minimaldecomposition , where f is referred to as the minimal flipping pattern associated with e . In thecase when a hypothesized error pattern e exists with W H ( e ) < t min , we define as the minimalflipping pattern associated with e .For every f ∈ F nq , when taking z − f as an input vector, the HDD either reports a decodingfailure or outputs a unique codeword c . In the latter case, we say that the flipping pattern f generates the hypothesized error pattern e = z − c . Proposition 3:
Any hypothesized error pattern can be generated by its associated minimalflipping pattern.
Proof:
It is obvious.From Proposition 3, in principle, we only need to decode all vectors z − f with the minimalflipping patterns f . Unfortunately, we do not know which flipping patterns are minimal beforeperforming the HDD. Even worse, we do not know whether or not a vector f can generate ahypothesized error pattern before performing the HDD. However, we have the following theorem,which provides a lower bound on the soft weight of the generated error pattern whenever f is aminimal flipping pattern. Theorem 1:
Let f be a nonzero vector that is the minimal flipping pattern to generate ahypothesized error pattern e . Then λ ( e ) ≥ λ ( f ) + min g ∈G ( f ) λ ( g ) . Proof:
For W H ( e ) > t min , from Proposition 2, we have the minimal decomposition e = f + g , g ∈ G ( f ) . Hence, λ ( e ) = λ ( f ) + λ ( g ) ≥ λ ( f ) + min g ∈G ( f ) λ ( g ) .More importantly, the lower bound given in Theorem 1 is computable for any nonzero vector f without performing the HDD since min g ∈G ( f ) λ ( g ) can be calculated using the following greedy This terminology comes from the fact as shown in Appendix A. algorithm with the help of the atom chain A . Algorithm Greedy Algorithm for Computing min g ∈G ( f ) λ ( g ) . • Input:
A nonzero vector f . • Initialization:
Set g = , λ ( g ) = 0 , W H ( g ) = 0 and i = R u ( f ) + 1 . • Iterations:
While W H ( g ) < t min and i ≤ n ( q − , do1) if j i / ∈ S ( f + g ) , let λ ( g ) ← λ ( g ) + λ j i ( δ i ) , g ← g + ( j i , δ i ) and W H ( g ) ← W H ( g ) + 1 .2) i ← i + 1 . • Output: If W H ( g ) = t min , output min g ∈G ( f ) λ ( g ) = λ ( g ) . Otherwise, we must have G ( f ) = ∅ ;in this case, output min g ∈G ( f ) λ ( g ) = + ∞ .The correctness of the above greedy algorithm can be argued as follows. Let g ∗ be the sub-chain of A found when the algorithm terminates. This sub-chain must be a vector since no twoatoms contained in g ∗ can have the same coordinate for that each atom ( j i , δ i ) is added only when j i / ∈ S ( f + g ) . We only need to consider the case when G ( f ) = ∅ , which is equivalent to sayingthat all atoms with rank greater than R u ( f ) occupy at least t min coordinates. In this case, wemust have W H ( g ∗ ) = t min . We then have g ∗ ∈ G ( f ) since S ( f ) ∩ S ( g ∗ ) = ∅ and R u ( f ) < R ℓ ( g ∗ ) for that i begins with R u ( f ) + 1 and each atom ( j i , δ i ) is added only when j i / ∈ S ( f + g ) . Theminimality of λ ( g ∗ ) can be proved by induction on the iterations. C. Tree of Flipping Patterns
All flipping patterns are arranged in an ordered rooted tree, denoted by T , as described below.T1. The root of the tree is f = , which is located at the 0-th level. For i ≥ , the i -th level ofthe tree consists of all nonzero vectors with Hamming weight i .T2. A vertex f at the i -th level takes as children all vectors from { f +( j, δ ) : ( j, δ ) ∈ A , Rank ( j, δ ) >R u ( f ) , j / ∈ S ( f ) } , which are arranged at the ( i + 1) -th level from left to right with increasingupper ranks. The root has n ( q − children. A nonzero vertex f has at most n ( q − − R u ( f ) children.For each vertex f in T , define B ( f ) ∆ = λ ( f ) + min g ∈G ( f ) λ ( g ) , if G ( f ) = ∅ ;+ ∞ , otherwise . (3) Theorem 2:
Let f be a vertex. If exist, let f ↑ be its parent, f ↓ be one of its children and f → be one of its right-siblings. We have B ( f ) ≤ B ( f ↓ ) and B ( f ) ≤ B ( f → ) . Proof:
We have λ ( f ↓ ) > λ ( f ) since f ↓ has one more atom than f . We also have min g ∈G ( f ↓ ) λ ( g ) ≥ min g ∈G ( f ) λ ( g ) since G ( f ↓ ) ⊆ G ( f ) . Therefore, B ( f ↑ ) ≤ B ( f ) ≤ B ( f ↓ ) .For a nonzero vertex f , we have f = f ↑ + ( j, δ ) and f → = f ↑ + ( j ′ , δ ′ ) where Rank ( j, δ ) A subtree T ′ is said to be sufficient for the MLD algorithm if the lightesthypothesized error pattern can be generated by some vertex in T ′ .By this definition, we can see that T is itself sufficient. We can also see that removing allvertexes with Hamming weight greater than n − t min does not affect the sufficiency. Generally,we have Theorem 3: Let e ∗ be an available hypothesized error pattern and f be a nonzero vertex suchthat B ( f ) ≥ λ ( e ∗ ) . Then removing the subtree rooted from f does not affect the sufficiency. Proof: If exists, let e be a hypothesized error pattern such that λ ( e ) < λ ( e ∗ ) . It suffices toprove that e can be generated by some vertex in the remaining subtree. Let h be the minimalflipping pattern associated with e . From Theorem 1, we have B ( h ) ≤ λ ( e ) < λ ( e ∗ ) ≤ B ( f ) . FromTheorem 2, h is not contained in the subtree rooted from f and hence has not been removed.A total order of all flipping patterns is defined as follows. Definition 5: We say that f ≺ h if and only if B ( f ) < B ( h ) or B ( f ) = B ( h ) and W H ( f ) Find the hard-decision vector z ; calculate the soft weights of n ( q − atoms;construct the atom chain A . Suppose that we have a linked list F = f (0) ≺ f (1) ≺ f (2) ≺ · · · ,which is of size at most L and maintained in order during the iterations. • Initialization: F = ; ℓ = 0 ; e ∗ = z . • Iterations: While ℓ < L , do the following.1) If λ ( e ∗ ) ≤ B ( f ( ℓ ) ) , output e ∗ and exit the algorithm;2) Perform the HDD by taking z − f ( ℓ ) as input;3) In the case when the HDD outputs a hypothesized error pattern e such that λ ( e ) <λ ( e ∗ ) , set e ∗ = e ;4) Update the linked list F by inserting (if exist) the left-most child and the followingright-sibling of f ( ℓ ) and removing f ( ℓ ) ;5) Increment ℓ by one. Remarks. • The vector e ∗ can be initialized by any hypothesized error pattern (say obtained by there-encoding approach) other than z . Or, we may leave e ∗ uninitialized and set λ ( e ∗ ) = + ∞ initially. • Note that, in each iteration of Algorithm 2, one flipping pattern is removed from F and atmost two flipping patterns are inserted into F . Also note that the size of F can be kept asless than or equal to L − ℓ by removing extra tailed flipping patterns. Hence maintainingthe linked list F requires computational complexity of order at most O ( L log L ) . If thealgorithm exits within L iterations, the founded hypothesized error pattern must be thelightest one. During the iterations, Lemma 1 in [21] for q -ary RS codes (see the correctedform in [23]) can also be used to identify the lightest error pattern. The lemma is rephrased as follows. Theorem 4: If an error pattern e ∗ satisfies λ ( e ∗ ) ≤ B ( e ∗ ) ∆ = min e ∈E ( e ∗ ) λ ( e ) , (5)where E ( e ∗ ) = { e : S ( e ∗ ) ∩ S ( e ) = ∅ , |S ( e ) | = d min − W H ( e ∗ ) } . Then there exists no errorpattern which is lighter than e ∗ . Proof: Let e be a hypothesized error pattern. Since any two hypothesized error patternsmust have Hamming distance at least d min , we have λ ( e ) = P j ∈S ( e ∗ ) λ ( e j ) + P j / ∈S ( e ∗ ) λ ( e j ) ≥ P j / ∈S ( e ∗ ) λ ( e j ) ≥ min e ∈E ( e ∗ ) λ ( e ) .Note that the bound B ( e ∗ ) can be calculated by a greedy algorithm similar to Algorithm 1.III. T HE T REE - BASED C HASE - TYPE GS A LGORITHM From the framework of the tree-based Chase-type algorithm, we see that the flipping patternat the ℓ -th trial diverges from its parent (which has been tested at the i -th trial for some i < ℓ )in one coordinate. This property admits a low-complexity decoding algorithm if GS algorithmis implemented with multiplicity one and initialized Gr¨obner basis { , y } . Let deg y ( Q ) be the y -degree of Q and deg ,k − ( Q ) be the (1 , k − -weighted degree of Q . Proposition 4: Let f be a flipping pattern and Q ( f ) ∆ = { Q (0) ( x, y ) , Q (1) ( x, y ) } be the Gr¨obnerbasis for the F q [ x ] -module { Q ( x, y ) : Q ( β i , z i − f i ) = 0 , ≤ i ≤ n − , deg y ( Q ) ≤ } . Then Q ( f ) can be found from Q ( f ↑ ) by backward interpolation and forward interpolation. Proof: Denote the two polynomials in the Gr¨obner basis Q ( f ↑ ) by Q ( l ) ( x, y ) = q ( l )0 ( x ) + q ( l )1 ( x ) y, l ∈ { , } . Let the right-most atom of f is ( j, δ ) which is the only atom contained in f but not in f ↑ . We need to update Q ( f ↑ ) by removing the point ( β j , z j ) and interpolating thepoint ( β j , z j − δ ) . This can be done according to the following steps, as shown in [20]. • Use backward interpolation to eliminate the point ( β j , z j ) of Q ( f ↑ ) :1) Compute q ( l )1 ( β j ) for l = 0 , ; let µ = arg min l { deg ,k − ( Q ( l ) ) : q ( l )1 ( β j ) = 0) } ; let ν = 1 − µ ;2) If q ( ν )1 ( β j ) = 0 , then Q ( ν ) ( x, y ) ← q ( µ )1 ( β j ) Q ( ν ) ( x, y ) − q ( ν )1 ( β j ) Q ( µ ) ( x, y ) ;3) Q ( ν ) ( x, y ) ← Q ( ν ) ( x, y ) / ( x − β j ) and Q ( µ ) ( x, y ) ← Q ( µ ) ( x, y ) ; • Use forward interpolation (K¨otter’s algorithm) to add the point ( β j , z j − δ ) : 1) Compute Q ( l ) ( β j , z j − δ )( l = 0 , ; let µ = arg min l (deg ,k − ( Q ( l ) ) : Q ( l ) ( β j , z j − δ ) =0) ; let ν = 1 − µ ;2) Q ( ν ) ( x, y ) ← Q ( µ ) ( β j , z j − δ ) Q ( ν ) ( x, y ) − Q ( ν ) ( β j , z j − δ ) Q ( µ ) ( x, y ) ;3) Q ( µ ) ( x, y ) ← Q ( µ ) ( x, y )( x − β j ) .To summarize, from Q ( f ↑ ) , we can obtain Q ( f ) = { Q ( µ ) ( x, y ) , Q ( ν ) ( x, y ) } efficiently.The main result of this section is the following tree-based Chase-type GS decoding algorithmfor RS codes. Algorithm Tree-based Chase-type GS Decoding Algorithm for RS Codes • Preprocessing: Upon on receiving the vector r , find the hard hard-decision vector z ;compute the soft weights of all atoms; construct the atom chain A . • Initialization: F = ; ℓ = 0 ; e ∗ = z ; u ∗ ( x ) = 0 ;2) Input z to the GS algorithm with multiplicity one and initialized Gr¨obner basis { , y } ,resulting in Q ( ) ;3) Factorize the minimal polynomial in Q ( ) . If a message polynomial u ( x ) is found,find e = z − c , where c is the codeword corresponding to u ( x ) ; if λ ( e ) < λ ( e ∗ ) , set e ∗ = e and u ∗ ( x ) = u ( x ) ; if, additionally, λ ( e ) ≤ B ( e ) , output u ( x ) and exit thealgorithm;4) Insert ↓ (the left-most child of f ) into F and remove from F ; set Q ( ↓ ) = Q ( ) ;5) Set ℓ = 1 . • Iterations: While ℓ < L , do the following.1) Set f = f ( ℓ ) ; if λ ( e ∗ ) ≤ B ( f ) , output u ∗ ( x ) and exit the algorithm;2) Let ( j, δ ) be the right-most atom of f . Update Q ( f ) by removing the point ( β j , z j ) andinterpolating the point ( β j , z j − δ ) ;3) Factorize the minimal polynomial in Q ( f ) . If a message polynomial u ( x ) is found,find e = z − c , where c is the codeword corresponding to u ( x ) ; if λ ( e ) < λ ( e ∗ ) , set e ∗ = e and u ∗ ( x ) = u ( x ) ; if, additionally, λ ( e ) ≤ B ( e ) , output u ( x ) and exit thealgorithm;4) Insert (if exist) f ↓ (the left-most child of f ) and f → (the following right-sibling of f )into F ; set Q ( f ↓ ) = Q ( f ) and Q ( f → ) = Q ( f ↑ ) ; remove f ( ℓ ) from the linked list F ; 5) Increment ℓ by one. Remark. It is worth pointing out that the factorization step in Algorithm 3 can be implementedin a simple way as shown in [24]. Let q ( x ) + q ( x ) y be the polynomial to be factorized. If q ( x ) divides q ( x ) , set u ( x ) = − q ( x ) /q ( x ) . If deg( u ( x )) < k , u ( x ) is a valid message polynomial.To illustrate clearly the construction of the tree T as well as the tree-based Chase-type GSdecoding algorithm, we give below an example. Example 1: Consider the RS code C [4 , over F = { , , , , } with t min = 1 . Let the mes-sage polynomial u ( x ) = 1+2 x and L = { , , , } . Then the codeword c = ( u (0) , u (1) , u (2) , u (3)) =(1 , , , . Let r be the received vector from a memoryless channel that specifies the followinglog-likelihood matrix Π = [ π i,j ] = − . − . − . − . − . − . − . − . − . − . − . − . − . − . − . − . − . − . − . − . , where π i,j = log Pr( r j | i ) for ≤ i ≤ and ≤ j ≤ .The tree-based Chase-type GS decoding algorithm with L = 16 is performed as follows. Preprocessing: Given the log-likelihood matrix Π , find the hard-decision vector z = (1 , , , .Find the soft weights of all atoms, which can be arranged as Λ = [ λ i,j ] = . 24 0 . 94 2 . 02 0 . . 25 0 . 22 0 . 15 0 . . 12 0 . 09 0 . 59 0 . . 56 0 . 46 1 . 42 0 . , where λ i,j = λ j ( i ) = log Pr( r j | z j ) − log Pr( r j | z j − i ) is the soft weight of atom ( j, i ) for ≤ i ≤ and ≤ j ≤ . Given Λ , all the atoms can be arranged into the atom chain A = [(3 , ≺ (1 , ≺ (3 , ≺ (2 , ≺ (1 , ≺ (0 , ≺ (3 , ≺ (1 , ≺ (2 , ≺ (3 , ≺ (1 , ≺ (0 , ≺ (0 , ≺ (2 , ≺ (0 , ≺ (2 , . Initialization: F = ; ℓ = 0 ; e ∗ = z = (1 , , , ; λ ( e ∗ ) = 1 . ; u ∗ ( x ) = 0 ;2) input z = (1 , , , to the GS decoder and obtain Q ( ) = { x + x + 3 x + (1 +3 x ) y, x + 2 x + (4 + x ) y } ;3) factorize x + 2 x + (4 + x ) y ; since x + 2 x is divisible by x , find a valid (3,2) (1) (4) f (2) +(3,3)(2,2) (2) f (2) f (3) f (3) +(2,2) (5) (1) f (2) f (3) (0,2) f (6) f (10) f (4) f (5) (1) (1,3)(2) (1) (3,3)(3) f (1) f (8) f (8) +(0,2) f (9) +(1,2) f (1) +(1,3) f (1) +(1,3) f (1) +(1,3) f (2) +(3,3) …… f (4) +(2,2) f (7) f (5) +(2,2) f (3) +(1,2) f (6) +(1,2) f (1) +(1,2) f (9) f (7) +(1,2) Fig. 1. An example of constructing progressively the tree of flipping patterns. message polynomial u ( x ) = 1 + 3 x , which generates the codeword c = (1 , , , ; obtain e = z − c = (0 , , , and λ ( e ) = 0 . ; since λ ( e ) < λ ( e ∗ ) , we set e ∗ = (0 , , , and u ∗ ( x ) = u ( x ) ; since λ ( e ) > B ( e ) (= 0 . , the algorithm continues;4) insert (3 , (the left-most child of ) into F as shown in Fig. 1-(1) and remove from F ; set Q ( ↓ ) = Q ( ) ; at this step, the linked list F = ≺ |{z} removed f (1) with f (1) = (3 , ;5) set ℓ = 1 ; Iterations: While ℓ < , doWhen ℓ = 1 ,1) set f = f (1) = (3 , ; since λ ( e ∗ ) = 0 . > B ( f ) = 0 . , the algorithm continues;2) since the right-most atom of f is (3 , , update Q ( f ) by removing (3 , and interpolating (3 , and obtain Q ( f ) = { x + x + 3 x + (1 + 3 x ) y, x + 2 x + (1 + 2 x ) y } ;3) factorize x + 2 x + (1 + 2 x ) y ; since x + 2 x is divisible by x , find a validmessage polynomial u ( x ) = 1 + 4 x , which generates the codeword c = (1 , , , ; obtain e = z − c = (0 , , , and compute λ ( e ) = 0 . ; since λ ( e ) < λ ( e ∗ )(= 0 . , we set e ∗ = (0 , , , and u ∗ ( x ) = u ( x ) ; since λ ( e ) > B ( e ) (= 0 . , the algorithm continues;4) insert f ↓ = f + (1 , and f → = (1 , into F as shown in Fig. 1-(2); set Q ( f ↓ ) = Q ( f ) and Q ( f → ) = Q ( ) ; remove f (1) from the linked list F ; at this step, the linked list F = ≺ f (1) ≺ | {z } removed f (2) ≺ f (1) + (1 , , where f (2) = (1 , ;5) set ℓ = 2 .When ℓ = 2 ,1) set f = f (2) = (1 , ; since λ ( e ∗ ) = 0 . > B ( f ) = 0 . , the algorithm continues;2) since the right-most atom of f is (1 , , update Q ( f ) by removing (1 , and interpolating (1 , and obtain Q ( f ) = { x + 4 x + 4 xy, x + 2 x + (4 + x ) y } ;3) factorize x + 2 x + (4 + x ) y ; since x + 2 x is divisible by x , find a validmessage polynomial u ( x ) = 1 + 3 x , which generates the codeword c = (1 , , , ; obtain e = z − c = (0 , , , and λ ( e ) = 0 . ; since λ ( e ) ≥ λ ( e ∗ ) (= 0 . , updating e ∗ and u ∗ ( x ) are not required;4) insert f ↓ = f + (3 , and f → = (3 , into F as shown in Fig. 1-(3); set Q ( f ↓ ) = Q ( f ) and Q ( f → ) = Q ( ) ; remove f (2) from the linked list F ; at this step, the linked list F = ≺ f (1) ≺ f (2) ≺ | {z } removed f (3) ≺ f (1) + (1 , ≺ f (2) + (3 , , where f (3) = (3 , ;5) set ℓ = 3 .When ℓ = 3 ,1) set f = f (3) = (3 , ; since λ ( e ∗ ) = 0 . > B ( f ) = 0 . , the algorithm continues;2) since the right-most atom of f is (3 , , update Q ( f ) by removing (3 , and interpolating (3 , and obtain Q ( f ) = { x + 3 y, x + 2 x + (3 + x + x ) y } ;3) factorize x + 3 y ; no candidate codeword is found at this step;4) insert f ↓ = f + (2 , and f → = (2 , into F as shown in Fig. 1-(4); set Q ( f ↓ ) = Q ( f ) and Q ( f → ) = Q ( ) ; remove f (3) from the linked list F ; at this step, the linked list F = ≺ f (1) ≺ f (2) ≺ f (3) ≺ | {z } removed f (4) ≺ f (2) +(3 , ≺ (2 , ≺ f (3) +(2 , , where f (4) = f (1) +(1 , 3) =(3 , 2) + (1 , ;5) set ℓ = 4 ....When ℓ = 9 ,1) set f = f (9) = (3 , 3) + (2 , ; since λ ( e ∗ ) = 0 . < B ( f ) = 0 . , the algorithm continues;2) since the right-most atom of f is (2 , , update Q ( f ) by removing (2 , and interpolating (2 , and obtain Q ( f ) = { x + 3 x + 2 x + (2 + x ) y, x + x + (3 + 2 x ) y } ;3) factorize x + x + (3 + 2 x ) y ; since x + x is divisible by x , find a validmessage polynomial u ( x ) = 1 + 2 x , which generates the codeword c = (1 , , , ; obtain e = z − c = (0 , , , and λ ( e ) = 0 . ; since λ ( e ) < λ ( e ∗ )(= 0 . , set e ∗ = (0 , , , and u ∗ ( x ) = u ( x ) ; since λ ( e ) > B ( e ) (= 0) , the algorithm continues;4) insert f ↓ = f +(1 , and f → = (3 , , into F as shown in Fig. 1-(5); set Q ( f ↓ ) = Q ( f ) and Q ( f → ) = Q ( f ↑ ) with f ↑ = (3 , ; remove f (9) from the linked list F ; at this step, thelinked list F = ≺ f (1) ≺ · · · ≺ f (9) ≺ | {z } removed f (10) ≺ f (1) + (1 , ≺ · · · ≺ f (8) + (0 , , where f (10) = f (2) + (2 , 2) = (1 , 3) + (2 , ;5) update ℓ = 10 .When ℓ = 10 ,1) set f = f (10) = (1 , 3) + (2 , ; since λ ( e ∗ ) = 0 . < B ( f ) = 0 . , output u ∗ ( x ) = 1 + 2 x and exit the algorithm. (cid:3) IV. N UMERICAL R ESULTS AND F URTHER D ISCUSSIONS In this section, we compare the proposed tree-based Chase-type GS (TCGS) decoding al-gorithm with the LCC decoding algorithm [19]. We take the LCC decoding algorithm as abenchmark since the TCGS algorithm is similar to the LCC algorithm with the exception ofthe set of flipping patterns and the testing orders. In all examples, messages are encoded byRS codes and then transmitted over additive white Gaussian noise (AWGN) channels withbinary phase shift keying (BPSK) modulation. The performance is measured by the frameerror rate (FER), while the complexity is measured in terms of the average testing numbers.For a fair and reasonable comparison, we assume that these two algorithms perform the samemaximum number of trials, that is, L = 2 η . The LCC decoding algorithm takes Theorem 4as the early stopping criterion, while the TCGS decoding algorithm takes both Theorem 3 andTheorem 4 as the early stopping criteria. Notice that Theorem 3 is one inherent feature of theTCGS algorithm, which does not apply to the LCC algorithm. For reference, the performanceof the GMD decoding algorithm and that of the theoretical KV decoding algorithm (with aninfinite interpolation multiplicity) are also given. −7 −6 −5 −4 −3 −2 −1 E b /N (dB) F E R GMDKVLCC( η = 2)TCGS( L = 4)LCC( η = 4)TCGS( L = 16)LCC( η = 8)TCGS( L = 256) Fig. 2. Performance of the tree-based Chase-type decoding of the RS code C [15 , . A. Numerical ResultsExample 2: Consider the RS code C [15 , over F with t min = 2 . The performance curvesare shown in Fig. 2. We can see that the TCGS algorithm performs slightly better than the LCCalgorithm. As L = 2 η increases, the gap becomes larger. At FER = − , the TCGS algorithmwith L = 256 outperforms the LCC algorithm (with η = 8 ) and the GMD algorithm by . dBand . dB, respectively. Also note that, even with small number of trials, the TCGS algorithmcan be superior to the KV algorithm.The average iterations are shown in Fig. 3. It can be seen that the average decoding complexityof both the TCGS and the LCC algorithms decreases as the SNR increases. The TCGS algorithmrequires less average iterations than the LCC algorithm. Furthermore, the average iterations E b /N (dB) I t e r a ti on s GMDLCC( η = 8)TCGS( L = 256)LCC( η = 4)TCGS( L = 16)LCC( η = 2)TCGS( L = 4) Fig. 3. Complexity of the tree-based Chase-type decoding of the RS code C [15 , . required for the TCGS algorithm are even less than those for the GMD algorithm when SNR ≥ . dB. (cid:3) Example 3: Consider the RS code C [31 , over F with t min = 3 . The performance curvesare shown in Fig. 4. We can see that the TCGS algorithm performs slightly better than the LCCalgorithm. As L = 2 η increases, the gap becomes larger. At FER = − , the TCGS algorithmwith L = 256 outperforms the LCC algorithm (with η = 8 ) and the GMD algorithm by . dBand . dB, respectively. Also note that, even with small number of trials, the TCGS algorithmcan be superior to the KV algorithm.The average iterations are shown in Fig. 5. It can be seen that the average decoding complexityof both the TCGS and the LCC algorithms decreases as the SNR increases. The TCGS algorithm −7 −6 −5 −4 −3 −2 −1 E b /N (dB) F E R GMDKVLCC( η = 3)TCGS( L = 8)LCC( η = 4)TCGS( L = 16)LCC( η = 6)TCGS( L = 64)LCC( η = 8)TCGS( L = 256) Fig. 4. Performance of the tree-based Chase-type decoding of the RS code C [31 , . requires less average iterations than the LCC algorithm. Furthermore, the average iterationsrequired for the TCGS algorithm are even less than those for the GMD algorithm when SNR ≥ . dB. (cid:3) Example 4: Consider the RS code C [63 , over F with t min = 4 . The performance curvesare shown in Fig. 6. We can see that the TCGS algorithm performs slightly better than the LCCalgorithm. As L = 2 η increases, the gap becomes larger. At FER = − , the TCGS algorithmwith L = 512 outperforms the LCC algorithm (with η = 9 ) and the GMD algorithm by . dBand . dB, respectively. Also note that, even with small number of trials, the TCGS algorithmcan be superior to the KV algorithm.The average iterations are shown in Fig. 7. It can be seen that the average decoding complexity E b /N (dB) I t e r a ti on s GMDLCC( η = 8)TCGS( L = 256)LCC( η = 6)TCGS( L = 64)LCC( η = 4)TCGS( L = 16)LCC( η = 2)TCGS( L = 4) Fig. 5. Complexity of the tree-based Chase-type decoding of the RS code C [31 , . of both the TCGS and the LCC algorithms decreases as the SNR increases. The TCGS algorithmrequires less average iterations than the LCC algorithm. Furthermore, the average iterationsrequired for the TCGS algorithm are even less than those for the GMD algorithm when SNR ≥ . dB. (cid:3) In summary, we have compared by simulation the tree-based Chase-type GS (TCGS) decodingalgorithm with the LCC decoding algorithm, showing that the TCGS algorithm has a betterperformance and requires less trials for a given maximum testing number. We will not argue thatthe proposed algorithm has lower complexity since it is difficult to make such a comparison. Thedifficulty lies in that, although the interpolation process in the finite field is simple, the proposedalgorithm requires pre-processing and evaluating the lower bound for each flipping pattern in −6 −5 −4 −3 −2 −1 E b /N (dB) F E R GMDKVLCC( η = 4)TCGS( L = 16)LCC( η = 7)TCGS( L = 128)LCC( η = 9)TCGS( L = 512) Fig. 6. Performance of the tree-based Chase-type decoding of the RS code C [63 , . the real field. However, the proposed algorithm have the figure of merits as discussed in thefollowing subsections. B. Decoding with A Threshold Most existed Chase-type algorithms set a combinatorial number as the maximum testingnumber, since they search the transmitted codeword within some Hamming sphere. In contrast,the proposed algorithm can take any positive integer as the maximum testing number. Evenbetter, we can set a threshold of the soft weight to terminate the algorithm. That is, the proposedalgorithm can be modified to exit whenever B ( f ) ≥ T z , where T z is a tailored threshold relatedto z . In the setting of BPSK signalling over AWGN channels, decoding with a threshold isequivalent to searching the most-likely codeword within an Euclidean sphere, as outlined below. E b /N (dB) I t e r a ti on s GMDLCC( η = 9)TCGS( L = 512)LCC( η = 7)TCGS( L = 128)LCC( η = 4)TCGS( L = 16) Fig. 7. Complexity of the tree-based Chase-type decoding of the RS code C [63 , . Recall that c , r and z are the transmitted codeword, the received vector and the hard-decisionvector, respectively. To trade off between the performance and the complexity, we may search themost-likely codeword within an Euclidean sphere S ( r , T ) ∆ = { s = φ ( v ) : || r − s || < T } , where φ ( v ) is the image of v under the BPSK mapping. Equivalently, we may search all hypothesizederror patterns e such that λ ( e ) = log Pr { r | z } − log Pr { r | z − e } = ( || r − φ ( z − e ) || − || r − φ ( z ) || ) / (2 σ ) < T z , where T z = ( T − || r − φ ( z ) || ) / (2 σ ) and σ is the variance of the noise. Hence, if we take B ( f ) ≥ T z as the final condition to terminate the tree-based Chase-type algorithm, we actuallymake an attempt to avoid generating candidate codewords outside the sphere S ( r , T ) . This is different from the decoding with a threshold mentioned in [13], where the lightest hypothesizederror pattern among all candidates is accepted only if its soft weight is less than a preset threshold.Now the issue is how to choose the threshold T z , or equivalently, T . On one hand, to guaranteethe performance, the sphere S ( r , T ) is required to be large enough to contain the transmittedcodeword with high probability. On the other hand, a large T usually incurs higher complexity.Let ǫ > be the error performance required by the user, meaning that the user is satisfied withFER ≈ ǫ . Then the user can find a threshold T such that Pr {|| r − φ ( c ) || ≥ T } = ǫ/ . Thiscan be done since || r − φ ( c ) || /σ is distributed according to the χ distribution with n log q degrees of freedom. The simulation results for C [15 , and C [31 , are shown in Fig. 8and Fig. 9, respectively. It can be seen that, for C [15 , , decoding with a threshold performsalmost the same as with a maximum number of trials L = 256 , while for C [31 , , decodingwith a threshold performs about . dB better than with a maximum number of trials L = 256 . C. Simulation-based Bounds on the ML Decoding The proposed algorithm also presents a method to simulate the bounds on the maximumlikelihood decoding. Let E be a random variable such that E = 1 if the ML decoding makesan error and E = 0 otherwise. Since no ML decoding algorithm is available, we cannot usesimulation to evaluate the the probability Pr { E = 1 } . However, we can simulate bounds on theML decoding. Let c and ˆ c be the transmitted codeword and the estimated codeword from thetree-based Chase-type decoder, respectively. We say that ˆ c is verifiable if it satisfies the sufficientconditions presented in Theorem 3 or Theorem 4.There are four cases. • Case 1. If ˆ c = c and ˆ c is verifiable, E u = E ℓ = E = 0 ; • Case 2. If ˆ c = c but ˆ c is not verifiable, define E u = 1 and E ℓ = 0 ; • Case 3. If ˆ c = c and ˆ c is more likely than c , E u = E ℓ = E = 1 ; • Case 4. If ˆ c = c and ˆ c is less likely than c , E u = 1 and E ℓ = 0 .Obviously, E ℓ ≤ E ≤ E u . Since E ℓ and E u can be simulated, we can get simulation-basedbounds on the ML decoding. The simulation-based bounds on the ML decoding of the RS code C [15 , are shown in Fig 10. It can be seen that the upper bound and the lower bound aregetting closer as the number of trials increases, implying that the proposed algorithm is nearoptimal with L ≥ at SNR = 5 . dB. −7 −6 −5 −4 −3 −2 −1 E b /N (dB) F E R TCGS( L = 4)TCGS( L = 16)TCGS( L = 256)TCGS with a threshold Fig. 8. Performance of the tree-based Chase-type decoding of the RS code C [15 , . V. C ONCLUSIONS In this paper, we have presented a new Chase-type soft-decision decoding algorithm for RScodes. The key to develop such an algorithm is the arrangement of all possible flipping patternsin an ordered rooted tree according to the associated lower bounds on their soft weights. Withthis tree, all flipping patterns can be sorted in a serial manner, which reduces the complexityefficiently when combining with the presented sufficient conditions for optimality. Simulationresults show that the proposed tree-based Chase-type algorithm performs well even with lesstrials on average. A CKNOWLEDGMENT The authors are grateful to Mr. Yuan Zhu and Dr. Li Chen for useful discussions. −7 −6 −5 −4 −3 −2 −1 E b /N (dB) F E R TCGS( L = 8)TCGS( L = 16)TCGS( L = 64)TCGS( L = 256)TCGS with a threshold Fig. 9. Performance of the tree-based Chase-type decoding of the RS code C [31 , . A PPENDIX AT HE M INIMALITY OF THE M INIMAL D ECOMPOSITION There are exactly q k hypothesized error patterns, which collectively form a coset of the code, E = { e = z − c : c ∈ C} . For every f ∈ F nq , when taking z − f as an input vector, the conventionalHDD either reports a decoding failure or outputs a unique codeword c . In the latter case, we saythat the flipping pattern f generates the hypothesized error pattern e = z − c . It can be verifiedthat there exist P ≤ t ≤ t min (cid:0) nt (cid:1) q t flipping patterns that can generate the same hypothesized errorpattern. In fact, for each e ∈ E , define F ( e ) = { f : e = f + g , W H ( g ) ≤ t min } , which consists ofall flipping patterns that generate e . Proposition 5: Let e be a hypothesized error pattern and f be its associated minimal flipping −5 −4 −3 −2 −1 log ( L ) F E R ML upper boundML lower boundTCGS Fig. 10. Simulation-based bounds on the ML decoding of the RS code C [15 , at 5.0 dB. pattern. Then f ∈ F ( e ) , λ ( f ) = min h ∈F ( e ) λ ( h ) and R u ( f ) = min h ∈F ( e ) R u ( h ) . Proof: Since e is a hypothesized error pattern, c = z − e is a codeword, which can definitelybe found whenever the HDD takes as input a vector c + g with W H ( g ) ≤ t min . That is, e canbe generated by taking z − h (with h = e − g ) as the input to the HDD. Let f ∈ F ( e ) be aflipping pattern such that λ ( f ) = min h ∈F ( e ) λ ( h ) . It suffices to prove that, for W H ( e ) > t min and e = f + g , we have g ∈ G ( f ) , i. e., |S ( g ) | = t min , S ( f ) T S ( g ) = ∅ and R u ( f ) < R ℓ ( g ). This canbe proved by contradiction.Suppose that |S ( g ) | < t min . Let ( i , γ ) be a nonzero component of f . Then e can also begenerated by f − ( i , γ ) , whose soft weight is less than that of f , a contradiction to the definitionof f . Suppose that S ( f ) T S ( g ) = ∅ . Let i ∈ S ( f ) T S ( g ) and ( i , γ ) be the nonzero componentof f . Then e can also be generated by f − ( i , γ ) , whose soft weight is less than that of f , acontradiction to the definition of f .Obviously, R u ( f ) = R ℓ ( g ) since their support sets have no common coordinates. Suppose that R u ( f ) > R ℓ ( g ) . Let ( i , γ ) be the atom with rank R u ( f ) and ( i , γ ) be the atom with rank R ℓ ( g ) . Then e can also be generated by f − ( i , γ ) + ( i , γ ) , whose soft weight is less than thatof f , a contradiction to the definition of f .R EFERENCES [1] D. J. Costello Jr., J. Hagenauer, H. Imai, and S. B. Wicker, “Applications of error-control coding,” IEEE Trans. Inform. The-ory , vol. 44, no. 6, pp. 2531–2560, 1998.[2] E. R. Berlekamp, “Nonbinary BCH decoding,” IEEE Trans. Inform. Theory , vol. IT-14, p. 242, 1968.[3] L. Welch and E. R. Berlekamp, “Error correction for algebraic block codes,” in Proc. IEEE Int. Symp. Inform. Theory , St.Jovites, Canada, 1983.[4] M. Sugiyama, M. Kasahara, S. Hirawawa, and T. Namekawa, “A method for solving key equation for decoding Goppacodes,” Inform. Contr. , vol. 27, pp. 87–99, 1975.[5] M. Sudan, “Decoding of Reed Solomon codes beyond the error-correction bound,” Journal of Complexity , vol. 13, no. 1,pp. 180–193, 1997.[6] V. Guruswami and M. Sudan, “Improved decoding of Reed-Solomon and algebraic-geometric codes,” IEEE Trans. In-form. Theory , vol. 45, no. 6, pp. 1757–1767, Sep. 1999.[7] R. Koetter and A. Vardy, “Algebraic soft-decision decoding of Reed Solomon codes,” IEEE Trans. Inform. Theory , vol. 49,pp. 2809–2825, 2003.[8] S. Tang, L. Chen, and X. Ma, “Progressive list-enlarged algebraic soft decoding of Reed-Solomon codes,” IEEE Commu-nications Letters , vol. 16, no. 6, pp. 901–904, 2012.[9] L. Chen, S. Tang, and X. Ma, “Progressive algebraic soft-decision decoding of Reed-Solomon codes,” IEEE Trans. Com-mun. , vol. 61, no. 2, pp. 433–442, 2013.[10] G. D. Forney Jr., “Generalized minimum distance decoding,” IEEE Trans. Inform. Theory , vol. IT-12, no. 2, pp. 125–131,Apr. 1966.[11] R. Kotter, “Fast generalized minimum-distance decoding of algebraic-geometry and Reed-Solomon codes,” IEEE Trans. In-form. Theory , vol. 42, pp. 721–737, May 1996.[12] S.-W. Lee and B. V. Kumar, “Soft-decision decoding of reed-solomon codes using successive error-and-erasure decoding,”in Proc. IEEE Global Telecommun. Conf. , New orleans, LA, Nov. 2008, DOI: 10.1109/GLOCOM.2008.ECP.588.[13] D. Chase, “A class of algorithms for decoding block codes with channel measurement information,” IEEE Trans. In-form. Theory , vol. IT-18, pp. 170–182, Jan. 1972.[14] H. Tang, Y. Liu, M. Fossorier, and S. Lin, “On combining Chase-2 and GMD decoding algorithms for nonbinary blockcodes,” IEEE Communications Letters , vol. CL-5, pp. 209–211, 2001.[15] X. Zhang, Y. Zheng, and Y. Wu, “A Chase-type Koetter-Vardy algorithm for soft-decision Reed-Solomon decoding,” in Computing, Networking and Communications (ICNC), 2012 International Conference on , pp. 466–470. [16] M. P. Fossorier and S. Lin, “Soft-decision decoding of linear block codes based on ordered statistics,” IEEE Trans. In-form. Theory , vol. 41, no. 5, pp. 1379–1396, 1995.[17] J. Jiang and K. R. Narayanan, “Iterative soft-input soft-output decoding of Reed-Solomon codes by adapting the parity-check matrix,” IEEE Trans. Inform. Theory , vol. 52, no. 8, pp. 3746–3756, 2006.[18] J. Bellorado, A. Kav˘ci´c, M. Marrow, and L. Ping, “Low-complexity soft-decoding algorithms for Reed-Solomon codes—Part II: Soft-input soft-output iterative decoding,” IEEE Trans. Inform. Theory , vol. 56, no. 3, pp. 960–967, Mar. 2010.[19] J. Bellorado and A. Kav˘ci´c, “Low-complexity soft-decoding algorithms for Reed-Solomon codes—Part I: An algebraicsoft-in hard-out Chase decoder,” IEEE Trans. Inform. Theory , vol. 56, no. 3, pp. 945–959, Mar. 2010.[20] J. Zhu, X. Zhang, and Z. Wang, “Backward interpolation architecture for algebraic soft-decision Reed-Solomon decoding,” Very Large Scale Integration (VLSI) Systems, IEEE Transactions on , vol. 17, no. 11, pp. 1602–1615, 2009.[21] T. Kaneko, T. Nishijima, H. Inazumi, and S. Hirasawa, “An efficient maximum-likelihood-decoding algorithm for linearblock codes with algebraic decoder,” IEEE Trans. Inform. Theory , vol. 40, no. 2, pp. 320–327, Mar. 1994.[22] V. Guruswami and A. Vardy, “Maximum-likelihood decoding of Reed-Solomon codes is NP-hard,” IEEE Trans. In-form. Theory , vol. 51, no. 7, pp. 2249–2256, 2005.[23] X. Ma and S. Tang, “Correction to ‘an efficient maximum-likelihood-decoding algorithm for linear block codes withalgebraic decoder’,”