This preview shows page 1. Sign up to view the full content.
Unformatted text preview: oft’ channel symbol values that are input to a Viterbi decoder for convolutional
codes, the symbols input to the ReedSolomon decoder are ‘hard’, which means that the RS
decoder operates on symbols drawn from exactly the same alphabet as that used in producing
the encoded symbols. This generation of hard symbol inputs to the RS decoder happens
automatically when these symbols are generated by a Viterbi decoder for an inner
convolutional code. In this case, the Viterbi decoder generates hard bitbybit decisions, and
eight consecutive bits from the Viterbi decoder are grouped to form one symbol from the CCSDS 130.1G1 Page 55 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE 256ary RS alphabet. When the RS code is used without an inner convolutional code, hard
decisions should be made on each group of channel symbols corresponding to one RS octet.
It is possible to allow the decisions on channel symbols to possess a little bit of ‘softness’, in
that a ReedSolomon decoder may also accept ‘erasures’ in addition to hard symbols from its
native alphabet. An erasure is appropriate whenever there is substantial decision uncertainty
between two or more hard symbols, because the ReedSolomon code is capable of correcting
twice as many erasures as errors. In the case of ReedSolomon/convolutional concatenated
coding, erasures are never produced by the standard Viterbi algorithm, but they may be
generated by some modified versions of it .
The ‘errorsonly’ ReedSolomon decoder is somewhat simpler than the ‘errorsanderasures’
version, but it is convenient to describe the more general case. The basic idea behind all RS
decoding algorithms was developed by Berlekamp as described in reference [12], but there
are dozens of variants of his basic algorithm in current use. A very detailed discussion on
ReedSolomon decoding algorithms can be found in reference [24].
Unlike the Viterbi decoder for convolutional codes, which always obtains a maximum
likelihood decision for each bit, the ReedSolomon decoder is an ‘incomplete, bounded
distance’ decoder. The ‘errorsonly’ decoder produces unflagged decoded output if and only
if the sequence of received, corrupted symbols differs from a valid codeword by no more
than E symbols. For the ‘errorsanderasures’ version, the corresponding condition is that
2t+e≤2E, where e is the number of erased symbols and t is the number of discrepancies
between nonerased received symbols and those of a valid codeword. For both types of
decoders, there are error sequences that move the sequence of received symbols outside the
‘boundeddistance’ decoding radius around the true codeword, yet also leave it outside the
boundeddistance decoding radius of all other codewords. In this case, the RS decoder is
incomplete, because it knows that the received sequence has been corrupted beyond its
guaranteed correction capability, and it does not attempt to guess how to fix such
corruptions. In fact, this type of ‘detectable’ corruption is much more likely to occur than an
error sequence that moves the received symbol sequence inside the decoding radius of an
incorrect codeword. For this reason the ReedSolomon decoder almost always knows when
there are too many errors to correct a word. Whenever this happens, the decoder can flag the
‘detected’ error and inform the user of this fact.
5.5 PERFORMANCE OF THE RECOMMENDED REEDSOLOMON CODES In decoding the RS codewords, essentially three events may happen.
a) The first event (correct decoding) happens if there are E or fewer RS symbol errors in
a codeword. In this case the decoder successfully corrects the errors and outputs the
correct information block.
b) The second event (detected error) happens if the number of RS symbol errors in a
codeword is more than E, but the corrupted codeword is not close to any other
codeword within the distance of E symbols. In this case the RS decoder fails to CCSDS 130.1G1 Page 56 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE decode and may (if desired) output the first k undecoded information symbols that in
all likelihood contain some symbol errors.
c) The third event (undetected error) happens if the number of RS symbol errors in a
codeword is more than E, and the corrupted codeword is closer to some other
codeword within the distance of E symbols. In this case the decoder is fooled,
decodes incorrectly, and outputs a wrong information block. In other words, it claims
the decoded block as a correct one and by doing this it may create up to E additional
symbol errors (compared to the number of errors in the uncoded information block).
Fortunately for most of the RS codes of interest with large alphabet size, in particular for the
(255, 223) RS code, the probability that the third event happens is very small (see reference
[23]). This probability has very little effect on the error probability performance of an RS
code in the range of interest. In reference [23] it has been...
View
Full
Document
This document was uploaded on 03/06/2014.
 Spring '14

Click to edit the document details