Error Detection
Error Detection
When data is transmitted from one device to another device, the system
does not guarantee whether the data received by the device is identical
to the data transmitted by another device. An Error is a situation when
the message received at the receiver end is not identical to the message
transmitted.
Types Of Errors
Single-Bit Error:
The only one bit of a given data unit is changed from 1 to 0 or from 0 to
1.
Single-Bit Error does not appear more likely in Serial Data Transmission.
For example, Sender sends the data at 10 Mbps, this means that every
bit lasts only for 0.1 micro sec and for a single-bit error to occurred, a
noise must have duration of 0.1 micro sec. Generally the duration of
noise longer than the duration of each bit.
Single-Bit Error mainly occurs in Parallel Data Transmission. For example,
if eight wires are used to send the eight bits of a byte, if one of the wire
is noisy, then single-bit is corrupted per byte.
Burst Error:
The Burst Error is determined from the first corrupted bit to the last
corrupted bit.
The duration of noise in Burst Error is more than the duration of noise in
Single-Bit.
The number of affected bits depends on the duration of the noise and
data rate.
Example –
If the source wants to transmit data unit 1100111 using even parity
to the destination. The source will have to pass through Even Parity
Generator.
Advantages :
VRC can detect all single bit error.
It can also detect burst errors but only in those cases where
number of bits changed is odd, i.e. 1, 3, 5, 7, …….etc.
Disadvantages :
The major disadvantage of using this method for error detection
is that it is not able to detect burst error if the number of bits
changed is even, i.e. 2, 4, 6, 8, …….etc.
It can only detect single-bit errors which are very rare.
In this method, data which the user want to send is organised into
tables of rows and columns. A block of bit is divided into table or matrix
of rows and columns. In order to detect an error, a redundant bit is
added to the whole block and this block is transmitted to receiver. The
receiver uses this redundant row to detect error. After checking the
data for errors, receiver accepts the data and discards the redundant
row of bits.
Example :
If a block of 32 bits is to be transmitted, it is divided into matrix of four
rows and eight columns which as shown in the following figure :
Advantage:
LRC is used to detect burst errors.
Disadvantage:
The main problem with LRC is that, it is not able to detect error if two
bits in a data unit are damaged and two bits in exactly the same
position in other data unit are also damaged. Example: If data 110011
010101 is changed to 010010110100.
In this example 1st and 6th bit in one data unit is changed . Also the 1st
and 6th bit in second unit is changed.
3. Checksum
Checksum Generator
Checksum Checker
Suppose that the sender wants to send 4 frames each of 8 bits, where
the frames are 11001100, 10101010, 11110000 and 11000011.
Advantage :
The checksum detects all the errors involving an odd number of bits as
well as the error involving an even number of bits.
Disadvantage :
The main problem is that the error goes undetected if one or more bits
of a subunit is damaged and the corresponding bit or bits of a subunit
are damaged and the corresponding bit or bits of opposite value in
second subunit are also damaged. This is because the sum of those
columns remains unchanged. Example –
If the data transmitted along with checksum is 10101001 00111001
00011101. But the data received at destination is 00101001 10111001
00011101.
Receiver Site :
00101001 1st bit of subunit 1 is damaged
10111001 1st bit of subunit 2 is damaged
00011101 checksum
11111111 sum
00000000 Ok 1's complement
Although data is corrupted, the error is undetected.
If the resultant of this division is not zero which means that the data
consists of an error. Therefore, the data is discarded.
CRC Generator
o A CRC generator uses a modulo-2 division. Firstly, three zeroes are
appended at the end of the data as the length of the divisor is 4
and we know that the length of the string 0s to be appended is
always one less than the length of the divisor.
o Now, the string becomes 11100000, and the resultant string is
divided by the divisor 1001.
o The remainder generated from the binary division is known as CRC
remainder. The generated value of the CRC remainder is 111.
o CRC remainder replaces the appended string of 0s at the end of
the data unit, and the final string would be 11100111 which is sent
across the network.
CRC Checker
o The functionality of the CRC checker is similar to the CRC
generator.
o When the string 11100111 is received at the receiving end, then
CRC checker performs the modulo-2 division.
o A string is divided by the same divisor, i.e., 1001.
o In this case, CRC checker generates the remainder of zero.
Therefore, the data is accepted.
ERROR CORRECTION
When bits are transmitted over the computer network, they are subject
to get corrupted due to interference and network problems. The
corrupted bits leads to spurious data being received by the receiver and
are called errors.
Error-correcting codes (ECC) are a sequence of numbers generated by
specific algorithms for detecting and removing errors in data that has
been transmitted over noisy channels. Error correcting codes ascertain
the exact number of bits that has been corrupted and the location of the
corrupted bits, within the limitations in algorithm.
2r>=d+r+1
Parity bits: The bit which is appended to the original data of binary bits
so that the total number of 1s is even or odd.
SENDER SIDE----------------------------------------------------------------
The position of r1 = 1
The position of r2 = 2
The position of r4 = 4
Determining r2 bit
We observe from the above figure that the bit positions that includes 1
in the second position are 2, 3, 6, 7. Now, we perform the even-parity
check at these bit positions. The total number of 1 at these bit positions
corresponding to r2 is odd, therefore, the value of the r2 bit is 1.
Determining r4 bit
We observe from the above figure that the bit positions that includes 1
in the third position are 4, 5, 6, 7. Now, we perform the even-parity
check at these bit positions. The total number of 1 at these bit positions
corresponding to r4 is even, therefore, the value of the r4 bit is 0.
-------------------------------------------------------------------------------
Suppose the 4th bit is changed from 0 to 1 at the receiving end, then
parity bits are recalculated.
RECIEVER’s SIDE------------------------------------------------------------
R1 bit
R2 bit
R4 bit
-------------------------------------------------------------------------------