Claims
- 1. An error-correction encoder comprising:
- a shift register having an input coupled to a data input terminal of said encoder, the shift register having (d.sub.1 -1) storage elements, where (d.sub.1 -1) is the degree of a first generator polynomial defining a distance-d.sub.1 Reed-Solomon (RS) code according to which a data block may be encoded and whose code symbols are elements of a predetermined Galois field having a predetermined primitive element .alpha.;
- a set of Galois-field adders interspersed among the storage elements of said shift register such that each adder provides to an input of a corresponding one of said storage elements a sum of the contents of a preceding storage element appearing on a first input of the adder and whatever value appears on a second input of the adder;
- a first set of Galois-field multipliers each having a data symbol input coupled to said data input terminal and being capable of multiplying a value appearing on its data symbol input by a corresponding power of .alpha. appearing in said first generator polynomial;
- a second set of Galois-field multipliers each having a data symbol input coupled to said data input terminal and being capable of multiplying a value appearing on its data symbol input by a corresponding power of .alpha. appearing in a second generator polynomial being a complete divisor of said first generator polynomial and defining a distance-d.sub.2 RS code according to which said data block may be encoded and whose code symbols are, like those of said distance-d.sub.1 RS code, elements of said predetermined Galois field;
- means for selectively configuring said shift register so that all (d.sub.1 -1) elements thereof are used when said data block is to be encoded according to said distance-d.sub.1 RS code, and only (d.sub.2 -1) elements thereof are used when said data block is to be encoded according to said distance-d.sub.2 RS code, the elements that are used for both codes being denoted "shared" elements and the remainder being denoted "non-shared" elements;
- means for coupling the output of each of predetermined ones of said first set of multipliers to the second input of a corresponding appropriate one of those of said adders that provide sums to the inputs of the non-shared elements of said shift register to effect encoding by said distance-d.sub.1 RS code when said shift register is configured therefor; and
- means for selectively coupling the outputs of each of either the remaining ones of said first set of multipliers or all of said second set of multipliers to the second input of a corresponding appropriate one of those of said adders that provide sums to the inputs of the shared elements of said shift register to effect encoding by the corresponding one of said RS codes.
- 2. An error-correction decoder comprising:
- a syndrome calculator having d.sub.1 /2 stages for generating (d.sub.1 -1) error syndromes from a multi-symbol codeword encoded according to either a distance-d.sub.1 Reed-Solomon (RS) code or a distance-d.sub.2 RS code, roots of the distance-d.sub.2 RS code generator polynomial are a consecutive subset of roots of the generator polynomials of said distance-d.sub.1 RS code, the generated error syndromes being consecutively numbered to correspond to the consecutive roots of the generator polynomial of said distance-d.sub.1 RS code, a first (d.sub.1 /2)-1 stages each including a Galois field adder receiving a symbol of the codeword, an even and an odd syndrome register having outputs connected to an input of the Galois field adder, a first .alpha. multiplier connected to an output of the Galois field adder, and a second .alpha. multiplier connected to an output of the first a multiplier, the even syndrome register receiving an output of the second .alpha. multiplier and the odd syndrome register receiving the output of the first .alpha. multiplier, and the (d.sub.1 /2)th stage including a Galois field adder receiving a symbol of the codeword, a first .alpha. multiplier connected to an output of the Galois field adder and an odd syndrome register having an output connected to an input of the Galois field adder and an input connected to the output of the first .alpha. multiplier;
- means for indicating which of said RS codes is the one according to which said codeword is encoded; and
- an error-correction decoder coupled to said indicating means and to said syndrome calculator for determining presence, locations, and magnitudes of symbol errors in said codeword based on selected ones of the (d.sub.1 -1) generated error syndromes that correspond to the roots of the generator polynomial of the indicated RS codes
- wherein sharing of the Galois field adder and a multipliers by two syndrome registers in the first (d.sub.1 /2)-1 stages of the syndrome calculator provides the error-correction decoder with increased correctable symbol capbility while minimizing additional hardware.
Parent Case Info
This application is a continuation of application Ser. No. 08/269,589 filed Jul. 1, 1994, now abandoned.
US Referenced Citations (15)
Continuations (1)
|
Number |
Date |
Country |
Parent |
269589 |
Jul 1994 |
|