0% found this document useful (0 votes)
7 views9 pages

Hamming Code in Computer Network

Hamming code is an error-correcting code that detects and corrects single-bit errors during data transmission or storage, enhancing communication reliability. It utilizes redundant bits calculated using a specific formula and employs parity bits for error detection. While effective for single-bit error correction, Hamming code has limitations in correcting multiple-bit errors and requires additional resources for implementation.

Uploaded by

priyankavelu0403
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views9 pages

Hamming Code in Computer Network

Hamming code is an error-correcting code that detects and corrects single-bit errors during data transmission or storage, enhancing communication reliability. It utilizes redundant bits calculated using a specific formula and employs parity bits for error detection. While effective for single-bit error correction, Hamming code has limitations in correcting multiple-bit errors and requires additional resources for implementation.

Uploaded by

priyankavelu0403
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Hamming Code in Computer Network

Last Updated : 26 Jul, 2024



Hamming code is an error-correcting code used to ensure data


accuracy during transmission or storage. Hamming code detects
and corrects the errors that can occur when the data is moved or
stored from the sender to the receiver. This simple and effective
method helps improve the reliability of communication systems
and digital storage. It adds extra bits to the original data, allowing
the system to detect and correct single-bit errors. It is a technique
developed by Richard Hamming in the 1950s.
What is Redundant Bits?
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: = 2 4 ≥ 7 + 4 + 1 . Thus,
the number of redundant bits is 4.
Types of Parity Bits
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.
Algorithm of Hamming Code
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.
Determining The Position of Redundant Bits
A redundancy bits are placed at positions that correspond to the
power of 2. As in the above example:
 The number of data bits = 7
 The number of redundant bits = 4
 The total number of bits = 7+4=>11
 The redundant bits are placed at positions corresponding
to power of 2 that is 1, 2, 4, and 8

 Suppose the data to be transmitted is 1011001 from


sender to receiver, the bits will be placed as follows:
Determining The Parity Bits According to
Even Parity
 R1 bit is calculated using parity check at all the bits
positions whose binary representation includes a 1 in the
least significant position. R1: bits 1, 3, 5, 7, 9, 11

 To find the redundant bit R1, we check for even parity.


Since the total number of 1’s in all the bit positions
corresponding to R1 is an even number. So, the value of
R1 (parity bit’s value) = 0.
 R2 bit is calculated using parity check at all the bits
positions whose binary representation includes a 1 in the
second position from the least significant bit. R2: bits
2,3,6,7,10,11

 To find the redundant bit R2, we check for even parity.


Since the total number of 1’s in all the bit positions
corresponding to R2 is odd the value of R2(parity bit’s
value)=1
 R4 bit is calculated using parity check at all the bits
positions whose binary representation includes a 1 in the
third position from the least significant bit. R4: bits 4, 5, 6,
7

 To find the redundant bit R4, we check for even parity.


Since the total number of 1’s in all the bit positions
corresponding to R4 is odd so the value of R4(parity bit’s
value) = 1
 R8 bit is calculated using parity check at all the bits
positions whose binary representation includes a 1 in the
fourth position from the least significant bit. R8: bit
8,9,10,11

 To find the redundant bit R8, we check for even parity.


Since the total number of 1’s in all the bit positions
corresponding to R8 is an even number the value of
R8(parity bit’s value)=0. Thus, the data transferred is:

Error Detection and Correction


Suppose in the above example the 6th bit is changed from 0 to 1
during data transmission, then it gives new parity values in
the binary number:

For all the parity bits we will check the number of 1’s in their
respective bit positions.
 For R1: bits 1, 3, 5, 7, 9, 11. We can see that the number
of 1’s in these bit positions are 4 and that’s even so we
get a 0 for this.
 For R2: bits 2,3,6,7,10,11 . We can see that the number of
1’s in these bit positions are 5 and that’s odd so we get a
1 for this.
 For R4: bits 4, 5, 6, 7 . We can see that the number of 1’s
in these bit positions are 3 and that’s odd so we get a 1
for this.
 For R8: bit 8,9,10,11 . We can see that the number of 1’s
in these bit positions are 2 and that’s even so we get a 0
for this.
 The bits give the binary number 0110 whose decimal
representation is 6. Thus, bit 6 contains an error. To
correct the error the 6th bit is changed from 1 to 0.
Features of Hamming Code
 Error Detection and Correction: Hamming code is
designed to detect and correct single-bit errors that may
occur during the transmission of data. This ensures that
the recipient receives the same data that was transmitted
by the sender.
 Redundancy: Hamming code uses redundant bits to add
additional information to the data being transmitted. This
redundancy allows the recipient to detect and correct
errors that may have occurred during transmission.
 Efficiency: Hamming code is a relatively simple and
efficient error-correction technique that does not require a
lot of computational resources. This makes it ideal for use
in low-power and low-bandwidth communication
networks.
 Widely Used: Hamming code is a widely used error-
correction technique and is used in a variety of
applications, including telecommunications, computer
networks, and data storage systems.
 Single Error Correction: Hamming code is capable of
correcting a single-bit error, which makes it ideal for use
in applications where errors are likely to occur due to
external factors such as electromagnetic interference.
 Limited Multiple Error Correction: Hamming code can
only correct a limited number of multiple errors. In
applications where multiple errors are likely to occur,
more advanced error-correction techniques may be
required.

Question on Hamming Code


Assume that 12 bit hamming codeword consist of 8 bit
data and 4 check bits is d 8d7d6d5c4d4d3d2c3d1c2c1 ,where
the data bits and the check bits are given in the following
tables: [GATE 2021 ]

Which one of the following choices gives the correct values of x


and y ?
(A) x is 0 and y is 0
(B) x is 0 and y is 1
(C) x is 1 and y is 0
(D) x is 1 and y is 1
Answer: (A)
We will first insert our codeword according to hamming code
d8d7d6d5c4d4d3d2c3d1c2c1,

Now,calculating hamming code according to first parity bit C1:


d7d5d4d2d1c1. 1×0010, To make number of 1 even , for this x
must be 0.
Similarly, lets calculate for y , we will start from c 8 and make its
even=>110xy here x is already 0 , so y should be 0.
So the value of x is 0 and y is 0.

Advantages
 Hamming code can detect and correct single-bit errors,
enhancing data reliability during transmission and
storage.
 It adds a minimal number of redundant bits to the
original data, maintaining a good balance between data
integrity and overhead.The algorithm for generating and
checking Hamming code is straightforward and can be
easily implemented in both hardware and software.
 By detecting and correcting errors, Hamming code
ensures that the received data is accurate, reducing the
chances of data corruption.
 Hamming code is widely used in various fields such as
computer memory (RAM), data storage devices, and
communication systems.
 Compared to more complex error correction codes,
Hamming code provides a cost-effective solution for
applications where single-bit error correction is sufficient.
Disadvantages
 Hamming code can only correct single-bit errors. It is
unable to correct multiple-bit errors, which limits its
effectiveness in environments with high error rates.
 While it can detect single-bit and some two-bit errors,
Hamming code cannot detect all multiple-bit errors. This
reduces its reliability in certain applications.
 Although it uses fewer redundant bits compared to some
other error correction methods, the addition of these bits
still increases the overall data size, which can be a
drawback in bandwidth-constrained environments.
 Implementing Hamming code requires additional
hardware or software resources for error detection and
correction, which can be a limitation in resource-
constrained systems.
Conclusion
Hamming code is a method used for error correction in data
transmission. It can detect and correct single-bit errors, ensuring
that the data received matches the data sent. This makes
communication systems more reliable by reducing the impact of
errors.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy