
BCH Codes (Bose, Chaudhuri and Hocquenghem) Introduction How do we modify a Hamming code to correct two errors? In other words, how can we increase its minimum distance from 3 to 5? We will either have to lengthen the code words or eliminate some of them from our code. Correcting two errors in a long word may not be much better than correcting one error in a short one. So we will try to produce a double error correcting subcode of the Hamming code by removing some code words to make a new code. BCH codes is a generalization of Hamming codes for multiple error correction. Binary BCH codes were ¯rst discovered by A. Hocquenghem in 1959 and independently by R.C. Bose and D.K. Ray-Chaudhuri in 1960. 1 BCH Codes as Subcodes of Hamming Codes Recall that an encoder E for a linear binary (n; m)-block code C is a linear map from Bm to Bn. De¯nition 1.1 Let C be a linear (n; m)-code with encoder E. Let the n £ m matrix G be chosen so that E(x) = GxT for any word x of length m. Then G is called a generator matrix of the code C. De¯nition 1.2 A check matrix for a linear code C over a ¯eld F is a k £ n matrix H with the property that for any word v in F n, HvT = 0 if and only if v 2 C. The number k is arbitrary here, but the smallest possible value for k is n ¡ m.In terms of linear algebra, C is the null space of H. The most natural way of reducing the set of words of a Hamming code is by introducing further checks, i.e. adding new rows to the Hamming check matrix Hk. The additional checks may be a linear combination of the ones that we have. In that case, the set of code words will not be changed. Although the set of code words may be reduced, the minimum distance may not be increased. Finding additional checks is not easy at all, because we have to ¯nd a nonlinear extension rows for the check matrix Hk. On the other hand, if we form the extra rows in an unstructured way, it will be di±cult to prove that the minimum distance increases. So, new rows must be de¯ned in a systematic way. Since B = f0; 1g has only two elements, it is not easy to de¯ne nonlinear functions for binary vectors. For this, we follow this trick: we gather bits together in groups of k and consider the groups to represent the elements of the ¯eld GF (2k). For this larger ¯eld there are many nonlinear functions, for example f(x) = x3. 4 Example 1.3 Consider the columns of the Hamming check matrix H4 as representing the nonzero elements of GF (2 ) = 4 3 B[x]=(x + x + 1). Choosing the columns of H4 in a decreasing powers of the primitive element 2 gives the check matrix H4 in the following form. (12 6 3 13 10 5 14 7 15 11 9 8 4 2 1) In binary digits, this matrix is, 0 1 100110101111000 B C B 110101111000100 C @ 011010111100010 A 001101011110001 Now we add further rows of elements of GF (24) to extend the matrix as simple as possible. the simplest way of extending the rows is to choose each entry as a function of the original entry at the head of its column, i.e. 0 1 2i B i C B f1(2 ) C B C B C @ A i fr(2 ) where fi is some function for i = 1; :::; r. Good choice of f1; :::; fr will enable us to correct an additional error per block. Vandermonde Matrices Theorem 1.4 Let C be a linear code with check matrix H. Then C has minimum distance greater than d if and only if no set of d columns of H is linearly independent. There are families of matrices for which the condition can be veri¯ed. The simplest of these families is the class of of Vandermonde matrices. De¯nition 1.5 An n £ n Vandermonde matrix V is de¯ned as follows: The ¯rst row of V can be chosen arbitrarily ¸1; ¸2; :::; ¸n, then the whole matrix is 0 1 ¸1 ¸2 ::: ¸n B 2 2 2 C B ¸1 ¸2 ::: ¸n C B C V = V (¸1; ¸2; :::; ¸n) = B C @ A n n n ¸1 ¸2 ¸n Theorem 1.6 If ¸1; ¸2; :::; ¸n are distinct, then the columns of V = V (¸1; ¸2; :::; ¸n) are linearly independent over F . Extending a Hamming Check Matrix We have the following proposition from linear codes: Proposition 1.7 A code can correct all errors of weight · t if and only if it has minimum distance ¸ 2t + 1. De¯nition 1.8 We de¯ne the double error correcting BCH code BCH(k,2) to have the check matrix Vk;2 with columns 0 1 ®i B 2i C B ® C @ ®3i A ®4i Here ® is the primitive element of the ¯eld. Example 1.9 V4;2 has the following form. 0 1 12 6 3 13 10 5 14 7 15 11 9 8 4 2 1 B C B 6 13 5 7 11 8 2 12 3 10 14 15 9 4 1 C @ 3 5 15 8 1 3 5 15 8 1 3 5 15 8 1 A 13 7 8 12 10 15 4 6 5 11 2 3 14 9 1 Veri¯cation To verify that the code has minimum distance 5 and thus can correct 2 errors, we have to prove that no four columns of V4;2 are linearly dependent. Proposition 1.10 No four columns of V4;2 are linearly dependent. proof. Suppose that Vi;Vj;Vk;Vl are four di®erent columns of V4;2. They form a Vandermonde matrix 0 1 ®i ®j ®k ®l B 2i 2j 2k 2l C B ® ® ® ® C @ ®3i ®3j ®3k ®3l A ®4i ®4j ®4k ®4l i j k l Moreover, ® ; ® ; ® and ® are distinct and nonzero, so it follows from the Theorem 2 that the columns Vi;Vj;Vk;Vl are linearly independent. Further Extension De¯nition 1.11 The t error-correcting BCH code BCH(k; t) over the ¯eld of order 2k based on the primitive element k ®, has as its check matrix an n £ 2t matrix Vk;t, where n = 2 ¡ 1. We number the columns Vi of Vk;t from 0 to n ¡ 1, counting from the right. Then for i = 0; 1; :::; n ¡ 1, Vi is de¯ned by the formula 0 1 ®i B 2i C B ® C @ A ®2ti The block length of the code is the number of the columns of its check matrix. In this case n=2k ¡ 1. For a code to have minimum distance greater than 2t we must have 2t < n. Hence this de¯nition makes sense for t < 2k¡1. Example 1.12 The chcek matrix of BCH(4,3) is V = V4;3. The columns are 0 1 2i B 2i C B 2 C B 3i C B 2 C B 4i C B 2 C @ 25i A 26i where i = 14; 13; :::; 0 and the complete matrix is 0 1 12 6 3 13 10 5 14 7 15 11 9 8 4 2 1 B C B 6 13 5 7 11 8 2 12 3 10 14 15 9 4 1 C B C B 3 5 15 8 1 3 5 15 8 1 3 5 15 8 1 C B C B 13 7 8 12 10 15 4 6 5 11 2 3 14 9 1 C @ 10 11 1 10 11 1 10 11 1 10 11 1 10 11 1 A 5 8 3 15 1 5 8 3 15 1 5 8 3 15 1 This matrix can also be written in binary form as a 24 £ 15 matrix, in which each column consists of the binary repre- sentations of the elements of GF (24) in the matrix above. The Reduced Check Matrix The matrix Vk;t contains many redundant rows for it to be a practical check. In ¯elds of characteristic 2, squaring is a linear function and we know that any row of a check matrix that is a linear function of the other rows is redundant. So we will introduce a reduced check matrix Hk;t that contains only the odd-numbered rows of Vk;t. De¯nition 1.13 The matrix Hk;t obtained from Vk;t by deleting the even-numbered rows is called the reduced check matrix of BCH(k; t). The rows of Hk;t will be numbered with the same indices as in Vk;t. Example 1.14 The reduced check matrix of BCH(4,3) is 0 1 12 6 3 13 10 5 14 7 15 11 9 8 4 2 1 H4;3 = @ 3 5 15 8 1 3 5 15 8 1 3 5 15 8 1 A 10 11 1 10 11 1 10 11 1 10 11 1 10 11 1 k¡1 Proposition 1.15 For any k and t < 2 the matrices Hk;t and Vk;t are check matrices for the same code BCH(k; t). T proof. Let (w14; w13; :::; w0) be a code word of the code C de¯ned by Hk;t, then Hk;tw = 0.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages12 Page
-
File Size-