We present a new Reed-Solomon decoding algorithm, which embodies several refinements of an earlier algorithm. Some portions of this new decoding algorithm operate on symbols of length lgq bits; other portions operate on somewhat longer symbols. In the worst case, the total number of calculations required by the new decoding algorithm is proportional to nr, where n is the code's block length and r is its redundancy. This worst case workload is very similar to prior algorithms. But in many applications, average-case workload and error-correcting performance are both much better. The input to the new algorithm consists of n received symbols from GF(q), and n nonnegative real numbers, each of which is the reliability of the corresponding received symbol. Any conceivable errata pattern has a "score" equal to the sum of the reliabilities of its locations with nonzero errata values. A max-likelihood decoder would find the minimum score over all possible errata patterns. Our new decoding algorithm finds the minimum score only over a subset of these possible errata patterns. The errata within any candidate errata pattern may be partitioned into "errors" and "erasures," depending on whether the corresponding reliabilities are above or below an "erasure threshold." Different candidate errata patterns may have different thresholds, each chosen to minimize its corresponding ERRATA COUNT, which is defined as 2/spl middot/(number of errors)+(number of erasures). The new algorithm finds an errata pattern with minimum score among all errata patterns for which ERRATA COUNT/spl les/r+1 where r is the redundancy of the RS code. Conventional algorithms also require that the erasure threshold be set a priori; the new algorithm obtains the best answer over all possible settings of the erasure threshold. Conventional cyclic RS codes have length n=q-1, and their locations correspond to the nonzero elements of GF(q). The new algorithm also applies very naturally to RS codes which have been doubly extended by the inclusion of 0 and /spl infin/ as additional locations.
['Elwyn R. Berlekamp']
Bounded distance+1 soft-decision Reed-Solomon decoding