This preview shows page 1. Sign up to view the full content.
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 non-binary
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 Reed-Solomon 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 octet-based. This choice forces the longest codeword length to CCSDS 130.1-G-1 Page 5-1 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  and ). 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
) 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 non-shortened code with
n' = n = 255. This is accomplished by assuming that the remaining symbols are fixed: in the
Recommended Standard (reference ), 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 non-shortened 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 Reed-Solomon 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
Reed-Solomon code in the Recommended Standard (reference ) is systematic. This means
that a portion of the codeword contains the input data in unaltered form. In the
Recommended Standard (reference ), 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) Reed-Solomon block encoder is shown in figure 5-1,
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.1-G-1 Page 5-2 June 2006 TM SYNCHRONIZATION AND CHANNEL CODING —SUMMARY OF CONCEPT AND RATIONALE .... g g 0 1 .... g E-1 OPEN LAST
E SYMBOLS b b
0 .... 1 INFORMATION SYMBOLS b E-1 UP LAST E SYMBOLS Figure 5-1: Block Diagram of an (n,k) Reed-Solomon 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 5-2. 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 5-2: RS Codeword Structure, J=8, E=16
There are two polynomials that define each of the recommended Reed-Solomon codes in 4.2
(4) and (5) of reference  (also see reference ): 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 (self-reciprocal
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
- Spring '14