Sei sulla pagina 1di 12

METHODS FOR COMBINING CODES

Dr. Osnat Keren kereno@eng.biu.ac.il

F.J. MacWilliams and N.J.A. Sloane, The Theory of Error Correcting Codes, Chapter 18.
-1-

Methods for combining codes

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-

Methods for combining codes

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-

Methods for combining codes


Concatenating two codes Inner code [n, k, d]q Outer code [N, K, D]Q If q = 2 and Q = 2k , then the concatenated code (the super code) is a binary code of length nN, dimension kK and minimum distance dD Example: Inner binary code [8, 4, 4], outer code [12, 6, 7] Reed-Solomon code over GF (24 ) a concatenated [96, 24, 28] binary code

-4-

Methods for combining codes - Product codes


Basic denitions Let C1 and C2 be [n1 , k1 , d1 ] and [n2 , k2 , d2 ]q codes over GF (q) Suppose (for simplicity) that the information symbols are the rst k1 symbols of C1 and the rst k2 symbols of C2 Denition A direct product C1 C2 code is an [n1 n2 , k1 k2 , d1 d2 ]q code whose codewords consist of all the n1 n2 arrays constructed as follows: The top left corner contains k1 k2 information symbols. The rst k2 columns are chosen so as to belong to C1 The rows are completed so as to belong to C2

-5-

Product codes - Example


The direct product of the [3, 2, 2]2 code with itself is the [9, 4, 4]2 code consisting of 16 arrays. 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 0 1 0 1 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 1 0 1

-6-

Product codes (cont)


Lemma: The last n2 k2 columns a C3 = C1 C2 codeword are codewords of C1 Proof: Let G1 = (g1 , g2 , . . . , gn1 ) and G2 = (g1 , g2 , . . . , gn2 ) Let ci,j be the symbol of the ith row and jth column. Let hi = (ci,1 , ci,2 , . . . ci,k2 ) and vj = (c1,j , c2,j , . . . ck1 ,j )T . Then for i > k1 , j > k2 we have ci,j = hi gj = gi
(2) (2) (1) (1) (1) (2) (2) (2)

(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-

Product codes (cont)

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-

Product codes (cont)


Lemma: If C 1, C2 are cyclic codes, then the direct product C1 C2 is invariant under cyclic permutation of all rows simultaneously, or all the columns simultaneously. A codeword can be represented as
n1 1 n2 1

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-

Product codes (cont)

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-

Product codes (cont)

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-

Methods for shortening the code


Shortening of a code is done by deleting columns from H. Deleting i columns results in a [n i, k i, d] code Construction I: If the minimum distance d of the dual code is known assume that the rst row H has weight d and delete the colums of H where the rst row is 1. The parameters of the new code are [n d , (k d ) + 1, d] Construction II: Assume that the rst row of H is 1d 0nd . Let S C be the subset of codewords beginning with d zeros. Let T be the union of all the d 1 cosets of S in C beginning with 110d 2 , 1010d 3 , 10010d 4 , . . . , , 10d 2 1. Then if the rst d coordinates of T are deleted the result is an (n d , d 2kd 1 , d 2) nonlinear code. Construction III [Helgert and Stina]: Assume that the rst row of the generator matrix is 1d 0nd . 11 . . . 1 00 . . . 0 G= G1 G2 Then G2 is a generator matrix of an C2 = [n d, k 1, d2 d/2 ] code
-12-

Potrebbero piacerti anche