High-speed real-time Reed-Solomon decoder
First Claim
1. A Galois Field decoder for correcting an error in a received message comprising:
- a. means for calculating a magnitude polynomial representing a portion of a magnitude of said error in said received message;
b. means for calculating a location polynomial representing a location of said error in said received message, said location polynomial having a first derivative polynomial;
c. means for calculating the first derivative polynomial of said location polynomial, said first derivative having a plurality of non-zero values, each of said non-zero values having an inverse;
d. means for calculating said inverse values;
e. means for multiplying each of said inverse values with a value of said magnitude polynomial for forming a correction polynomial; and
f. means for correcting said received message by combining the received polynomial with the correction polynomial.
3 Assignments
0 Petitions
Accused Products
Abstract
A Galois Field error correction decoder is described which can correct an error in a received polynomial. The apparatus includes means for generating a plurality of syndrome polynomials. A magnitude polynomial and a location polynomial having a first derivative are calculated from the syndrome polynomials utilizing Euclid'"'"'s Algorithm. The module utilizing Euclid'"'"'s Algorithm includes a general Galois Field multiplier having combinational logic circuits. The magnitude polynomial is divided by the first derivative of said location polynomial to form a quotient. Preferrably the division includes finding the inverse of the first derivative and multiplying the inverse by the magnitude polynomial. The error is corrected by exclusive ORing the quotient with the received polynomial.
-
Citations
13 Claims
-
1. A Galois Field decoder for correcting an error in a received message comprising:
-
a. means for calculating a magnitude polynomial representing a portion of a magnitude of said error in said received message; b. means for calculating a location polynomial representing a location of said error in said received message, said location polynomial having a first derivative polynomial; c. means for calculating the first derivative polynomial of said location polynomial, said first derivative having a plurality of non-zero values, each of said non-zero values having an inverse; d. means for calculating said inverse values; e. means for multiplying each of said inverse values with a value of said magnitude polynomial for forming a correction polynomial; and f. means for correcting said received message by combining the received polynomial with the correction polynomial. - View Dependent Claims (2)
-
-
3. A digital logic Galois Field polynomial solver which performs an operation during a clock pulse for correcting a received polynomial field element R(x), in a Galois Field in an (n, k) error correction code, wherein n is a number representing the number of unique elements in a code and k is number representing a number of elements of information in the code, comprising;
-
a. first means for evaluating Ω
(x), wherein Ω
(x) is a polynomialwhereby ##EQU15## represents a magnitude of an error said first means coupled within the poIynomial solver; b. second means for evaluating Λ
(x) where Λ
(x) is a polynomial representing a location of an error said second means coupled within the polynomial solver;c. third means for evaluating Λ
'"'"'(x), where Λ
'"'"'(x) is a polynomial representing a first derivative of Λ
(x);
said third means coupled within the polynomial solver andd. fourth means for evaluating said polynomials for an arbitrary n in n clock pulses said fourth means coupled within the polynomial solver. - View Dependent Claims (4)
-
- 5. A Galois Field syndrome generator of the type having a plurality of constant multipliers for generating a syndrome polynomial of 2t syndromes in n clock pulses, said generator having a register stack coupled to said multipliers for calculating said syndromes wherein the improvement comprises a shift register embodied coupled to said register stack and means for inhibiting said multipliers coupled to said multipliers.
-
8. A Galois Field Euclid Algorithm apparatus for operating on an arbitrary received polynomial R(x), for calculating a magnitude polynomial, Ω
-
i (x) having a first plurality of coefficients and a location polynomial, Λ
i (x), having a second plurality of coefficients, said magnitude polynomial representing a magnitude of an error in said received polynomial and said location polynomial representing a location of said error in said received polynomial for use with a code having t correctable errors, said apparatus comprising;a. a Euclid Algorithm divide module coupled to receive said received polynomial for implementing a first equation set forth below;
Ω
i (x)=Ω
i-2 (x) mod Ω
i-1 (x); andb. a Euclid Algorithm multiply module coupled to receive said received polynomial for implementing a second equation set forth below;
Λ
i (x)=-qi (x)Λ
i-1 (x)+Λ
i-2 (x). - View Dependent Claims (9)
-
i (x) having a first plurality of coefficients and a location polynomial, Λ
-
10. A Galois Field error correction decoder comprising:
-
a. means for receiving a received polynomial; b. means for generating a plurality of syndrome polynomials, for said received polynomial; c. means for calculating a magnitude polynomial and a location polynomial having a first derivative from said syndrome polynomials utilizing Euclid'"'"'s Algorithm, said means for calculating including a general Galois Field multiplier comprised of combinational logic circuits; d. means for dividing said magnitude polynomial by said first derivative of said location polynomial comprised of means for calculating an inverse of said first derivative and multiplying said inverse by said magnitude polynomial for forming a correction polynomial; and a. means for correcting an error in said received polynomial by combining the received polynomial with the correction polynomial.
-
-
11. A commutative general purpose multiplier in a GF(2n) Galois Field having a plurality of sets of elements, each element having a plurality of binary bits, with each set corresponding to a polynomial p(x) having one or more terms in said Galois Field, said multiplier for multiplying a first element by a second element comprising:
-
a. an n×
n array of multiplier cells arranged in n columns of multiplier cells, each column having n multiplier cells 0 through n-1, by n rows of multiplier cells, each row having n multiplier cells 0 through n-1, the column cells 0 through n-1 corresponding to the bits of a first element and the row cells 0 through n-1 corresponding to the bits of a second element such that each ith multiplier cell in each jth column is coupled to each (i+1)th multiplier cell in the jth column and to the (i+1)th multiplier cell in the (j+1)th column;b. a plurality of input means, one of said input means coupled to each said multiplier cell; and c. a plurality of feedback means, one or more in each row corresponding to said terms of said polynomial p(x) coupled between each said ith cell in the jth column and the (i+1)th cell in the (j+1)th column where appropriate according to p(x), and means for receiving an input from one of said columns of said array and for providing a feedback signal to one or more multiplier cells, whereby a product of said multiplier is one element of said set of elements. - View Dependent Claims (12, 13)
-
Specification