Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
F.J. MacWilliams and N.J.A. Sloane, The Theory of Error Correcting Codes, Chapter 18.
-1-
Pasting two codes side by side Let G1 , G2 generator matrices for [n1 , k, d1 ], [n2 , k, d2 ] codes. The code with G = (G1 |G2 ) is a [n1 + n2 , k, d d1 + d2 ] code. Direct sum of two codes Let G1 , G2 generator matrices for [n1 , k, d1 ], [n2 , k, d2 ] codes. G1 0 is a [n1 + n2 , 2k, d = min{d1 , d2 }) code The code with G = 0 G2 Let C1 (n, M1 , d1 ) and C2 (n, M2 , d2 ) codes of the same length. The code C3 = {(u|v); u C1 , v C2 } is a (2n, M1 M2 , d = min{d1 , d2 }) code.
-2-
The |u|u + v| construction Let C1 (n, M1 , d1 ) and C2 (n, M2 , d2 ) codes of the same length. The code C3 = {(u|u + v); u C1 , v C2 } is a (2n, M1 M2 , d = min{2d1 , d2 }) code. Notice that if v1 = v2 then d((u1 |u1 + v1 ), (u2 |u2 + v2 ) = d(u1 , u2 ) + d(u1 + v1 , u2 + v2 ) d(u1 , u2 ) + d(v1 , v2 ) d(u1 , u2 ) d2 Example: C1 = [4, 3, 2]2 , C2 = [4, 1, 4]2 C3 = [8, 4, 4]2 is the rst order RM code C1 = [8, 4, 4]2 , C2 = [8, 1, 8]2 C3 = [16, 8, 8]2 is the rst order RM code
-3-
-4-
-5-
-6-
(1) T
(v1 , v2 , . . . vk2 ) gj
= gi = gi
(1) T
(h1 , h2 , . . . hk1 )T gj
(2) (2)
(1) T (1) T
h1 , h2 , . . . hk1 )T gj vj
= gi
= ci,j
(1)
-7-
Lemma: The direct product C1 C2 code is linear over GF (q) with parameters [n1 n2 , k1 k2 , d1 d2 ] Lemma: Let G1 and C2 the generator matrices for C1 and C2 . The the Kronecker product G1 G2 is the generator matrix for C1 C2 The Kronecker product is dened as A B = (ai,j B) The generator matrix for the [3, 2, 2] [3, 2, 2] code is
0 1 1 1 0 1 1 0 1 = 0 1 1 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 1
-8-
c(x, y) =
i=0 j=0
ci,j xi y j
where xn1 = y n2 = 1 If n1 and n2 are relatively prime then from the Chinese remainder theorem, for each pair (i1 , i2 ), 0 i1 < n1 , 0 i2 < n2 there is a unique integer I(i1 , i2 ) = i1 N2 n2 + i2 N1 n1 , where N1 n1 = 1 mod n2 , and N2 n2 = 1 mod n1 such that 0 I(i1 , i2 ) < n1 n2 and I mod n1 = i1 and I mod n2 = i2 . This implies that c(x, y) can be written in terms of a single variable z = xy by replacing each term xi y j by z I(i,j) .
-9-
Example: If n1 = 3, n2 = 5 then 3N1 = 1 Therefore, I(i, j) = 2 5i + 2 3j and c(x, y) = c(z) = a00 z 0 + a01 z 6 + a02 z 12 + a03 z 3 + a04 z 9 = a10 z 10 + a11 z 1 + a12 z 7 + a13 z 13 + a14 z 4 = a20 z 5 + a21 z 11 + a22 z 2 + a13 z 8 + a24 z 14 mod 15 mod 5 N1 = 2, 5N2 = 1 mod 3 N2 = 2
-10-
Theorem: If C1 and C2 are cyclic codes and GCD(n1 , n2 ) = 1 then C3 = C1 C2 is also cyclic. Proof: If C1 and C2 are cyclic codes then y c(x, y) C3 and so is xy c(x, y) C3 . Thus zc(z) C3 . Example: C1 = [3, 2, 2] and C2 = [5, 4, 2] the code C3 = C1 C2 = [15, 8, 4] is a cyclic code. Not all cyclic codes are direct product of cyclic codes Example: The binary cyclic code [15, 4, 8] is not a direct product of cyclic codes Theorem:[Mac-Williams ans Sloane ch.18.3] There exists cyclic codes C1 and C2 of lengths n1 , n2 such that C3 = C1 C2 i GCD(k1 , k2 ) = 1. Example:C3 = [21, 6, 8] C1 = [7, 3, 4] and C2 = [3, 2, 2] the code is a cyclic code.
-11-