[Math] Hamming (7,4) and Parity Matrix

coding-theory

currently I am studying a few introductory things on Coding Theory but I have a small problem on understanding a few things.

I really cant understand how can I create a Parity matrix for H(7,4) if I don't have the Generator.

I saw some implementations on Matlab for example, and they use something called parity submatrix, and from this they create the H and the G.

For example, here is defined a parity-sub matrix (3 columns and 4 rows) for a Hamming(7,4) code: A = [ 1 1 1;1 1 0;1 0 1;0 1 1 ]; The author of this states: "Parity submatrix-Need binary(decimal combination of 7,6,5,3)"

Now the real question is, are there some specific rules on how to create the parity sub matrix or no?

Thanks in advance!

Best Answer

The parity-check matrix of a $[2^n-1, 2^n-1-n]$ Hamming code is of size $n\times (2^n-1)$ and its columns are the $2^n-1$ distinct nonzero binary $n$-tuples or vectors. If you choose the rightmost $n$ columns as the $n\times n$ identity matrix, you get what is called a systematic code in which the first $2^n-1-n$ symbols in each codeword are the information symbols and the last $n$ symbols are the parity-check symbols. For the case $n=3$ considered here, the last $3$ columns are the base-$2$ representations of the integers $1, 2, 4$, and so the first four columns must be the base-$2$ representations of the other integers in the range $[1, 7]$ viz., $7,6,5,3$ which is what is in your question. Note that ordering of these four $3$-tuples in the parity-check matrix is a matter of choice.