Error detecting and correcting codes, hamming codes.
1 Error detecting and correcting codes, hamming codes.
Error Detection and Correction Codes
Main Approaches are:
Echoplex
Automatic detection & retransmission
Forward Error Correction
Echoplex
Used in Telnet--When a character is entered in a Telnet session, the character is sent to the computer
and the computer will echo the character--a crude way of check error
Automatic detection & retransmission
Use an error detection code to detect error
Error Detection Codes
(a) Parity Code(VRC--Vertical Redundancy Check)
-A Parity bit is used
-Odd or Even parity
-Detects all odd number of error(1 bit error, 3 bit error, …)
-Even number of errors can not be detected
(b) LRC(Longitudinal Redundancy Check)
-Sometimes called “Block Check Code” or “Checksum”
-A block of characters are parity checked
-Often used along with VRC, -It is 2-demensional code
(c) CRC(Cyclic Redundancy Check)
-Divide a block(block size is determined by LAN requirements--Ethernetà 1500Bytes, Token
Ringà 8000Bytes, ….) by a predetermined Divisor and calculate the Remainder and attach the
Remainder at the end of data bits -Receiver will also divide the data bits with the same Divisor and
calculatesRemainder and compares the received Remainder with the calculated one -If they matchà No
error detected, If no match à Error detected and the frame is deleted.
The above calculations can easily be done using hardware Shift Registers
--Binary division = a series of Shift followed by adds
Example shift register:
-A carefully designed(chosen) divisor is used
-A divisor is usually represented using a polynomial notation
There are several standard Divisors that are adopted International standards
-CRC-32 is used in LAN protocols---Ethernet, Token Ring, ….
Forward Error Correction:
Hamming code
It is a Single bit Error Correction and Double bit Error Detection Code.
Hamming designed to have several parity bits in the following position:
2**0, 2**1, 2**2, 2**3 positions will have parity bits
Other bit positions are for data bits
The parity bit at 2**0 position checks positions 1, 3, 5, 7, 9, 11
The parity bit at 2**1 position checks positions 2, 3, 6, 7, 10, 11
The parity bit at 2**0 position checks positions 4, 5, 6, 7
The parity bit at 2**0 position checks positions 8, 9, 10, 11
Let’s use Even Parity for this example:
Let’s say a single-bit error occurs in bit position 7:
The receiver checks parity bits to find the error:
Thus it is very easy to detect and correct code using Hamming Code.

Error detecting and correcting codes

  • 1.
    Error detecting andcorrecting codes, hamming codes. 1 Error detecting and correcting codes, hamming codes. Error Detection and Correction Codes Main Approaches are: Echoplex Automatic detection & retransmission Forward Error Correction Echoplex Used in Telnet--When a character is entered in a Telnet session, the character is sent to the computer and the computer will echo the character--a crude way of check error Automatic detection & retransmission Use an error detection code to detect error Error Detection Codes (a) Parity Code(VRC--Vertical Redundancy Check) -A Parity bit is used -Odd or Even parity -Detects all odd number of error(1 bit error, 3 bit error, …) -Even number of errors can not be detected (b) LRC(Longitudinal Redundancy Check)
  • 2.
    -Sometimes called “BlockCheck Code” or “Checksum” -A block of characters are parity checked -Often used along with VRC, -It is 2-demensional code (c) CRC(Cyclic Redundancy Check) -Divide a block(block size is determined by LAN requirements--Ethernetà 1500Bytes, Token Ringà 8000Bytes, ….) by a predetermined Divisor and calculate the Remainder and attach the Remainder at the end of data bits -Receiver will also divide the data bits with the same Divisor and calculatesRemainder and compares the received Remainder with the calculated one -If they matchà No error detected, If no match à Error detected and the frame is deleted.
  • 3.
    The above calculationscan easily be done using hardware Shift Registers --Binary division = a series of Shift followed by adds Example shift register: -A carefully designed(chosen) divisor is used -A divisor is usually represented using a polynomial notation
  • 4.
    There are severalstandard Divisors that are adopted International standards -CRC-32 is used in LAN protocols---Ethernet, Token Ring, …. Forward Error Correction: Hamming code It is a Single bit Error Correction and Double bit Error Detection Code. Hamming designed to have several parity bits in the following position: 2**0, 2**1, 2**2, 2**3 positions will have parity bits Other bit positions are for data bits The parity bit at 2**0 position checks positions 1, 3, 5, 7, 9, 11 The parity bit at 2**1 position checks positions 2, 3, 6, 7, 10, 11 The parity bit at 2**0 position checks positions 4, 5, 6, 7 The parity bit at 2**0 position checks positions 8, 9, 10, 11 Let’s use Even Parity for this example:
  • 5.
    Let’s say asingle-bit error occurs in bit position 7: The receiver checks parity bits to find the error: Thus it is very easy to detect and correct code using Hamming Code.