Professional Documents
Culture Documents
Reed Solmen Code1
Reed Solmen Code1
Reed-
Reed -Solomon Code
Spring 2009
Introduction
Note that because both the roots and the symbols are specified
in GF(q), the generator polynomial will have only the specified
roots; (NO Conjugates)
١
Introduction
g x X i X i 1 X i 2t 2 X i 2t 1
Example:
Suppose we wish to construct a double-error correcting, length 7
RS code;
we first construct GF(8) using the primitive polynomial X3 + X + 1 as
shown. We decide to choose i = 0, placing the roots from 0 to 3.
The generator polynomial is
g x X 0 X 1 X 2 X 3
g x X 4 2 X 3 5 X 2 5 X 6
Example
For the Reed Solomon code above, encode the data sequence
111001111.
٢
Time Domain Encoding
g1 g0
gn-k-1 g2
+ + + +
U(X)
٣
Time Domain Encoding
2 5 5 6
+ + + +
U(X)
٤
Decoding Reed Solomon Code
even t t 1 z t 2 t 3 z t 4 1
odd t t z t 1 t 2 z t 3 1
٥
Decoding Reed Solomon Code
0 2 1 1 0 0
1 2 0 1 0
Which leads to
1 2 2 1
And the connection polynomial is
z 1 z 2 2 z 1 0
z 4z 0
em
z' z z m 2z z m
Evaluating at m = 3 and 5
٦
Decoding Reed Solomon Code
This leads to
4 3 0
e3 2 3
4
4 5 0
e5 5
2 5
Example
We will choose again a (7, 3) double-error correcting RS code
over GF(23). Let the information be 2, 5, 0
The frequency domain code word is 2500000, and the inverse
is 5056501
We now create a two-symbol error, say 5 in position 5 and 4 in
position 3, as in our previous example. The received sequence is
5453501
٧
Frequency domain encoding of RS Code
The solution is
1 2 2 1
٨
Frequency domain encoding of RS Code
The next two values generates 01 which are the syndrome
components S0 and S1. so the code will repeat
Example 2
For the previous example consider three errors have occurred,
and the received sequence is 6 4 5 3 5 0 1.
The Fourier transform is
R z 3 z 6 5 z 5 6 z 4 3 z 3 2 z 2 3 z 3
3 2 3 1 2 0
3 2 21 3 0
٩
Frequency domain encoding of RS Code
Example 3
For the previous example consider single errors have occurred,
and the received sequence is 5 4 5 6 5 0 1.
The Fourier transform is
R z 6 z 6 3 z 5 5 z 4 6 z 3 1 z 2 3 z 5
5 2 3 1 1 0
3 2 11 6 0
Or 0 = 1, 1 = 5, and 2 = 0.
١٠
Frequency domain encoding of RS Code
Erasure Decoding
Example
Consider the same previous example but with one error a
position 5 and two erasures in positions 6 and 1
The received sequence will be taken as 0 4 5 6 5 0 1.
The Fourier transform is
R z 6 z 6 6 z 5 3 z 4 1 z 3 6 z 2 5 z 0
١١
Erasure Decoding
z 6 z 1 1 z 1 z 2 5 z 1
The error locator polynomial is
z 1 z 1
Erasure Decoding
١٢
Erasure Decoding
Erasure Decoding
Evaluating this at -6 and -1 which are the roots of (z) and -5
which is root of (z) and found by Chien search. The results are
e1 0 , e5 5 , e6 5
١٣
Welch-Berlekamp Algorithm
n k 1
gX
gx i i
X 0 X 1 X 2 X 3 5 X 2 6 X 3
j 0 X nk 1
Therefore g3 = 3 , g2= 3 , g1= 3, and g0 = 3
C 0 1 nk 1 0 1 0 2 0 nk 1
Channel Coding Theory
Slide ٢٧
Welch-Berlekamp Algorithm
For our example C = 6. we now need for each data location to
find the value hi = C /g(i) . The values are found to be
h6 6 / 4 2
h5 6 / 1 5
h6 6 / 0 6
١٤
Welch-Berlekamp Algorithm
The input points are therefore (0, 3),(4, 2),(1, 1),(3, 0).
We need to find two polynomials Q(X) and N(X) for which
Q j Sj N j for 0 j n k 1
Welch-Berlekamp Algorithm
١٥
Welch-Berlekamp Algorithm
ek hk
N k
Q' k
Welch-Berlekamp Algorithm
١٦