words and corresponding block codes in an example of a Hamming code (7.4). Message word X Block code Y 0000 000 0001 111 0010 011 0011 100 0100 101 0101 010 0110110 0111 001 1000 110 1001 001 1010 101 1011 010 1100 011 1101 100 1110 000 1111 111 is referred to as a Hamming code. According to the definition in Eq. (11.3), we define the following generator matrix (out of many other possibilities) 1 000110 0100101 (11.10) 0010011 00001111 which gives, from Eq. (11.4), the parity-check matrix 1101100 = 1011010 (11.11) 0111001 and its transposed version (11.12) The 2k 16 possible message words X and their corresponding block codes Y, as calculated from Eqs. (11.2) and (11.10), are listed in Table 11.1. For clarity, the parity bits are shown in bold numbers. As expected, the block codes are made of a first sequence Error correction (1,1) (0,1) (0,1,1) (1,1,1) (0,0) (1,0) (0,1,0) (1,1,0) (0,0,1) (1,0,1) (0,0,0) (1,0,0) Figure 11.2 Placing codewords of two or three bits in the vertices of a square or a cube, respectively, to illustrate Hamming distance. of four (original) messages bits followed by a second sequence of three parity bits. For instance, the message codeword 0111 is encoded into the block code 0111 001, where the three bits on the right are the parity bits. For future use, I introduce the following definitions in ECC formalism: Hamming weight w(X): number of 1 bits in a given (block) codeword X. Hamming distance d(X, Y) between two codewords X, Y: number of bit positions in which the two codewords differ; consequently, the Hamming weight w(X) is the distance between a given codeword X and the all-zero codeword; also note the property d(X, Y) = <w(X+Y)=w(X-Y) Minimum Hamming distance dmin: minimum number of 1 bits in the block codewords (excluding the all-zero codeword). Consequently, dmin is also the minimum number of bit positions by which any codeword differ. It is readily checked from the example in Table 11.1 that dmin = 3, which is a specific property of Hamming codes. It should be noted that the Hammin