In each of the following codes, what is the minimum distance for the code? What is the best situation we might hope for in connection with error detection and error correction?
Compute the null space of each of the following matrices. What type of \((n,k)\)-block codes are the null spaces? Can you find a matrix (not necessarily a standard generator matrix) that generates each code? Are your generator matrices unique?
Suppose that a \(1000\)-bit binary message is transmitted. Assume that the probability of a single error is \(p\) and that the errors occurring in different bits are independent of one another. If \(p = 0.01\text{,}\) what is the probability of more than one error occurring? What is the probability of exactly two errors occurring? Repeat this problem for \(p = 0.0001\text{.}\)
Which matrices are canonical parity-check matrices? For those matrices that are canonical parity-check matrices, what are the corresponding standard generator matrices? What are the error-detection and error-correction capabilities of the code generated by each of these matrices?
Let \(C\) be the group code in \({\mathbb Z}_2^3\) defined by the codewords \((000)\) and \((111)\text{.}\) Compute the cosets of \(C\) in \({\mathbb Z}_2^3\text{.}\) Why was there no need to specify right or left cosets? Give the single transmission error, if any, to which each coset corresponds.
In other words, a metric is simply a generalization of the notion of distance. Prove that Hamming distance is a metric on \({\mathbb Z}_2^n\text{.}\) Decoding a message actually reduces to deciding which is the closest codeword in terms of distance.
If we are to use an error-correcting linear code to transmit the 128 ASCII characters, what size matrix must be used? What size matrix must be used to transmit the extended ASCII character set of 256 characters? What if we require only error detection in both cases?
Find the canonical parity-check matrix that gives the even parity check bit code with three information positions. What is the matrix for seven information positions? What are the corresponding standard generator matrices?
Let \({\mathbf e}_i\) be the binary \(n\)-tuple with a \(1\) in the \(i\)th coordinate and \(0\)’s elsewhere and suppose that \(H \in {\mathbb M}_{m \times n}({\mathbb Z}_2)\text{.}\) Show that \(H{\mathbf e}_i\) is the \(i\)th column of the matrix \(H\text{.}\)
Let \(H\) be an \(m \times n\) matrix over \({\mathbb Z}_2\text{,}\) where the \(i\)th column is the number \(i\) written in binary with \(m\) bits. The null space of such a matrix is called a Hamming code.
The column corresponding to the syndrome also marks the bit that was in error; that is, the \(i\)th column of the matrix is \(i\) written as a binary number, and the syndrome immediately tells us which bit is in error. If the received word is \((101011)\text{,}\) compute the syndrome. In which bit did the error occur in this case, and what codeword was originally transmitted?
Give a binary matrix \(H\) for the Hamming code with six information positions and four check positions. What are the check positions and what are the information positions? Encode the messages \((101101)\) and \((001001)\text{.}\) Decode the received words \((0010000101)\) and \((0000101100)\text{.}\) What are the possible syndromes for this code?
What is the number of check bits and the number of information bits in an \((m,n)\)-block Hamming code? Give both an upper and a lower bound on the number of information bits in terms of the number of check bits. Hamming codes having the maximum possible number of information bits with \(k\) check bits are called perfect. Every possible syndrome except \({\mathbf 0}\) occurs as a column. If the number of information bits is less than the maximum, then the code is called shortened. In this case, give an example showing that some syndromes can represent multiple errors.