Error-Control Block Codes for Communications Engineers

Let V 1 = 0, V 2, . . ., V 2 k be the code vectors (codewords) of an ( n, k) binary linear block code. In the presence of channel errors of 0's and 1's, the received vector can take on any of the 2 n n-component binary vectors. We shall partition the 2 n binary vectors into 2 k disjoint subsets such that the code vector V i is in the i-th subset for 1 ? i ? 2 k. If the received vector is found in the i-th subset, the received vector is decoded into V i. Based on the linear structure of the code, the partitioning of the 2 n binary vectors is done as follows:
Place all code vectors in the first row of a 2 n ? k-by-2 k array with V 1 as the left-most element.
For l = 2, 3, . . ., 2 n ? k, choose a distinct n-component error vector E l of smallest possible weight from the remaining n-component binary vectors and place it as the left-most element in the l-th row of the array. Fill the remaining entries in that row by adding E l to V i.
The resultant array is called standard array of a linear code.