Download presentation
Presentation is loading. Please wait.
Published byΑρσένιος Βουρδουμπάς Modified over 6 years ago
1
Introduction to Reed-Solomon Coding ( Part II )
2
Reed-Solomon (RS) code
The RS code is a cyclic symbol error-correcting code. An RS codeword will consist of I information or message symbols, together with P parity or check symbols. The word length is N=I+P. The symbols in an RS codeword are usually not binary, i.e., each symbol is represent by more than one bit. In fact, a favorite choice is to use 8-bit symbols. This is related to the fact that most computers have word length of 8 bits or multiples of 8 bits.
3
In order to be able to correct ‘t’ symbol errors, the minimum distance of the code words ‘D’ is given by D=2t+1. If the minimum distance of an RS code is D, and the word length is N, then the number of message symbols I in a word is given by I = N – ( D – 1 ) Combining with the formula N=I+P, above, P = D – 1
4
An example of the structure of a code word in a practical RS code is as follow:
1 223 255 223 message symbols 32 parity symbols Each symbol consists of 8 bits. Thus, each codeword has 255 symbols, or 255*8 bits, consisting of 223*8 message bits and 32*8 check bits. This code is capable of correcting 16 symbol errors.
5
Relationships between RS coding and Finite Field GF(Fn)
The symbols used in the RS code must be elements of GF(Fn), where Fn=22n+1. It is convenient to choose the codeword length N=2n+1. The number of bits needed to represent a symbol is determined by the number of different symbols used, which is equal to 22n+1. Therefore, for Fn=22n+1, the number of bits/symbol is 2n+1.
6
To construct an RS code of wordlength Equal to 8 symbols,and capable of correcting 2 symbol errors
Since N=8=2n+1, we choose n=2, i.e., GF(F2)= GF(222+1)=GF(17). The symbols in the RS code will be the elements of GF(17). Also, the number of bits/symbol will be 22+1=5. In order to correct 2 errors, the minimum distance of the codeword is D=2t+1=2*2+1=5. The number of message codeword is I=N-(D-1)=8-(5-1)=4. The number of check symbols is P=N-I=8-4=4.
7
To construct an RS code with minimum distance D, we first define a generator polynomial as follows:
8
Assume the message symbols to be
Let us form f(Z)=Z7+2Z6+3Z5+2Z4 of degree N-1=7, using the message symbols as coefficients. In order to generate a “codeword in a polynomial C(Z),” which is a multiple of g(Z), we proceed as follows: f(Z) = q(Z)g(Z) + R(Z) where q(Z) = quotient polynomial, g(Z) = generator polynomial, R(Z) = residue polynomial. C(Z) = q(Z)g(Z) = f(Z) - R(Z)
9
Thus, f(Z) = Z7+2Z6+3Z5+2Z4 g(Z) = Z4+4Z3+8Z2-8Z+4 q(Z) = Z3-2Z2+3Z-3 R(Z) = 2Z3+5Z2-2Z+12 The encoded codeword is C(Z) = q(Z)g(Z) = f(Z) - R(Z) = Z7+2Z6+3Z5+2Z4 -2Z3-5Z2+2Z-12 = Z7+2Z6+3Z5+2Z4 -2Z3-5Z2+2Z+5
10
The codewords have the properties
C(2i) = q(2i)g(2i) = q(2i)0 = 0, for i = 1,2,3,4 Thus, it can be shown that C(21) = 0 C(22) = 0 C(23) = 0 C(24) = 0
11
It can be shown also that if there are errors in the received codewords:
12
Suppose 2 errors exist in the received codeword at the positions underlined below:
r(Z) = 5Z0+2Z1+9Z2+15Z3+2Z4+1Z5+2Z6+Z7 or, written differently, (r0,r1,r2,…,r7) = (5,2,9,15,2,1,2,1) = (5,2,12-3,15,2,3-2,2,1) The error pattern (e0,e1,e2,…,e7) is (0,0,-3,0,0,-2,0,0) or (0,0,14,0,0,15,0,0)
13
The received pattern can be rewritten as
(C0,C1,C2,…,C7) + (e0,e1,e2,…,e7) = (5,2,12,15,2,3,2,1) + (0,0,14,0,0,15,0,0) where (C0,C1,C2,…,C7) are the uncorrupted symbols.
14
The syndromes Sk can be computed by
for k=1,2,…,D-1=2t (i.e., k=1,2,3,4).
15
The problem in decoding the RS code is to try to determine the value of ei , i=0,1,2,…,7.
Since ei are not known, we let Yi and Xi be the ith error amplitude and the ith error location, respectively. Thus, the syndrome Sk can be re-expressed as where t is the maximum number of symbol errors that can be corrected.
16
Hence, ∴ S1=-8, S2=-5, S3=11, S4 = -1. Also,
17
Since The rest of the transform, i.e., E0, E5, E6, E7, can be computed from those already known, i.e., E1, E2, E3, E4. Let us define a generating function as in which it is noted that E8= E0, E9= E1 , etc.
18
Hence, where
19
σ(x) is called the “error location polynomial” since its roots help to locate the errors:
It can be shown that σ(x) can be obtained by the “continued fraction method” as
20
Since Multiplying by Substituting ∴ Thus,
21
Thus, Since the inverse DFT of Ek is defined by Since E0, ..., E7 are now known, e0, ..., e7 can be solved.
22
Thus, ∵ received codeword = (5,2,9,15,2,1,2,1) error pattern = (0,0,14,0,0,15,0,0) ∴ corrected codeword = (5,2,9,15,2,1,2,1) - (0,0,14,0,0,15,0,0) = (5,2,-5,15,2,-14,2,1) = (5,2,12,15,2,3,2,1)
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.