Groebner-bases approach to fast chase decoding of generalized Reed-Solomon codes

Uložené v:
Podrobná bibliografia
Názov: Groebner-bases approach to fast chase decoding of generalized Reed-Solomon codes
Patent Number: 10404,407
Dátum vydania: September 03, 2019
Appl. No: 15/683456
Application Filed: August 22, 2017
Abstrakt: An application specific integrated circuit (ASIC) tangibly encodes a program of instructions executable by the integrated circuit to perform a method for fast Chase decoding of generalized Reed-Solomon (GRS) codes. The method includes using outputs of a syndrome-based hard-decision (HD) algorithm to find an initial Groebner basis G for a solution module of a key equation, upon failure of HD decoding of a GRS codeword received by the ASIC from a communication channel; traversing a tree of error patterns on a plurality of unreliable coordinates to adjoin a next weak coordinate, where vertices of the tree of error patterns correspond to error patterns, and edges connect a parent error pattern to a child error pattern having exactly one additional non-zero value, to find a Groebner basis for each adjoining error location; and outputting an estimated transmitted codeword when a correct error vector has been found.
Inventors: SAMSUNG ELECTRONICS CO., LTD. (Suwon-si, Gyeonggi-Do, KR)
Assignees: SAMSUNG ELECTRONICS CO., LTD. (Suwon-Si, Gyeonggi-Do, KR)
Claim: 1. An application specific integrated circuit (ASIC) tangibly encoding a program of instructions executable by the integrated circuit to perform a method for fast Chase decoding of generalized Reed-Solomon (GRS) codes, the method comprising the steps of: receiving, by the ASIC, a GRS codeword y=x+e from a communication channel, wherein where x is a transmitted GRS codeword, and e is an error vector; using outputs of a syndrome-based hard-decision (HD) algorithm to find an initial Groebner basis G={g 0 =(g 00 , g 01), g 1 =(g 10 , g 11)} for a solution module of a key equation, upon failure of HD decoding of the GRS codeword; traversing a tree of error patterns in [mathematical expression included] on a plurality of unreliable coordinates to adjoin a next weak coordinate wherein n 0 is a number of the unreliable coordinates, i 1 , . . . , i n o are the unreliable coordinates, vertices of the tree of error patterns correspond to error patterns, and edges connect a parent error pattern to a child error pattern having exactly one additional non-zero value, to find a Groebner basis G + for each adjoining error location; and outputting an estimated transmitted codeword {circumflex over (x)}:=y+ê when a correct error vector ê has been found.
Claim: 2. The ASIC of claim 1 , wherein the syndrome-based HD algorithm is selected from a group that includes the Berlekamp-Massey (BM) algorithm and Fitzpatrick's algorithm.
Claim: 3. The ASIC of claim 1 , wherein finding an initial Groebner basis G comprises: defining polynomials b 1 :=(Sσ mod X d−1 , σ), and b 2 :=(SX m B mod X d−1 , X m B), wherein S is the syndrome polynomial, σ is the estimated ELP output by the BM algorithm, m is the number of iterations since the last linear feedback shift register (LFSR) length change in the BM algorithm, and B is a polynomial output from the BM algorithm that is a copy of the last estimated ELP σ before the LFSR length L was updated; and outputting one of (1) c{b 1 , b 2 } as the Groebner basis when leading monomials of b 1 and b 2 contain distinct unit vectors, for a non-zero constant c; (2) {d(b 1 −cX l b 2), db 2 ,} as the Groebner basis when the leading monomials contain a same unit vector and the leading monomial of b 1 is at least as large as that of b 2 , wherein c∈K* and l∈N are chosen such that the leading monomial of b 2 is canceled and d is a non-zero constant, or (3) {db 1 , d(b 2 −cX l b 1)} as the Groebner basis when the leading monomials contain the same unit vector and the leading monomial of b 2 is strictly larger than that of b 1 , wherein c∈K* and l∈N* are chosen such that the leading monomial of b 2 is canceled and d is a non-zero constant.
Claim: 4. The ASIC of claim 1 , wherein traversing a tree of error patterns to find a Groebner basis G + for each adjoining error location comprises: calculating a root discrepancy Δ j rt :=g j1 (α r −1) for j=0 and 1, wherein g 0 =(g 00 (X), g 01 (X)) and g 1 =(g 10 (X), g 11 (X)) constitute a current Groebner basis and α r is a next error location and r is a number of error locations; setting, when a set [mathematical expression included] when (j≠j*), wherein j*∈J is such that a leading monomial of g j* is a minimum leading monomial of (g j) for all j∈J and c is a non-zero constant, or g + j :=c (X−α r −1)g j* , when j=j*, wherein X is a free variable; setting g j :=g + j for j=0 and 1; calculating a derivative discrepancy Δ j der :=β r α r g′ j1 (α r −1)+α r g j0 (α r −1) for j=0 and 1, wherein β r is a value of location α r , and g′ j1 (X) is a formal derivative of g j1 (X); setting, when a set [mathematical expression included] when (j≠j), wherein j*∈J is such that a leading monomial of M(g j*)=a minimum leading monomial of (g j) for all j∈J and c is a non-zero constant, or g + j :=c(X−aα r −1)g j* when j=j*.
Claim: 5. The ASIC of claim 4 , further comprising, when set J:={j∈{0, 1}|Δ j re ≠0}=Ø or when set J:={j∈{0, 1}|Δ j der ≠0}=Ø, setting g + j :=g j for j=0, 1, wherein g + 0 =(g + 00 , g + 01) and g + 1 =(g + 10 , g + 11) is a Groebner basis G + for the next error locator.
Claim: 6. The ASIC of claim 4 , the method further comprising determining whether a root discrepancy is zero for j=1 and a derivative discrepancy is zero for j=1, and stopping setting of g + j , if it is determined that both the root discrepancy and the derivative discrepancy are zero for j=1.
Claim: 7. The ASIC of claim 4 , further comprising tracking a degree of Groebner basis function g 00 with a variable d 0 by increasing d 0 by 1 whenever j*=0.
Claim: 8. The ASIC of claim 4 , further comprising: tracking two polynomials g 01 (X), g 11 (X); and calculating g j0 (α r −1) by using the key equation for j=0,1.
Claim: 9. The ASIC of claim 8 , wherein calculating g j0 (α r −1) comprises: calculating and storing, for k=2t−δ−1 to 2t−2, {tilde over (B)} k+1 =α r −1 ·{tilde over (B)} k −(g j1) 2t−1−k and result=result+S k+1 {tilde over (B)} k+1 , wherein δ:=deg(g j1), {tilde over (B)} k is initialized to 0, (g j1) m is a coefficient of X m in g j1 , result is initialized to 0, and S k+1 is a coefficient of the syndrome polynomial; updating result=result·(α r −1) 2t ; and outputting result, wherein the steps of calculating and storing, for k=2t−δ−1 to 2t−2, {tilde over (B)} k+1 and result, updating result and outputting result are performed while adjoining the next weak coordinate α r .
Claim: 10. The ASIC of claim 9 , further comprising calculating and storing (α m −1) 2t for all weak coordinates α m , wherein t=└(d−1)/2┘ is an error correction radius of a GRS code of designed distance d.
Claim: 11. A non-transitory program storage device readable by a computer, tangibly embodying a program of instructions executed by the computer to perform the method steps for fast Chase decoding of generalized Reed-Solomon (GRS) codes, the method comprising the steps of: receiving, by the computer, a GRS codeword y=x+e from a communication channel, wherein where x is a transmitted ORS codeword, and e is an error vector; using outputs of a syndrome-based hard-decision (HD) algorithm to find an initial Groebner basis G={g 0 =(g 00 , g 01), g 1 =(g 10 , g 11)} for a solution module of a key equation, upon failure of HD decoding of the GRS codeword; traversing a tree of error patterns in [mathematical expression included] on a plurality of unreliable coordinates to adjoin a next weak coordinate wherein n 0 is a number of the unreliable coordinates, i 1 , . . . , i n o are the unreliable coordinates, vertices of the tree of error patterns correspond to error patterns, and edges connect a parent error pattern to a child error pattern having exactly one additional non-zero value, to find a Groebner basis G + for each adjoining error location; and outputting an estimated transmitted codeword {circumflex over (x)}:=y+ê when a correct error vector ê has been found.
Claim: 12. The computer readable program storage device of claim 11 , wherein the syndrome-based HD algorithm is selected from a group that includes the Berlekamp-Massey (BM) algorithm and Fitzpatrick's algorithm.
Claim: 13. The computer readable program storage device of claim 11 , wherein finding an initial Groebner basis G comprises: defining polynomials b 1 :=(Sσ mod X d−1 , σ), and b 2 :=(SX m B mod X d−1 , X m B), wherein S is the syndrome polynomial, σ is the estimated ELP output by the BM algorithm, m is the number of iterations since the last linear feedback shift register (LFSR) length change in the BM algorithm, and B is a polynomial output from the BM algorithm that is a copy of the last estimated ELP σ before the LFSR length L was updated; and outputting one of (1) c{b 1 , b 2 } as the Groebner basis when leading monomials of b 1 and b 2 contain distinct unit vectors, for a non-zero constant c; (2) {d(b 1 −cX l b 2), db 2 } as the Groebner basis when the leading monomials contain a same unit vector and the leading monomial of b 1 is at least as large as that of b 2 , wherein c∈K* and l∈N are chosen such that the leading monomial of b 2 is canceled and d is a non-zero constant, or (3) {db 1 , d(b 2 −cX l b 1)} as the Groebner basis when the leading monomials contain the same unit vector and the leading monomial of b 2 is strictly larger than that of b 1 , wherein c∈K* and l∈N* are chosen such that the leading monomial of b 2 is canceled and d is a non-zero constant.
Claim: 14. The computer readable program storage device of claim 11 , wherein traversing a tree of error patterns to find a Groebner basis G + for each adjoining error location comprises: calculating a root discrepancy Δ j rt :=g j1 (α r −1) for j=0 and 1, wherein g 0 =(g 00 (X), g 01 (X)) and g 1 =(g 10 (X), g 11 (X)) constitute a current Groebner basis and α r is a next error location and r is a number of error locations; setting, when a set [mathematical expression included] when (j≠j′), wherein j*∈J is such that a leading monomial of g j* is a minimum leading monomial of (g j) for all j∈J and c is a non-zero constant, or g + j :=c (X−α r −1)g j* when j=j*, wherein X is a free variable; setting g j :=g + j for j=0 and 1; calculating a derivative discrepancy Δ j der :=β r α r g′ j1 (α r −1)+α r g j0 (α r −1) for j=0 and 1, wherein β r is a value of location α r , and g′ j1 , (X) is a formal derivative of g j1 (X); setting, when a set [mathematical expression included] when (j≠j), wherein j*∈J is such that a leading monomial of M(g j*):=a minimum leading monomial of (g j) for all j∈J and c is a non-zero constant, or g + j :=c(X−α r −1)g j* when j=j*.
Claim: 15. The computer readable program storage device of claim 14 , further comprising, when set J:={j∈{0, 1}|Δ j rt ≠0}=Ø or when set J:={j∈{0, 1}|Δ j der ≠0}=Ø, setting g + j :=g j for j=0, 1, wherein g + 0 =(g + 00 , g + 01) and g + 1 =(g + 10 , g + 11) is a Groebner basis G + for the next error locator.
Claim: 16. The computer readable program storage device of claim 14 , the method further comprising determining whether a root discrepancy is zero for j=1 and a derivative discrepancy is zero for j=1, and stopping setting of g + j , if it is determined that both the root discrepancy and the derivative discrepancy are zero for j=1.
Claim: 17. The computer readable program storage device of claim 14 , further comprising tracking a degree of Groebner basis function g 00 with a variable d 0 by increasing d 0 by 1 whenever j*=0.
Claim: 18. The computer readable program storage device of claim 14 , further comprising: tracking two polynomials g 01 (X), g 11 (X); and calculating g j0 (α r −1) by using the key equation for j=0,1.
Claim: 19. The computer readable program storage device of claim 18 , wherein calculating g j0 (α r −1) comprises: calculating and storing, for k=2t−δ−1 to 2t−2, {tilde over (B)} k+1 =α r −1 ·{tilde over (B)} k −(g j1) 2t−1−k and result=result+S k+1 {tilde over (B)} k+1 , wherein δ:=deg(g j1), {tilde over (B)} k is initialized to 0, (g j1) m is a coefficient of X m in g j1 , result is initialized to 0, and S k+1 is a coefficient of the syndrome polynomial; updating result=result·(α r −1) 2t ; and outputting result, wherein the steps of calculating and storing, for k=2t−δ−1 to 2t−2, {tilde over (B)} k+1 and result, updating result and outputting result are performed while adjoining the next weak coordinate α r .
Claim: 20. The computer readable program storage device of claim 19 , further comprising calculating and storing (α m −1) 2t for all weak coordinates α m , wherein t=└(d−1)/2┘ is an error correction radius of a GRS code of designed distance d.
Patent References Cited: 7254165 August 2007 Xie et al.
7900122 March 2011 Shen et al.
8149925 April 2012 Goldman et al.
8209590 June 2012 Shen et al.
8245117 August 2012 Wu
8327241 December 2012 Wu et al.
8495448 July 2013 Shen et al.
8650466 February 2014 Wu
8674860 March 2014 Wu
8850298 September 2014 Wu
8908810 December 2014 Arambepola et al.
2007/0153724 July 2007 Cheon et al.
2016/0301429 October 2016 Shany et al.










Other References: Maria Bras-Amoros, et al., “From the Euclidean Algorithm for Solving a Key Equation for Dual Reed-Solomon Codes to the Berlekamp-Massey Algorithm,” AAECC 2009, LNCS 5527, pp. 32-42, 2009. cited by applicant
Yingquan Wu, “Fast Chase Decoding Algorithms and Architecture for Reed-Solomon Codes,” IEEE Transaction on Information Theory, vol. 56, No. 1, Jan. 2012. cited by applicant
Xinmiao Zhang, “Interpolation-Based Chase BCH Decoder,” Information Theory and Applications Workshop (ITA), 2014, pp. 1-5. cited by applicant
Mostafa El-Khamy, et al., “Iterative Algebraic Soft-Decision List Decoding of Reed-Solomon Codes,”IEEE Journal on Selected Areas in Communications, vol. 24, No. 3, Mar. 2006. cited by applicant
James L. Massey, “Shift-Register Synthesis and BCH Decoding,” IEEE Transactions on Information Theory, vol. IT-15, No. 1, Jan. 1969, pp. 122-127. cited by applicant
Peter Beelen, et al., “On Rational-Interpolation Based List-Decoding and List-Decoding Binary Goppa Codes,” IEEE Transactions on Information Theory ( vol. 59, Issue: 6, Jun. 2013); pp. 1-16. cited by applicant
David Chase, “A Class of Algorithms for Decoding Block Codes With Channel Measurement Information,” IEEE Transaction on Information Theory, vol. IT-18, No. 1, Jan. 1972, pp. 170-182. cited by applicant
Patrick Fitzpatrick, “On the Key Equation.” IEEE Transaction on Information Theory, vol. 41, No. 5 Sep. 1995, pp. 1290-1302. cited by applicant
Rachit Agarwal, “On Computation of Error Locations and Values in Hermitian Codes,”, Proc., IEEE Intl. Symp. Info. Theory, pp. 1-10, Dec. 11, 2007. cited by applicant
Section 5.1 of R. M. Roth, Introduction to Coding Theory, Cambridge University Press, 2006. cited by applicant
R. J. McEliece, “The Guruswami-Sudan decoding algorithm for Reed-Solomon codes,” IPN Progress Report, vol. 42-153, May 2003. cited by applicant
Primary Examiner: Rizk, Samir E
Attorney, Agent or Firm: F. Chau & Associates, LLC
Prístupové číslo: edspgr.10404407
Databáza: USPTO Patent Grants
Popis
Abstrakt:An application specific integrated circuit (ASIC) tangibly encodes a program of instructions executable by the integrated circuit to perform a method for fast Chase decoding of generalized Reed-Solomon (GRS) codes. The method includes using outputs of a syndrome-based hard-decision (HD) algorithm to find an initial Groebner basis G for a solution module of a key equation, upon failure of HD decoding of a GRS codeword received by the ASIC from a communication channel; traversing a tree of error patterns on a plurality of unreliable coordinates to adjoin a next weak coordinate, where vertices of the tree of error patterns correspond to error patterns, and edges connect a parent error pattern to a child error pattern having exactly one additional non-zero value, to find a Groebner basis for each adjoining error location; and outputting an estimated transmitted codeword when a correct error vector has been found.