Jump to content

Forney algorithm: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
BattyBot (talk | contribs)
m Removed non-content empty section(s), performed general fixes
Formal derivative: There was some nonsense sentence I removed. Every ring with identity $R$ has a unique map $\mathbb{Z}\to R$ sending 1 to 1, i.e. integers make sense as ring elements in any ring. I think this would be better if the whole paragraph of exposition was removed (include what I wrote)..
Line 46: Line 46:
<!-- nu is number of errors / order of Lambda(x). Better exposition needed. -->
<!-- nu is number of errors / order of Lambda(x). Better exposition needed. -->


In the above expression, note that ''i'' is an integer, and &lambda;<sub>''i''</sub> would be an element of the finite field. The operator &middot; represents ordinary multiplication (repeated addition in the finite field) and not the finite field's multiplication operator.
In the above expression, note that ''i'' is an integer, and &lambda;<sub>''i''</sub> would be an element of the finite field. The operator &middot; represents ordinary multiplication (repeated addition in the finite field) which is the same as the finite field's multiplication operator, i.e.
:<math>

i\lambda = (1+\ldots+1)\lambda=\lambda+\ldots+\lambda.
</math>
For instance, in characteristic 2, <math>i\lambda=0, \lambda</math> according as ''i'' is even or odd.
<!-- discuss simplification. When addition is exclusive or (common case), only odd ''i'' are relevant. -->
<!-- discuss simplification. When addition is exclusive or (common case), only odd ''i'' are relevant. -->



Revision as of 18:19, 28 February 2023

In coding theory, the Forney algorithm (or Forney's algorithm) calculates the error values at known error locations. It is used as one of the steps in decoding BCH codes and Reed–Solomon codes (a subclass of BCH codes). George David Forney Jr. developed the algorithm.[1]

Procedure

Need to introduce terminology and the setup...

Code words look like polynomials. By design, the generator polynomial has consecutive roots αc, αc+1, ..., αc+d−2.

Syndromes

Error location polynomial[2]

The zeros of Λ(x) are X1−1, ..., Xν−1. The zeros are the reciprocals of the error locations .

Once the error locations are known, the next step is to determine the error values at those locations. The error values are then used to correct the received values at those locations to recover the original codeword.

In the more general case, the error weights ej can be determined by solving the linear system

However, there is a more efficient method known as the Forney algorithm, which is based on Lagrange interpolation. First calculate the error evaluator polynomial[3]

Where S(x) is the partial syndrome polynomial:[4]

Then evaluate the error values:[3]

The value c is often called the "first consecutive root" or "fcr". Some codes select c = 1, so the expression simplifies to:

Formal derivative

Λ'(x) is the formal derivative of the error locator polynomial Λ(x):[3]

In the above expression, note that i is an integer, and λi would be an element of the finite field. The operator · represents ordinary multiplication (repeated addition in the finite field) which is the same as the finite field's multiplication operator, i.e.

For instance, in characteristic 2, according as i is even or odd.

Derivation

Lagrange interpolation

Gill (n.d., pp. 52–54) gives a derivation of the Forney algorithm.

Erasures

Define the erasure locator polynomial

Where the erasure locations are given by ji. Apply the procedure described above, substituting Γ for Λ.

If both errors and erasures are present, use the error-and-erasure locator polynomial

See also

References

  1. ^ Forney 1965
  2. ^ Gill n.d., p. 24
  3. ^ a b c Gill n.d., p. 47
  4. ^ Gill (n.d., p. 48)
  • Forney, G. (October 1965), "On Decoding BCH Codes", IEEE Transactions on Information Theory, 11 (4): 549–557, doi:10.1109/TIT.1965.1053825, ISSN 0018-9448
  • Gill, John (n.d.), EE387 Notes #7, Handout #28 (PDF), Stanford University, pp. 42–45, archived from the original (PDF) on June 30, 2014, retrieved April 21, 2010
  • W. Wesley Peterson's book