Detect and Correct Errors in Modified Error-Correcting Hamming Code

  • Thread starter Thread starter needhelp83
  • Start date Start date
  • Tags Tags
    Code Errors
Click For Summary
SUMMARY

The discussion focuses on detecting and correcting errors in a modified error-correcting Hamming code for a 16-bit word stored in memory. The analysis reveals that the parity check Pnew5 does not equal the expected value of "0" at position 16, indicating an error in the received word. The calculations for Pnew1, Pnew2, Pnew3, Pnew4, and Pnew5 are performed using specific bit positions, confirming the presence of an error that needs correction. The conclusion is that the received word is incorrect due to the mismatch in the parity check.

PREREQUISITES
  • Understanding of Hamming code principles and error correction techniques
  • Familiarity with binary arithmetic and bitwise operations
  • Knowledge of parity bits and their role in error detection
  • Experience with memory data registers and their function in computing
NEXT STEPS
  • Study the implementation of Hamming code in digital systems
  • Learn about advanced error correction techniques beyond Hamming code
  • Explore the impact of memory architecture on error detection and correction
  • Investigate practical applications of error-correcting codes in modern computing
USEFUL FOR

Computer engineers, systems programmers, and anyone involved in memory management and error correction in digital systems.

needhelp83
Messages
193
Reaction score
0
A 16-bit word is coded in modified error correcting Hamming code and after that is stored into a cell of the main memory. After some time a program reads the cell and the following word is read into the memory data register:

0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1

Perform all operations, which the error correcting hardware does to analyze the word and to detect/correct the possible error.

0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 1
21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Pall


Pnew1 = CW1 + CW3 + CW5 + CW7 + CW9 + CW11 + CW13 + CW15 + CW19 + CW21=
1+ 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 0=1

Pnew2 =CW2 + CW3 + CW6 + CW7 + CW10 + CW11 + CW14 +
CW15 + CW18+ CW19=
1+ 1 + 1 + 1 + 0 + 0+ 0+0+ 1+0=1

Pnew3= CW4 + CW5 + CW6 +CW7 + CW12 + CW13 + CW14 +
CW15 + CW20+ CW21=
1+ 0+1 + 1+ 0+ 0+ 0+ 0+ 0+0=1


Pnew4= CW8 + CW9 +CW10 +CW11 + CW12 + CW13 +CW14+ CW15=
0+ 0 +0 + 0+0 + 0 + 0+ 0=0

Pnew5= CW16 + CW17 +CW18 + CW19 + CW20 +CW21 =
0 + 0 +1 + 0 +0 + 0=1

Pallreceived = Pallcalc

Pallreceived is equal to Pallcalc, but the Pnew5 doesn't equal to "0" at position 16 which it should. So, would this be correct or not?
 
Physics news on Phys.org
Any suggestions?
 

Similar threads

  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
Replies
7
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 13 ·
Replies
13
Views
4K