Hamming Code in Computer Network
Hamming Code in Computer Network
Redundant bits are extra binary bits that are generated and added to the
information-carrying bits of data transfer to ensure that no bits were lost during
the data transfer. The number of redundant bits can be calculated using the
following formula:
2r ≥ m + r + 1
where m is the number of bits in input data, and r is the number of redundant
bits.
Suppose the number of data bits is 7, then the number of redundant bits can be
calculated using: = 24 ≥ 7 + 4 + 1 . Thus, the number of redundant bits is 4.
A parity bit is a bit appended to a data of binary bits to ensure that the total
number of 1’s in the data is even or odd. Parity bits are used for error detection.
There are two types of parity bits:
● Even Parity Bit: In the case of even parity, for a given set of bits, the
number of 1’s are counted. If that count is odd, the parity bit value is set
to 1, making the total count of occurrences of 1’s an even number. If the
total number of 1’s in a given set of bits is already even, the parity bit’s
value is 0.
● Odd Parity Bit: In the case of odd parity, for a given set of bits, the
number of 1’s are counted. If that count is even, the parity bit value is set
to 1, making the total count of occurrences of 1’s an odd number. If the
total number of 1’s in a given set of bits is already odd, the parity bit’s
value is 0.
Hamming Code is simply the use of extra parity bits to allow the identification
of an error.
Step 1: Write the bit positions starting from 1 in binary form (1, 10, 11, 100,
etc).
Step 2: All the bit positions that are a power of 2 are marked as parity bits (1, 2,
4, 8, etc).
Step 3: All the other bit positions are marked as data bits.
Step 4: Each data bit is included in a unique set of parity bits, as determined its
bit position in binary form:
● a. Parity bit 1 covers all the bits positions whose binary representation
includes a 1 in the least significant position (1, 3, 5, 7, 9, 11, etc).
● b. Parity bit 2 covers all the bits positions whose binary representation
includes a 1 in the second position from the least significant bit (2, 3, 6, 7,
10, 11, etc).
● c. Parity bit 4 covers all the bits positions whose binary representation
includes a 1 in the third position from the least significant bit (4–7,
12–15, 20–23, etc).
● d. Parity bit 8 covers all the bits positions whose binary representation
includes a 1 in the fourth position from the least significant bit bits (8–15,
24–31, 40–47, etc).
● e. In general, each parity bit covers all bits where the bitwise AND of the
parity position and the bit position is non-zero.
Step 5: Since we check for even parity set a parity bit to 1 if the total number of
ones in the positions it checks is odd. Set a parity bit to 0 if the total number of
ones in the positions it checks is even.