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