Error Detection Dechniques
Error Detection Dechniques
Error Detection Dechniques
• Step-01:
• At sender side,
• Total number of 1’s in the data unit to be transmitted is counted.
• The total number of 1’s in the data unit is made even in case of even parity.
• The total number of 1’s in the data unit is made odd in case of odd parity.
• This is done by adding an extra bit called as parity bit.
•
• Step-02:
• The newly formed code word (Original data + parity bit) is transmitted to the receiver.
•
• Step-03:
• At receiver side,
• Receiver receives the transmitted code word.
• The total number of 1’s in the received code word is counted.
• Then, following cases are possible-
• If total number of 1’s is even and even parity is used, then receiver assumes that no error occurred.
• If total number of 1’s is even and odd parity is used, then receiver assumes that error occurred.
• If total number of 1’s is odd and odd parity is used, then receiver assumes that no error occurred.
• If total number of 1’s is odd and even parity is used, then receiver assumes that error occurred.
Cont..
• Parity Check Example-
• Consider the data unit to be transmitted is 1001001 and even parity is used.
• At Sender Side-
• Total number of 1’s in the data unit is counted.
• Total number of 1’s in the data unit = 3.
• Clearly, even parity is used and total number of 1’s is odd.
• So, parity bit = 1 is added to the data unit to make total number of 1’s even.
• Then, the code word 10010011 is transmitted to the receiver.
• At Receiver Side-
• After receiving the code word, total number of 1’s in the code word is counted.
• Consider receiver receives the correct code word = 10010011.
• Even parity is used and total number of 1’s is even.
• So, receiver assumes that no error occurred in the data during the transmission.
CYCLIC REDUNDANCY CHECK (CRC)
• Cyclic Redundancy Check-
• Cyclic Redundancy Check (CRC) is an error detection method.
• It is based on binary division.
• CRC Generator-
• CRC generator is an algebraic polynomial represented as a bit pattern.
• Bit pattern is obtained from the CRC generator using the following rule-
• NOTE: The power of each term gives the position of the bit and the coefficient
gives the value of the bit.
• Example-
• Consider the CRC generator is x7 + x6 + x4 + x3 + x + 1.
• The corresponding binary pattern is obtained as-
• 1x7 + 1x6 + 0x5 + 1x4 + 1x3 + 0x2 + 1x1 + 1x0
1 1 0 1 1 0 1 1
Cont..
• Step-01: Calculation Of CRC At Sender Side-
• A string of n 0’s is appended to the data unit to be transmitted.
• Here, n is one less than the number of bits in CRC generator.
• Binary division is performed of the resultant string with the CRC generator.
• After division, the remainder so obtained is called as CRC.
• It may be noted that CRC also consists of n bits.
• Problem-01:
• A bit stream 1101011011 is transmitted using the standard CRC method. The
generator polynomial is x4+x+1. What is the actual bit string transmitted?
• Solution-
• The generator polynomial G(x) = x4 + x + 1 is encoded as 10011.
• Clearly, the generator polynomial consists of 5 bits.
• So, a string of 4 zeroes is appended to the bit stream to be transmitted.
• The resulting bit stream is 11010110110000.
• Problem-02:
• A bit stream 10011101 is transmitted using the standard CRC method. The
generator polynomial is x3+1.
1. What is the actual bit string transmitted?
2. Suppose the third bit from the left is inverted during transmission. How will
receiver detect this error?
• Solution-
• Part-01:
• The generator polynomial G(x) = x3 + 1 is encoded as 1001.
• Clearly, the generator polynomial consists of 4 bits.
• So, a string of 3 zeroes is appended to the bit stream to be transmitted.
• The resulting bit stream is 10011101000.
• Now, the binary division is performed as-
Cont..
Cont..
• Part-02:
• Now,
• Receiver receives the bit stream = 10111101100.
• Receiver performs the binary division with the same generator polynomial as-
Cont..
From here,
The remainder obtained on
division is a non-zero value.
This indicates to the receiver that
an error occurred in the data
during the transmission.
Therefore, receiver rejects the
data and asks the sender for
retransmission.
CHECKSUM
• Checksum-
• Step-01:
• At sender side,
• If m bit checksum is used, the data unit to be transmitted is divided into segments of m bits.
• All the m bit segments are added.
• The result of the sum is then complemented using 1’s complement arithmetic.
• The value so obtained is called as checksum.
• Step-02:
• The data along with the checksum value is transmitted to the receiver.
• Step-03:
• At receiver side,
• If m bit checksum is being used, the received data unit is divided into segments of m bits.
• All the m bit segments are added along with the checksum value.
• The value so obtained is complemented and the result is checked.
• Then, following two cases are possible-
• Case-01: Result = 0
• If the result is zero,
• Receiver assumes that no error occurred in the data during the transmission.
• Receiver accepts the data.
• Case-02: Result ≠ 0
• If the result is non-zero,
• Receiver assumes that error occurred in the data during the transmission.
• Receiver discards the data and asks the sender for retransmission.
Cont..
• Checksum Example-
• Consider the data unit to be transmitted is-
• 10011001111000100010010010000100
• Consider 8 bit checksum is used.
• Step-01:
• At sender side,
• The given data unit is divided into segments of 8 bits as-
• Now, all the segments are added and the result is obtained as-
• 10011001 + 11100010 + 00100100 + 10000100 = 1000100011
• Since the result consists of 10 bits, so extra 2 bits are wrapped around.
• 00100011 + 10 = 00100101 (8 bits)
• Now, 1’s complement is taken which is 11011010.
• Thus, checksum value = 11011010
Cont..
• Step-02:
• The data along with the checksum value (11011010) is transmitted to the
receiver.
• Step-03:
• At receiver side,
• The received data unit is divided into segments of 8 bits.
10011001 11100010 00100100 10000100
• All the segments along with the checksum value are added.
• Sum of all segments + Checksum value = 00100101 + 11011010 = 11111111
• Complemented value = 00000000
• Since the result is 0, receiver assumes no error occurred in the data and therefore
accepts it.
Cont..
• Problem-
• Checksum value of 1001001110010011 and 1001100001001101 of 16 bit
segment is-
A. 1010101000011111
B. 1011111000100101
C. 1101010000011110
D. 1101010000111111
• Solution-
• We apply the above discussed algorithm to calculate the checksum.
• 1001001110010011 + 1001100001001101 = 10010101111100000
• Since, the result consists of 17 bits, so 1 bit is wrapped around and added to the
result.
• 0010101111100000 + 1 = 0010101111100001
• Now, result consists of 16 bits.
• Now, 1’s complement is taken which is 1101010000011110
• Thus, checksum value = 1101010000011110