Explain about hamming error correcting code, Computer Engineering

Assignment Help:

Q. Explain about Hamming error correcting code?

Richard Hamming at Bell Laboratories worked out this code. We will only introduce this code with help of an illustration for 4 bit data. Let's presume a 4 bit number b4, b3, b2, b1.  In order to create a simple error detection code which detects error in one bit only we can just add an odd parity bit.  Though if we want to find which bit is in error then we may have to employ parity bits for different combinations of these 4 bits in such a way that a bit error can be recognized uniquely.  For illustration we can create four parity sets as below

Source Parity                            Destination Parity

b1, b2, b3                                                        P1                                            D1

b2, b3, b4                                                        P2                                            D2

b3, b4, b1                                                        P3                                            D3

b1, b2, b3, b4                                                  P4                                            D4

Now very interesting phenomenon can be noticed in above displayed parity pairs.  Assume data bit b1 is in error on transmission then it will cause alteration in destination parity D1, D3, D4.

ERROR IN                                                     Cause change in Destination Parity 

(One bit only)

b1                                                                                             D1, D3, D4

b2                                                                                             D1, D2, D4

b3                                                                                             D1, D2, D3, D4

b4                                                                                             D2, D3, D4

Figure: The error detection parity code mismatch

So by simply comparing parity bits of source and destination we can recognize that which of four bits is in error. This bit then can be complemented to eliminate error. Please note that even source parity bit can be in error on transmission but under assumption that just one bit (irrespective of data or parity) is in error it would be detected as just one destination parity would be different. What should be length of error detection code that detects error in one bit? Before responding this question we have to look in comparison logic of error detection. Error detection is done by comparing two ‘i’ bit error detection and correction codes fed to comparison logic bit by bit (see figure below). Let’s have comparison logic that produces a zero if compared bits are same or else it generates a one. Consequently if similar Position bits are similar then we obtained zero at that bit Position however if they are dissimilar that is this bit position may point to an error then this Particular bit position would be marked as one. This way a matching word is built. This matching word is ‘i’ bit long so can signify 2i values or combinations.


Related Discussions:- Explain about hamming error correcting code

Explain various classes of datatypes of c, Explain various classes of datat...

Explain various classes of datatypes of C   Following are the main classes of data types in C language: 1.  Primary data types: Also called as fundamental/basic data types

What is a file, What is a file? A file is a named collection of relate...

What is a file? A file is a named collection of related information that is recorded on secondary storage. A file having either programs or data. A file has sure "structure" b

Efficiency - metrics for performance evaluation, Q. Efficiency - Metrics fo...

Q. Efficiency - Metrics for performance evaluation? The other significant metric employed for performance measurement is efficiency of parallel computer system it implies that

Write examples of declarations of external variables, Examples of declarati...

Examples of declarations of external variables  that  are  not definitions: extern char stack[10]; extern int stkptr; These declarations tell the compiler that the variab

Difference between the physical drive and the logical drive., A physical dr...

A physical drive is drive the in which you can physically see in the computer system itself. That is the gadget itself. Logical drive is placed inside the physical drive and th

What is semaphores, What is semaphores?  A semaphore 'S' is a synchroni...

What is semaphores?  A semaphore 'S' is a synchronization tool which is an integer value that, apart from initialization, is accessed only by two standard atomic operations; wa

Explain the for loop, Explain The for loop The for loop is frequently ...

Explain The for loop The for loop is frequently used, usually where the loop will be traversed a fixed number of times. It is very flexible, and novice programmers should take

What is class invariant in c++, A class invariant is a condition that descr...

A class invariant is a condition that describes all valid states for an object. It is a logical condition to make sure the correct working of a class. Class invariants must hold wh

How do we synthesize verilog into gates with synopsys, How do we synthesize...

How do we synthesize Verilog into gates with Synopsys?  The answer can, of course, occupy various lifetimes to completely answer.. BUT.. a straight-forward Verilog module can b

What is applying of an open source systems, What is applying of an Open Sou...

What is applying of an Open Source Systems?   No licensing issues No initial cost Speed of Access Openness and Transparency

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd