Podrobná bibliografia
| Názov: |
GROEBNER-BASES APPROACH TO FAST CHASE DECODING OF GENERALIZED REED-SOLOMON CODES |
| Document Number: |
20190068319 |
| Dátum vydania: |
February 28, 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. |
| 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; using outputs of a syndrome-based hard-decision (HD) algorithm to find an initial Groebner basis G={g0=(g00, g01), g1=(g10, g11)} 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 in [mathematical expression included] on a plurality of unreliable coordinates to adjoin a next weak coordinate wherein n0 is a number of the unreliable coordinates, i1, . . . , in0 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 b1:=(Sσ mod Xd−1, σ), and b2:=(SXmB mod Xd−1, XmB), 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{b1b2} as the Groebner basis when leading monomials of b1 and b2 contain distinct unit vectors, for a. non-zero constant c; (2) {d(b1−cXlb2), db2} as the Groebner basis when the leading monomials contain a same unit vector and the leading monomial of b1 is at least as large as that of b2, wherein c∈K* and l∈N are chosen such that the leading monomial of b2 is canceled and d is a non-zero constant, or (3) {db1, d(b2−cXlb1)} as the Groebner basis when the leading monomials contain the same unit vector and the leading monomial of b2 is strictly larger than that of b1, wherein c∈K* and l∈N* are chosen such that the leading monomial of b2 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 Δjrt:=gj1(αr−1) for j=0 and 1, wherein g0=(g00(X), g01(X)) and g1=(g10(X), g11(X)) constitute a current Groebner basis and αris a next error location and r is a number of error locations; setting, when a set [mathematical expression included] when (j≠j*), wherein j*∈E is such that a leading monomial of gj* is a minimum leading monomial of (gj) for all j∈J and c is a non-zero constant, or g+j:=c(X−αr−1)gj* when j=j*, wherein X is a free variable; setting gj:=g+j for j=0 and 1; calculating a derivative discrepancy Δjder:=βrαrg′j1(αr−1)+αrgj0(αr−1) for j=0 and 1, wherein βr is a value of location αr, and g′j1(X) is a formal derivative of gj1(X); setting, when a set [mathematical expression included] when (j≠j), wherein j*∈J is such that a leading monomial of M(gj*)=a minimum leading monomial of (gj) for all j∈J and c is a non-zero constant, or g+j:=c(X−αr−1)gj* when j=j*. |
| Claim: |
5. The ASIC of claim 4, further comprising, when set J:={j∈{0, 1}|Δjrt≠0}=Ø or when set J:={j∈{0, 1}|Δjder≠0}=Ø, setting g+j:=gj 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 g00 with a variable d0 by increasing d0 by 1 whenever j*=0. |
| Claim: |
8. The ASIC of claim 4, further comprising; tracking two polynomials g01(X), g11(X); and calculating gj0(αr−1) by using the key equation for j=0,1. |
| Claim: |
9. The ASIC of claim 8, wherein calculating gj0(αr−1) comprises: calculating and storing, for k=2t−δ−1 to 2t−2, {tilde over (B)}k+1=αr−1·{tilde over (B)}k−(gj1)2t−1−k and result=result+Sk+1{tilde over (B)}k+1, wherein δ:=deg(gj1), {tilde over (B)}k is initialized to 0, (gj1)m is a coefficient of Xm in gj1, result is initialized to 0, and Sk+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 am, 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: using outputs of a syndrome-based hard-decision (HD) algorithm to find an initial Groebner basis G={g0=(g00, g01), g1=(g10, g11)} 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 in [mathematical expression included] on a plurality of unreliable coordinates to adjoin a next weak coordinate wherein n0 is a number of the unreliable coordinates, i1, . . . , in0 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 b1:=(Sσ mod Xd−1, σ), and b2:=(SXmB mod Xd−1, XmB), wherein S is the syndrome polynomial, σ is the estimated FIT 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 a before the LFSR length L was updated; and outputting one of (1) c{b1b2} as the Groebner basis when leading monomials of b1 and b2 contain distinct unit vectors, for a non-zero constant c; (2) {d(b1−cXlb2), db2} as the Groebner basis when the leading monomials contain a same unit vector and the leading monomial of b1 is at least as large as that of b2, wherein c∈K* and l∈N are chosen such that the leading monomial of b2 is canceled and d is a non-zero constant, or (3) {db1, d(b2−cXlb1)} as the Groebner basis when the leading monomials contain the same unit vector and the leading monomial of b2 is strictly larger than that of b1, wherein c∈K* and l∈N* are chosen such that the leading monomial of b2 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 Δjrt:=gj1(αr−1) for j=0 and 1, wherein g0=(g00(X), g01(X)) and g1=(g10(X), g11(X)) constitute a current Groebner basis and αris a next error location and r is a number of error locations; setting, when a set [mathematical expression included] when (j≠j*), wherein j*∈E is such that a leading monomial of gj* is a minimum leading monomial of (gj) for all j∈J and c is a non-zero constant, or g+j:=c(X−αr−1)gj* when j=j*, wherein X is a free variable; setting gj:=g+j for j=0 and 1; calculating a derivative discrepancy Δjder:=βrαrg′j1(αr−1)+αrgj0(αr−1) for j=0 and 1, wherein βr is a value of location αr, and g′j1(X) is a formal derivative of gj1(X); setting, when a set [mathematical expression included] when (j≠j), wherein j*∈J is such that a leading monomial of M(gj*)=a minimum leading monomial of (gj) for all j∈J and c is a non-zero constant, or g+j:=c(X−αr−1)gj* when j=j*. |
| Claim: |
15. The computer readable program storage device of claim 14, further comprising, when set J:={j∈{0, 1}|Δjrt≠0}=Ø or when set J:={j∈{0, 1}|Δjder≠0}=Ø, setting g+j:=gj 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 g00 with a variable d0 by increasing d0 by 1 whenever j*=0. |
| Claim: |
18. The computer readable program storage device of claim 14, further comprising: tracking two polynomials g01(X)q11(X); and calculating gj0(αr−1) by using the key equation for j=0,1. |
| Claim: |
19. The computer readable program storage device of claim 18, wherein calculating gj0(αr−1) comprises: calculating and storing, for k=2t−δ−1 to 2t−2, {tilde over (B)}k+1=αr−1·{tilde over (B)}k−(gj1)2t−1−k and result=result+Sk+1{tilde over (B)}k+1, wherein δ:=deg(gj1), {tilde over (B)}k is initialized to 0, (gj1)m is a coefficient of Xm in gj1, result is initialized to 0, and Sk+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 am, wherein t=[((d−1)/2] is an error correction radius of a GRS code of designed distance d. |
| Current International Class: |
04; 03 |
| Prístupové číslo: |
edspap.20190068319 |
| Databáza: |
USPTO Patent Applications |