Project Topics

Engineering Projects


Hamming Codes are used in detecting and correcting a code. An error-correcting code is an algorithm for expressing a sequence of numbers such that any errors which are introduced can be detected and corrected (within certain limitations) based on the remaining numbers.

Errors can happen in a variety of ways. Bits can be added, deleted, or flipped. Errors can happen in fixed or variable codes. Error-correcting codes are used in CD players, high speed modems, and cellular phones. Error detection is much simpler than error correction.

For example, one or more "check" digits are commonly embedded in credit card numbers in order to detect mistakes. The process of hamming code shows how to detect and correct an error in a code.

Here the alphabets will be finite fields. Linear codes with length n and dimension k will be described as [n, k] codes. Hamming Codes are linear codes, and a Hamming Code will be described as a [n, k] q-ary Hamming Code, where q is the size of the base field, Fq. In other words an [n,k] q-ary Hamming Code is a linear subspace of the n-dimensional vector space over Fq.

In this paper, we give two unexpected applications of a Hamming code.

The first one, also known as the "Hat Problem," is based on the fact that a small portion of the available code words are actually used in a Hamming code. The second one is a magic trick based on the fact that a Hamming code is perfect for single-error correction


• Communications.

• Data storages (CDs, DVDs, etc).


• Low power consumption can be achieved

Error detection




Simulation: modelsim5.8c

Synthesis: Xilinx 9.1