Title: Decoding Reed-Solomon Codes using the Guruswami-Sudan Algorithm
1Decoding Reed-Solomon Codes using the
Guruswami-Sudan Algorithm
- PGC 2006, EECE, NCL
- Student Li Chen
- Supervisor Prof. R. Carrasco, Dr. E. Chester
2Introduction
- List Decoding
- Guruswami-Sudan Algorithm
- Interpolation (Kotters Algorithm)
- Factorisation (Ruth-Ruckenstein Algorithm)
- Simulation Performance
- Complexity Analysis
- Algebraic-Geometric Extension
- Conclusion
3Funny Talk about List Decoder
- DecoderSearch the lost boy named John
- Unique decoderPolice without cooperation
- List decoderPolice with cooperation
Police
Decoder
from
now
4List Decoding
- Introduced by P. Elias and J. Wozencraft
independently in 1950s - Idea
- Unique decoder can correct r1,
- but not r2?
- List decoder can correct
- r1 and r2?
5Reed-Solomon Codes
- Encoding ?k ?n (kltn)
- (C0, C1, , Cn-1)(f(x0), f(x1), , f(xn-1))
- transmitted message
- f(x)f0x0f1x1fk-1xk-1
- k dimensional monomial basis of curve y0
- Application
- Storage device
-
- Mobile communications
6Guruswami-Sudan Algorithm
7GS Overview
- Decode RS(5, 2)
- Encoding elemnts x(x0, x1, x2, x3, x4)
- Received word y(y0, y1, y2, y3, y4)
Build Q(x, y) that goes through 5 points Q(x,
y)y2-x2 y-(-x) y-p(x)?f(x) y-x
Q(x, y) has a zero of multiplicity m1 over the 5
points.
GS Interpolation Factorisation
The Decoded codeword is produced by re-evaluate
p(x) over x0, x1, x2, x3, x4!!!
8How about increase the degree of Q(x, y)?
- Q2(y2-x2)2 y-(-x)
- y-x
- y-p(x)?f(x)
- y-(-x)
- y-x
Q2(x, y) has a zero of multiplicity m2 over the
5 points.
The higher degree of Q(x, y) more candidate
to be chosen as f(x) diverser point can be
included in Q(x, y) better error correction
capability!!!
9GS Decoding Property
- Error correction upper bound (1)
Multiplicity m Error correction tm Output list lm
- Examples
- RS(63, 15) with r0.24, e24 RS(63,
31) with r0.49, e16
10Interpolation---Build Q(x, y)
- Multiplicity definition (2)
- ---qab0 for abltm, Q has a zero of multiplicity
m at (0, 0).
- Define over a certain point (xi, yi)
-
- ---quv0 for uvltm, Q has a zero of multiplicity
m at (xi,yi)
- quv is the Qs (u, v) Hasse derivative
evaluation on (xi, yi) - (3)
11Cont
- Therefore, we have to construct a Q(x, y) that
satisfies - Q(x, y)minQ(x, y)?Fqx, yDuvQ(xi, yi)0
- for i0, , n-1 and
uvltm - Q has a zero of multiplicity m over the n points
12Kotters Algorithm
- Initialisation G0g0, g1, , gj, ,
Hasse Derivative Evaluation
If in, end! Else, update i, and (u, v)
Find the minimal polynomial in J
Bilinear Hasse Derivative modification For
(j?J), if jj, if j?j,
13Factorisation---Find p(x)
- p(x) satisfy
- y-p(x)Q(x, y) and deg(p(x))ltk
- p(x)p0p1xpk-1xk-1
- ---we can deduce coefficients p0, p1, , pk-1
sequentially!!!
14Ruth-Ruckenstein Algorithm
Q0(x, y)
Q1(x, y) Q2(x, y)
p(x)
p(x)
Qs sequential transformation (4) pi are the
roots of Qi(0, y)0.
15Simulation Results 1----RS(63, 15)
AWGN
Rayleigh fading
Coding gain 0.4-1.3dB 1-2.8dB
16Simulation Result 2----RS(63, 31)
AWGN
Rayleigh fading
Coding gain 0.2-0.8dB 0.5-1.4dB
17Complexity Analysis
RS(63, 15) RS(63, 31)
Reason Iterative Interpolation
18Little Supplements----GSs AG extension
RS f(x) Q(x, y) p(x) AG f(x, y) Q(x, y,
z) p(x, y)
19Conclusion of GS algorithm
- Correct errors beyond the (d-1)/2 boundary
- Outperform the unique decoding algorithm
- Greater potential for low rate codes
- Used for decode AG codes
- Higher decoding complexity----Need to be
addressed in future!!!
20I Welcome your Questions?