Transmission of data through a noisy medium inevitably introduces errors through interference by changing one or more bits. There are two types of errors, in single bit errors, a 0 may be turned into a 1 or vice versa. In real world conditions, most interference introduce burst errors where two or more bits are switched from a 0 to a 1 and vice versa.
Types of Errors 1. Single-Bit Error – a single bit is switched from a 0 to a 1 or a 1 to a 0 2. Burst Error – one or more bits are flipped.
Single Bit Error 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 |
Burst Error | | | Length of burstError (8 bits) | | | | | | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
The number of bits affected by noise or interference depends on the data rate and the duration of the noise.
Hamming Distance – The number of positions at which two strings are different, from the binary string depicted above shows a distance of four (4).
To detect or correct errors, extra (redundant) bits need to be sent.
Error detection – we only need to know if an error in the data has occured, usually by employing a checksum or hash algorithm.
Error correction – we need not just the number of bits corrupted but also the location of the corrupted bits and reconstructing the original, error-free data.
Redundancy is achieved through various coding schemes. The sender adds redundant bits through a process that creates a relationship between the redundant bits and the actual bits. The two sets of bits are then checked against each other to detect or correct any errors.
Error detection can be realized by using various methods, some of which are listed below: 1. Repetition Codes 2. Parity Bits 3. Checksums 4. Cyclic Redundancy Checks
Error correction algorithms can also be used to detect errors.
Two methods of Error