Hamming Code is a \((n,k)\) #Linear Block Code that can correct only single errors#. It must satisfy the following property:
- \(n = 2^m - 1\)
- \(k = 2^m - m - 1\)
- \(n - k = m\)
- \(t = 1\)
Where:
- \(n\) is the code length
- \(m\) is the number of parity bits, usually equals to or larger than 3
- \(k\) is the number of information bits
- \(t\) is the error correction capability
Since we need all \(n\) rows in \(H^T\) to be distinct, we need \(2^{n-k} - 1 \ge n\) or the number of parity bits satisfies \((n-k) \ge \lg (n + 1)\).