An error can occur when the information acquired at the receiver’s end does not match with the information sent from the sender. The digital signals generally get interference with noise during transmission. This will introduce error as the bits travel from the sender side to the receiver side. The bit 0 could become 1 or bit 1 could become 0 bit.
We can use many error detection techniques. The basic approach is to use redundant bits. In this technique, the additional bits are included to detect errors. And popular error detection techniques in this category are simple parity checker, two-dimensional parity checker, checksum, cyclic redundancy checker.
Let us look at these techniques with more details.
Simple Parity Check
The data blocks from the source are made to go through a parity bit generator form. In this generator form, 1 is added if the data block consists of an odd number of 1’s and 0 is added if there are even number of 1’s in the data block. This technique helps in availing 1’s in even number and thus this is also called an even parity check.
Two-dimensional Parity Check
In this technique, every row’s parity check bits are calculated. This is similar to the simple parity check bit. All the column’s parity check bits are also calculated. And then parity check bits from row and column are transmitted along with the data. At the receiver end, the calculated parity bits on the receiver data are compared with the above-extracted data.
the checksum technique divides the data into ‘k’ segments of ‘m’ bits each. The segments at the sender’s end are added using 1’s complement for a sum. the sum we obtain is complemented. When the result obtained is zero, the data received is accepted and if otherwise, it will be discarded.
Cyclic Redundancy Check (CRC)
The CRC is a technique that is based on binary division. Here a cyclic redundancy check bit is attached to the end of the data thus enabling the result to be divided exactly by another binary number that is pre-determined. At the receiving end, the data that is being received is also divided by the number used above. After this step, the data is assumed to be correct if there is no remainder, else the data is assumed to be damaged in the transmission and thus rejected.
The error detecting codes can be used in the OSI Model either at the Data Link Layer or Transport Layer. When a message is being transmitted, it might get distorted due to noise and data will get corrupted. To prevent such thing from happening, we utilize the code that will detect an error. This code is additional data that we will be adding to the original digital message. This will help us detect the errors that have has occurred during message transmission.