|
C.8.1 Codes and the decoding problem
Codes
-
Let 799#799 be a field with 800#800 elements. A linear code 78#78 is a linear subspace of 801#801 endowed with the
Hamming metric.
-
Hamming distance between x,y
802#802.
Hamming weight of x
803#803.
-
Minimum distance of the code
804#804.
-
The code 78#78 of dimension 282#282 and minimum distance 171#171 is denoted as 805#805.
-
A matrix 190#190 whose rows are the base vectors of 78#78 is the generator matrix.
-
A matrix 806#806 with the property
807#807 is the check matrix.
Cyclic codes
The code 78#78 is cyclic, if for every codeword
808#808 in 78#78 its
cyclic shift
809#809 is again a codeword in 78#78.
When working with cyclic codes, vectors are usually presented as polynomials.
So 810#810 is represented by the polynomial
811#811 with 812#812, more
precisely 813#813 is an element of the factor ring
814#814.
Cyclic codes over 799#799 of length 17#17 correspond one-to-one to ideals in this factor ring.
We assume for cyclic codes that 815#815. Let 816#816 be
the splitting field of 817#817 over 799#799. Then 710#710 has a primitive 17#17-th root of unity which will be denoted by 4#4.
A cyclic code is uniquely given by a defining set 818#818 which is a subset of 819#819 such that
820#820
A cyclic code has several defining sets.
Decoding problem
-
Complete decoding: Given 821#821 and a code
822#822, so that 41#41 is at distance 823#823 from
the code, find
824#824.
-
Bounded up to half the minimum distance: With the additional assumption
825#825, a codeword with the above property
is unique.
Decoding via systems solving
One distinguishes between two concepts:
-
Generic decoding: Solve some system 826#826 and obtain some "closed" formulas 827#827. Evaluating these formulas
at data specific to a received word 828#828 should yield a solution to the decoding problem. For example for
829#829. The roots of 830#830 yield error positions, see the section on the
general error-locator polynomial.
-
Online decoding: Solve some system 831#831. The solutions should solve the decoding problem.
Computational effort
- Generic decoding. Here, preprocessing is very hard, whereas decoding is relatively simple (if the formulas are sparse).
- Online decoding. In this case, decoding is the hard part.
|