Unformatted text preview: inimum distance d = 33, and can correct E = 16 errors. The second code has
k = 239, d = 17, and can correct E = 8 errors. The recommended RS codes are nonbinary
codes. Each member of the coding alphabet is one of 256 elements of a finite field rather
than zero or one. A string of eight bits is used to represent each element in the field so that
the output of the encoder still looks like binary data.
A ReedSolomon symbol size of eight bits was chosen because the decoders for larger
symbol sizes would be less suitable to implementation with current technology, and because
telemetry transfer frames are octetbased. This choice forces the longest codeword length to CCSDS 130.1G1 Page 51 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE be 255 symbols. The recommended RS code with E = 16 was chosen as this was shown to
have the best performance when concatenated with the (7, 1/2) convolutional inner code (see
references [9] and [11]). Since two check symbols are required for each symbol error to be
corrected, this results in a total of 32 check symbols and 223 information symbols per
codeword. The RS code with E = 8 was added later to the Recommended Standard (reference
[3]) to allow another coding option with higher code rate.
The same encoding and decoding hardware can implement a shortened (n',n'–2E) ReedSolomon code, where n' = 33, 34, ... , 254, as well as the nonshortened code with
n' = n = 255. This is accomplished by assuming that the remaining symbols are fixed: in the
Recommended Standard (reference [3]), they are assumed to be all zero. This virtual zero fill
allows the frame length to be tailored, if necessary, to suit a particular mission or situation.
The shortened codes can correct the same number of errors (E) as the nonshortened code,
but the overall code performance (energy efficiency per bit) generally (but not always) gets
worse as the code rate is decreased due to shortening.
5.2 ENCODER ReedSolomon codes are block codes. This means that a fixed block of input data is
processed into a fixed block of output data. In the case of the (255,k) code, k = 255–2E ReedSolomon input symbols (each eight bits long) are encoded into 255 output symbols. The
ReedSolomon code in the Recommended Standard (reference [3]) is systematic. This means
that a portion of the codeword contains the input data in unaltered form. In the
Recommended Standard (reference [3]), the first k = 223 or 239 symbols are the input data
for the two recommended codes, respectively.
A very simple block diagram of an (n,k) ReedSolomon block encoder is shown in figure 51,
where n = 2J–1 and k = n–2E. An RS symbol consists of a sequence of J bits so that there are
2J possible RS symbols. All coding and decoding operations involve RS symbols, not
individual bits. The input of the encoder consists of a block of k = 2J–1–2E information
symbols (or kJ information bits) from some data source. The result of the encoding
operations is a codeword of length n = 2J–1 symbols, of which the first k are the same
symbols as those entering to the left. This makes the code systematic. The remainder of the
codeword is filled in with 2E parity symbols, where E is the number of correctable RS
symbol errors in an RS codeword. An RS symbol is in error if one or more of the J bits
making up the symbol are in error. CCSDS 130.1G1 Page 52 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE .... g g 0 1 .... g E1 OPEN LAST
E SYMBOLS b b
0 .... 1 INFORMATION SYMBOLS b E1 UP LAST E SYMBOLS Figure 51: Block Diagram of an (n,k) ReedSolomon Encoder
We put attention on the specific recommended RS code with J = 8, E = 16, i.e., the (255,223)
code. The basic codeword structure of this specific code with J = 8, E = 16, is given in
figure 52. If desired, a ‘quick look’ at the data (information bits) would still be possible
since the code is systematic. Note that the overhead associated with the parity symbols is
only around 15 percent. This percentage increases if the code is shortened.
codeword size = 2040 bits
8 x 223 information bits 8 x 32 parity bits 8 bits
32 parity symbols 223 information symbols Figure 52: RS Codeword Structure, J=8, E=16
There are two polynomials that define each of the recommended ReedSolomon codes in 4.2
(4) and (5) of reference [3] (also see reference [16]): a code generator polynomial over
GF(28) and a field generator polynomial over GF(2). The field generator polynomial
F(x) = x8+x7+x2+x+1 is the same for both codes. The code generator polynomial g(x) has
degree 2E = 32 for the (255,223) code and degree 2E = 16 for the (255,239) code. The
particular polynomials that define the recommended codes were chosen to minimize the
encoder hardware. The code generator polynomials are palindromes (selfreciprocal
polynomials) so that only half as many multipliers are required in the encoder circuits. The
particular primitive element ‘α’ (and hence the field generator polynomial) was chose...
View
Full
Document
This document was uploaded on 03/06/2014.
 Spring '14

Click to edit the document details