# Decoding Reed-Solomon Codes using the Guruswami- Sudan Algorithm PGC 2006, EECE, NCL Student: Li Chen Supervisor: Prof. R. Carrasco, Dr. E. Chester.

## Presentation on theme: "Decoding Reed-Solomon Codes using the Guruswami- Sudan Algorithm PGC 2006, EECE, NCL Student: Li Chen Supervisor: Prof. R. Carrasco, Dr. E. Chester."— Presentation transcript:

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 (Kotter’s Algorithm) Factorisation (Ruth-Ruckenstein Algorithm) Simulation Performance Complexity Analysis Algebraic-Geometric Extension Conclusion

Funny Talk about List Decoder Decoder—Search the lost boy named “ John” Unique decoder—Police without cooperation List decoder—Police with cooperation PoliceDecoder 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 (k<n) (C 0, C 1, …, C n-1 )=(f(x 0 ), f(x 1 ), …, f(x n-1 )) transmitted message f(x)=f 0 x 0 +f 1 x 1 +∙∙∙+f k-1 x k-1 k dimensional monomial basis of curve y =0 Application: Storage device Mobile communications

Guruswami-Sudan Algorithm 1999 1997

GS Overview Decode RS(5, 2): Encoding elemnts x=(x 0, x 1, x 2, x 3, x 4 ) Received word y=(y 0, y 1, y 2, y 3, y 4 ) Build Q(x, y) that goes through 5 points: Q(x, y)=y 2 -x 2 y-(-x) y-p(x)?=f(x) y-x The Decoded codeword is produced by re-evaluate p(x) over x 0, x 1, x 2, x 3, x 4 !!! Q(x, y) has a zero of multiplicity m =1 over the 5 points. GS = Interpolation + Factorisation

How about increase the degree of Q(x, y) ? Q 2 =(y 2 -x 2 ) 2 y-(-x) y-xy-x y-p(x)?=f(x) y-(-x) y-xy-x Q 2 (x, y) has a zero of multiplicity m =2 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 t m Output list l m Examples: RS(63, 15) with r =0.24, e =24 RS(63, 31) with r =0.49, e =16

Interpolation---Build Q(x, y) Multiplicity definition:(2) --- q ab =0 for a+b<m, Q has a zero of multiplicity m at (0, 0). Define over a certain point ( x i, y i ): --- q uv =0 for u+v<m, Q has a zero of multiplicity m at ( x i,y i ) q uv is the Q ’s ( u, v ) Hasse derivative evaluation on ( x i, y i ) (3)

Cont… Therefore, we have to construct a Q(x, y) that satisfies: Q(x, y)=min{Q(x, y)  F q [x, y]|D uv Q(x i, y i )=0 for i=0, ∙∙∙, n-1 and u+v<m} Q has a zero of multiplicity m over the n points

Kotter’s Algorithm Initialisation: G 0 ={g 0, g 1, …, g j, …,} Hasse Derivative Evaluation Find the minimal polynomial in J : Bilinear Hasse Derivative modification: For ( j  J ), if j=j *, if j≠j *, If i=n, end! Else, update i, and ( u, v )

Factorisation---Find p(x) p(x) satisfy: y-p(x)|Q(x, y) and deg(p(x))<k p(x)=p 0 +p 1 x+∙∙∙+p k-1 x k-1 ---we can deduce coefficients p 0, p 1, …, p k-1 sequentially!!!

Ruth-Ruckenstein Algorithm p(x)p(x) p(x)p(x) Q 0 (x, y) Q 1 (x, y) Q 2 (x, y) Q’s sequential transformation:(4) p i are the roots of Q i (0, y)=0.

Simulation Results 1----RS(63, 15) AWGNRayleigh fading Coding gain:0.4-1.3dB 1-2.8dB

Simulation Result 2----RS(63, 31) AWGNRayleigh fading Coding gain:0.2-0.8dB 0.5-1.4dB

Complexity Analysis RS(63, 15) RS(63, 31) Reason: Iterative Interpolation

Little Supplements----GS’s 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!!!