Coding theory MOC

Hamming code

The π‘ž-ary [𝑛,𝑛 βˆ’π‘˜] Hamming code C β‰€π•‚π‘›π‘ž is the (unique up to linear equivalence) whose [𝑛,π‘˜] Orthogonal code has a maximal projective system.1 #m/def/code It follows that

𝑛=(π‘˜1)π‘ž=π‘žπ‘˜βˆ’1π‘žβˆ’1

the number of points in PG⁑(π‘˜ βˆ’1,π‘ž). Hamming codes are perfect 3-error correcting codes.

Proof of uniqueness and perfection

Uniqueness follows from uniquenes of the dual code CβŸ‚: Since this is a maximal projective code, any column of the same size will be linearly dependent with one of the columns of its generator matrix, and therefore there exists a monomial transformation relating any two such matrices.

Clearly the minimum distance is three. Now let ⃗𝐱 ∈C be a codeword. Then

|C|βˆ£β€•β€•B1⁑(⃗𝐱)∣=π‘žπ‘›βˆ’π‘˜(1+𝑛(π‘žβˆ’1))=π‘žπ‘›=βˆ£π•‚π‘›π‘žβˆ£

hence these spheres partition π•‚π‘›π‘ž.

Sometimes, the extended code of a Hamming code is also referred to as a Hamming code.

Construction

From the characterization above, it follows that a parity check matrix of the π‘ž-ary [𝑛,𝑛 βˆ’π‘˜] Hamming code may be constructed by enumerating homogenous coΓΆrdinates for all 𝑛 points in PG⁑(π‘˜ βˆ’1,π‘ž), and collecting these as columns for the check matrix.

Special cases


#state/tidy | #lang/en | #SemBr

Footnotes

  1. 1999. Introduction to coding theory, Β§3.3, p. 38 ↩