1 / 20

Decoding Reed-Solomon Codes using the

Guruswami-Sudan Algorithm

- PGC 2006, EECE, NCL
- Student Li Chen
- Supervisor Prof. R. Carrasco, Dr. E. Chester

Introduction

- List Decoding
- Guruswami-Sudan Algorithm
- Interpolation (Kotters Algorithm)
- Factorisation (Ruth-Ruckenstein Algorithm)
- Simulation Performance
- Complexity Analysis
- Algebraic-Geometric Extension
- Conclusion

Funny Talk about List Decoder

- DecoderSearch the lost boy named John
- Unique decoderPolice without cooperation
- List decoderPolice with cooperation

Police

Decoder

from

now

List 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?

Reed-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

Guruswami-Sudan Algorithm

GS 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!!!

How 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!!!

GS 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

Interpolation---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)

Cont

- 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

Kotters 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,

Factorisation---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!!!

Ruth-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.

Simulation Results 1----RS(63, 15)

AWGN

Rayleigh fading

Coding gain 0.4-1.3dB 1-2.8dB

Simulation Result 2----RS(63, 31)

AWGN

Rayleigh fading

Coding gain 0.2-0.8dB 0.5-1.4dB

Complexity Analysis

RS(63, 15) RS(63, 31)

Reason Iterative Interpolation

Little Supplements----GSs AG extension

RS f(x) Q(x, y) p(x) AG f(x, y) Q(x, y,

z) p(x, y)

Conclusion 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!!!

I Welcome your Questions?