Error Detection and Correction

1. Types of Errors Whenever bits flow from one point to another, they are subject to unpredictable changes because of interference. This interference can change the shape of the signal. In a single-bit error, a 0 is changed to a 1 or a 1 to a 0. The term single-bit error means that only 1 bit of a given data unit (such as a byte, character, or packet) is changed from 1 to 0 or from 0 to 1. The term burst error means that 2 or more bits in the data unit have changed from 1 to 0 or from 0 to 1. 2. Redundancy The central concept in detecting or correcting errors is redundancy. To be able to detect or correct errors, we need to send some extra bits with our data. These redundant bits are added by the sender and removed by the receiver. Their presence allows the receiver to detect or correct corrupted bits. The concept of including extra information in the transmission for error detection is a good one. But instead of repeating the entire data stream, a shorter group of bits may be appended to the end of each unit. This technique is called redundancy because the extra bits are redundant to the information: they are discarded as soon as the accuracy of the transmission has been determined. Figure 8 shows the process of using redundant bits to check the accuracy of a data unit. Once the data stream has been generated, it passes through a device that analyses it and adds on an appropriately coded redundancy check. The data unit, now enlarged by several hits, travels over the link 1

Ass.Prof.Dr. Thamer Information theory 4th class in Communications

to the receiver. The receiver puts the entire stream through a checking function. If the received hit stream passes the checking criteria, the data portion of the data unit is accepted and the redundant bits are discarded.

Fig. 8 Three types of redundancy checks are common in data communications: parity check, cyclic redundancy check (CRC. and checksum (see Fig. 9). 2.1 Simple Parity Check In this technique, a redundant bit called a parity bit is added to every data unit so that the total number of 1’s in the unit (including the parity bit) becomes even (or odd). Figure (10) shows this concept when transmit the binary data unit 1100001. 2

Ass.Prof.Dr. Thamer Information theory 4th class in Communications

Fig.9

Fig. 10

3

Ass.Prof.Dr. Thamer Information theory 4th class in Communications

4

Ass.Prof.Dr. Thamer Information theory 4th class in Communications

Performance Simple parity check can detect all single-bit errors. It can also detect burst errors as long as the total number of bits changed is odd. This method cannot detect errors where the total number of hits changed is even. If any two bits change in transmission, the changes cancel each other and the data unit will pass a parity check even though the data unit is damaged. The same holds true fur any even lumber of errors. 2.2 Two-Dimensional Parity Check A belter approach is the two dimensional parity checks. In this method, a block of bits is organized in a table (rows and columns). First we calculate the parity bit for each data unit. Then we organize them into a table* For example, as shown in Figure 11. We have four data units shown in four rows and eight columns. We then calculate the panty bit for each column and create a new row of 8 bits; they are the pants bits for the whole block. Note that the first parity bit in the fifth row is calculated based on all first bits: the second parity bit is calculated based on all second bits: and so on. We then attach the 8 parity bits to the original data and send them to the receiver.

5

Ass.Prof.Dr. Thamer Information theory 4th class in Communications

Performance Two-dimensional parity check increases the likelihood of detecting burst errors. As we showed in Example 4. a redundancy of n bits can easily detect a burst emir of n bils, A...