Systolic Reed-Solomon decoder
First Claim
Patent Images
1. A syndrome calculation device for decoding Reed-Solomon (N, K) encoded messages with m-bit symbols, where N<
- =2m−
1 and 2t=N−
K, comprising;
a serial input for a message;
a parallel output;
a set of 2t syndrome calculation cells each coupled to said serial input and said parallel output, wherein the syndrome calculation cellj includes;
a syndrome register having an output coupled to the parallel output;
a constant multiplier for a constant α
j, with its input coupled to the syndrome register;
an adder with its inputs coupled to the serial input and the constant multiplier;
a mux with its inputs coupled to a constant 0 and the adder and its output coupled to the syndrome register.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention includes a method and device useful for decoding a Reed-Solomon (N, K) encoded message of m-bit symbols and corresponding syndromes, where N<=2m−1 and N−K=2t. Systolic calculation cells are used, organized to minimize complexity and computation time. Aspects of the invention include designs for syndrome calculation, division of polynomials over a Galois field, applying Euclid'"'"'s algorithm, partitioning calculation cell arrays to reduce storage requirements, complexity and computation time, and evaluating an error location and polynomial and an error evaluator polynomial.
64 Citations
17 Claims
-
1. A syndrome calculation device for decoding Reed-Solomon (N, K) encoded messages with m-bit symbols, where N<
- =2m−
1 and 2t=N−
K, comprising;a serial input for a message;
a parallel output;
a set of 2t syndrome calculation cells each coupled to said serial input and said parallel output, wherein the syndrome calculation cellj includes;
a syndrome register having an output coupled to the parallel output;
a constant multiplier for a constant α
j, with its input coupled to the syndrome register;
an adder with its inputs coupled to the serial input and the constant multiplier;
a mux with its inputs coupled to a constant 0 and the adder and its output coupled to the syndrome register. - View Dependent Claims (2)
- =2m−
-
3. A device to divide polynomials over a Galois Field GF(2m) to decode a Reed-Solomon (N, K) encoded message of m-bit symbols, where N<
- =2m−
1 and N−
K=2t, comprising;a dividend polynomial array of first cells j=2t to 0, wherein first cellj is coupled to first cellj−
1 for j=2t to 1;
a divisor polynomial array of second cells j=2t to 1, wherein first cellj for j=2t to 2 is coupled to second cellj−
1;
a shared divider with its inputs coupled to first cell2t and second cell2t and its output coupled to the first cells; and
logic to calculate a quotient of first cell2t divided by second cell2t and a remainder polynomial equal to the dividend polynomial minus (said quotient times the divisor polynomial). - View Dependent Claims (4, 5, 6, 7)
- =2m−
-
8. A device to apply Euclid'"'"'s algorithm to decode a Reed-Solomon (N, K) encoded message of m-bit symbols and corresponding syndromes, where N<
- =2m−
1 and N−
K=2t, comprising;a dividend polynomial array of 2t+1 first cells, wherein first cellj is coupled to first cellj−
1;
a divisor polynomial array of 2t+1 second cells, wherein second cellj is coupled to first cellj and first cellj+1, and to second cellj−
1;
an array of t+1 third cells, wherein third cellj is coupled to first cellj, second cellj and third cellj−
1;
a shared divider with its inputs coupled to first cell2t and second cell2t and its output coupled to the first cells;
logic to calculate a quotient of first cell2t divided by second cell2t and a remainder polynomial of the dividend polynomial minus (said quotient times the divisor polynomial).
- =2m−
-
9. A device to apply Euclid'"'"'s algorithm to decode a Reed-Solomon (N, K) encoded message of m-bit symbols and corresponding syndromes S(x), where N<
- =2m−
1 and N−
K=2t, comprising;an array of 2t+1 first cells, 2t+1 second cells and t+1 third cells;
a shared divider coupled to the array, to divide first cell2t and second cell2t and output a quotient to the first cells;
logic to partition the first cells to represent polynomials Ω
(k−
2)(x) and Λ
(k−
2)(x) and to partition the second cells to represent polynomials Ω
(k−
1)(x) and Λ
(k−
1)(x), where k is an index of iteration; and
logic to calculate Λ
(k)(x)=Λ
(k−
2)(x)−
[Q(k)(x){circle around (×
)}Λ
(k−
1)(x)] and Ω
(k)(x)=Ω
(k−
2)(x)−
[Q(k)(x){circle around (×
)}Ω
(k−
1)(x)], where Q(k)(x)=Ω
(k−
2)(x){circle around (×
)}Ω
(k−
1)(x).- View Dependent Claims (10, 11, 12, 13)
- =2m−
-
14. A device for decoding Reed-Solomon (N, K) encoded messages with m-bit symbols, where N<
- =2m−
1 and 2t=N−
K, comprising;an array of first cells, logically partitioned into Ω
(i−
2) and Λ
(i−
2) cells, said first cells coupled to adjacent first cells;
an array of second cells, logically partitioned into Ω
(i−
1) and Λ
(i−
1) cells, said second cells coupled to corresponding and next higher order first cells and to adjacent second cells;
an array of third cells, said third cells coupled to the corresponding first and second cells and to adjacent third cells;
a shared divider coupled to first cells;
logic associated with the first, second and third cells to calculate a quotient q=Ω
(i−
2)/Ω
(i−
1) and a remainder of the quotient;
logic associated with the first, second and third cells to calculate Ω
(i)=Ω
(i−
2)−
Q(k)Ω
(i−
1); and
logic associated with the first, second and third cells to calculate Λ
(i)=Λ
(i−
2)−
Q(k)Λ
(i−
1).
- =2m−
-
15. A device for evaluating a t-term error location polynomial and a t-term error evaluator polynomial to decode Reed-Solomon (N, K) encoded messages with m-bit symbols, where N<
- =2m−
1 and 2t=N−
K, comprising;an array of t Ω
cells initialized with an error location polynomial;
an array of t Λ
cells initialized with an error evaluator polynomial, said array of Λ
cells including Λ
even and Λ
odd sub arrays;
a first constant factor generator coupled to the highest order cell of the Ω
array;
a second constant factor generator coupled to the highest order cell of the Λ
even and Λ
odd sub arrays;
logic to pass first constant factors values serially through the Ω
array cells and to evaluate Ω
(x) at values of xk generated by the first constant factor generator, where k is an index of iteration; and
logic to pass second constant factors serially through both the Λ
even array and the Λ
odd array and to evaluate Λ
even(x2) and Λ
odd(x2) at values of x2k generated by the second constant factor generator.- View Dependent Claims (16)
- =2m−
-
17. A device for decoding Reed-Solomon (N, K) encoded messages with m-bit symbols, where N<
- =2m−
1 and 2t=N−
K, comprising;syndrome calculation means for calculating a syndrome polynomial of a received Reed-Solomon (N, K) encoded message;
an array of 2t+1 first cells, logically partitioned into Ω
(i−
2) and Λ
(i−
2) cells, said first coupled to adjacent first cells;
an array of second cells, logically partitioned into Ω
(i−
1) and Λ
(i−
1) cells, said second cells receiving the syndrome polynomial from the syndrome calculation means and being coupled to the corresponding and next higher order first cells and to adjacent second cells;
an array of third cells, said third cells coupled to the first and second cells and to adjacent the third cells;
a shared divider coupled to the first and third cells;
logic associated with the first, second and third cells to apply Euclid'"'"'s algorithm and generate an error location and an error value polynomial;
Chien search means for identifying elements of GF(2{circumflex over ( )}m) which are roots of the error location polynomial, coupled to the logic to generate an error location polynomial; and
error evaluation means for evaluating the error value polynomial at roots of the error location polynomial, coupled to the logic to generate an error value polynomial and to the Chien search means.
- =2m−
Specification