Hamming Code is a type of error-correcting code that adds extra parity bits to the data to detect and correct errors. Let's assume the source data is 4 bits (1011), and we want to use Hamming Code to identify and correct a single-bit error.
Source Data (4 bits):
\[ D_1D_2D_3D_4 = 1011 \]
Hamming Code Construction:
We will add three parity bits (P1, P2, P4) to the data to create a 7-bit codeword (H1H2D1H3D2D3D4).
1. Insert Data Bits into Hamming Code:
\[ H_1H_2D_1H_3D_2D_3D_4 \]
\[ 1?1?1011 \]
2. Calculate Parity Bits:
P1 (Parity for positions 1, 2, 4): Calculate the parity for bits in positions 1, 2, 4 (including parity bits themselves).
\[ P_1 = D_1 \oplus D_2 \oplus D_4 = 1 \oplus 0 \oplus 1 = 0 \]
- **P2 (Parity for positions 1, 3, 4): Calculate the parity for bits in positions 1, 3, 4 (including parity bits themselves).
\[ P_2 = D_1 \oplus D_3 \oplus D_4 = 1 \oplus ? \oplus 1 = ? \]
- P4 (Parity for positions 2, 3, 4): Calculate the parity for bits in positions 2, 3, 4 (including parity bits themselves).
\[ P_4 = D_2 \oplus D_3 \oplus D_4 = 0 \oplus ? \oplus 1 = ? \]
3. Insert Parity Bits into Codeword:
\[ 1101?1011 \]
Result:
The Hamming Code for the source data 1011 is 1101011. The question marks represent the calculated parity bits.
Single-Bit Error at Destination:
If an error occurs during transmission, let's say the received codeword is 1100011, indicating an error in bit 3.
Syndrome Calculation:
Calculate the syndrome by comparing received parity bits with recalculated parity bits.
\[ S_1 = D_1 \oplus D_2 \oplus D_4 \oplus P_1 = 1 \oplus 0 \oplus 1 \oplus 0 = 0 \]
\[ S_2 = D_1 \oplus D_3 \oplus D_4 \oplus P_2 = 1 \oplus ? \oplus 1 \oplus ? = ? \]
\[ S_4 = D_2 \oplus D_3 \oplus D_4 \oplus P_4 = 0 \oplus ? \oplus 1 \oplus ? = ? \]
Error Correction:
The non-zero syndrome indicates an error. The position of the non-zero syndrome corresponds to the bit with the error. In this case, \( S_1 \neq 0 \), so bit 3 is in error.
Correct the error by flipping the bit at the error position:
\[ 1100011 \rightarrow 1101011 \]
Now, the corrected codeword matches the original Hamming Code for the source data 1011.
0 टिप्पणियाँ:
Post a Comment