High speed hardware implementation of modified Reed-Solomon decoder
First Claim
1. A decoder suitable for use in a digital communications system utilizing an RS(n′
- , k′
) code modified from an RS(n, k) code, wherein the decoder receives n′
-symbol vectors each including k′
message symbols and r′
=n′
−
k′
parity symbols and decodes the n′
-symbol vectors to correct errors therein, wherein n, k, n′
, and k′
are integers, and k′
<
n′
<
n, k′
<
k <
n, and wherein the decoder stores one erasure locator polynomial σ
0(x), the decoder comprising;
a syndrome calculator for receiving the n′
-symbol vectors and for calculating syndromes of each n′
-symbol vector, wherein the i-th syndrome Si of one n′
-symbol vector R′
, (rn′
−
1, rn′
−
2, . . . , r0), is Si=Rs(α
i+1) for i=0, 1, . . . , n−
k−
1, wherein Rs(x)=rn′
−
1xn′
−
1+rn′
−
2xn′
−
2+ . . . +r0;
an index adjustment circuit for generating an adjusted error/erasure locator polynomial {tilde over (σ
)}(x) and an adjusted error/erasure evaluator polynomial {tilde over (ω
)}(x) based on the syndromes calculated by the syndrome calculator;
a memory device for storing the one erasure locator polynomial σ
0(x) and a look-up table; and
means for finding the locations and values of the errors in each n′
-symbol vector based on the adjusted error/erasure locator polynomial {tilde over (σ
)}(x) and the adjusted error/erasure evaluator polynomial {tilde over (ω
)}(x), using the look-up table.
1 Assignment
0 Petitions
Accused Products
Abstract
A decoder suitable for use in a digital communications system utilizing an RS(n′, k′) code modified from an RS(n, k) code receives n′-symbol vectors each including k′ message symbols and r′=n′−k′ parity symbols and decodes the n′-symbol vectors to correct errors therein, wherein n, k, n′, and k′ are integers, and k′<n′<n, k′<k<n, and wherein the decoder stores therein one erasure locator polynomial σ0(x). The decoder includes a syndrome calculator for receiving the n′-symbol vectors and for calculating syndromes of each n′-symbol vector, wherein the i-th syndrome Si of one n′-symbol vector R′, (rn′−1, rn′−2, . . . , r0), is Si=Rs(αi+1) for i=0, 1, . . . , n−k−1, wherein Rs(x)=rn′−1xn′−1+rn′−2xn′−2+ . . . +r0, and means for finding the locations and values of the errors in each n′-symbol vector using the syndromes thereof and the one erasure locator polynomial σ0(x).
35 Citations
27 Claims
-
1. A decoder suitable for use in a digital communications system utilizing an RS(n′
- , k′
) code modified from an RS(n, k) code, wherein the decoder receives n′
-symbol vectors each including k′
message symbols and r′
=n′
−
k′
parity symbols and decodes the n′
-symbol vectors to correct errors therein, wherein n, k, n′
, and k′
are integers, and k′
<
n′
<
n, k′
<
k <
n, and wherein the decoder stores one erasure locator polynomial σ
0(x), the decoder comprising;a syndrome calculator for receiving the n′
-symbol vectors and for calculating syndromes of each n′
-symbol vector, wherein the i-th syndrome Si of one n′
-symbol vector R′
, (rn′
−
1, rn′
−
2, . . . , r0), is Si=Rs(α
i+1) for i=0, 1, . . . , n−
k−
1, wherein Rs(x)=rn′
−
1xn′
−
1+rn′
−
2xn′
−
2+ . . . +r0;an index adjustment circuit for generating an adjusted error/erasure locator polynomial {tilde over (σ
)}(x) and an adjusted error/erasure evaluator polynomial {tilde over (ω
)}(x) based on the syndromes calculated by the syndrome calculator;a memory device for storing the one erasure locator polynomial σ
0(x) and a look-up table; andmeans for finding the locations and values of the errors in each n′
-symbol vector based on the adjusted error/erasure locator polynomial {tilde over (σ
)}(x) and the adjusted error/erasure evaluator polynomial {tilde over (ω
)}(x), using the look-up table. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
- , k′
-
10. A digital communications system utilizing an RS(n′
- , k′
) code modified from an RS(n, k) code, wherein n, k, n′
, and k′
are integers, and k′
<
n′
<
n, k′
<
k <
n, comprising;a channel for data transmission; a transmitter for encoding k′
-symbol message blocks into n-symbol codewords and transmitting n′
-symbols of each codeword into the channel; anda receiver for receiving and decoding n′
-symbol vectors each corresponding to the n′
symbols of one codeword transmitted by the transmitter, the receiver comprisinga memory device having stored therein one erasure locator polynomial σ
0 (x) and look-up tables,a syndrome calculator for receiving the n′
-symbol vectors and for calculating syndromes of each n′
-symbol vector, wherein the i-th syndrome Si of one n′
-symbol vector R′
, (rn′
−
1, rn′
−
2, . . . , r0), is Si=Rs(α
i+1) for i=0, 1, . . . , n−
k−
1, wherein Rs(x)=rn′
−
1xn′
−
1+rn′
−
2xn′
−
2+ . . . +r0, andmeans for finding the locations and values of the errors in each n′
-symbol vector using the syndromes thereof and the one erasure locator polynomial σ
0(x). - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
- , k′
-
20. A method performed by a decoder for decoding an RS( n′
- , k′
) code modified from an RS( n, k) code, wherein n, k, n′
, and k′
are integers, and k′
<
n′
<
n, k′
<
k <
n, the method comprising;storing one erasure locator polynomial σ
0(x) in a memory device in the decoder;receiving n′
-symbol vectors each corresponding to a k′
-symbol message block; anddecoding each n′
-symbol vector R′
, (rn′
−
1, rn′
−
2, . . . , r0), includingcalculating syndromes of R′
, wherein the i-th syndrome Si is Si=Rs(α
i+1) for i=0, 1, . . . , n−
k−
1, wherein Rs(x)=rn′
−
1xn′
−
1+rn′
−
2xn′
−
2+ . . . +r0;generating an adjusted error/erasure locator polynomial {tilde over (σ
)}(x) and an adjusted error/erasure evaluator polynomial {tilde over (ω
)}(x) based on the syndromes; andfinding the locations and values of errors in R′
based on the adjusted error/erasure locator polynomial {tilde over (σ
)}(x) and the adjusted error/erasure evaluator polynomial {tilde over (ω
)}(x), using a look-up table stored in the memory device. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
- , k′
Specification