  # CS601 - Data Communication - Lecture Handout 33

User Rating:     / 0
PoorBest

# Types of Errors

## Single Bit & Burst

• In a single-bit error, a 0 is changed to a 1 or a 1 to a 0
• In a burst error multiple bits are changed
• For Example, a 0.01 second burst of impulse noise on a TX with a data rate of 1200 bps might change all or some of 12 bits of information • The term single bit error means that only one bit of a given data unit (such as a byte, character, or a packet) is changed from 1 to 0 or from 0 to 1
• Figure shows the effect of a single bit error on a data unit
• ASCII character 000000010 (ASCII STX) is sent but 00001010 (ASCII LF) is received
• Single bit errors are the least likely type of error in serial data TX
• To see Why? Imagine a sender sends data at 1Mbps
• This means that each bit lasts only 1/1,000,000 seconds or 1 microsecond
• For single bit error to occur, the noise must have a duration of 1 microsecond which is very rare, noise lasts much longer than that
• However, single bit error can occur if we are sending data using parallel TX
• For Example, if 8 wires are used to send all of the eight bits of a byte at the same time and one of the wires is noise, one bit can be corrupted in each byte

## Burst Errors

• The term burst error means that two or more bit sin the data unit have changed from 1 to 0 or from 0 to 1 • Figure shows the effect of a burst error on a data unit
• In this case 0100010001000011 was sent but 0101110101000011 was received
• Note that a burst error does not necessarily mean that error occur in consecutive bits
• The length of the burst is measured from the first corrupted bit to the last corrupted bit
• Some bits in b/w may not have been corrupted
• Burst error is most likely to happen in a serial TX
• The duration of the noise is normally longer than the duration of a bit which means that when noise affects data, it affects a set of bits
• The number of bits affected depends on the data rate and duration of noise
• For example, if we are sending data at 1 Kbps, a noise of 1/100 seconds can affect 10 bits
• If we are sending data at 1 Mbps, the same noise can affect 10,000 bits

## Error Detection

• Even if we know what type of errors can occur, will we recognize one when we see it?
• If we have a copy of the intended TX for comparison, of course we will
• But what if we don’t have a copy of the original
• Then we will have no way of knowing we have received an error until we have decoded the TX and failed to make sense of it
• For a device to check for errors this way will be Costly and Slow
• We don’t need a machine that decodes every thing and then sits and decides whether a specific word makes sense or not
• We need a mechanism that is Simple and Completely objective

## Redundancy

• One error detection mechanism that would satisfy these requirements would be to send every data unit twice
• The receiving device would then be able to do a bit-for-bit comparison b/w two TXs
• Any discrepancy will indicate an error and an appropriate error correction mechanism could be set in place
• This system will be completely Accurate because the odds of error affecting the same bits in both version will be infinitesimally small
• But this system will be extra ordinarily SLOW
• Not only will the TX time double, but the time it takes to compare two data units is also added up
• The concept of including extra information in the TX solely for the purpose of comparison 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 bit are redundant to the information and are discarded as soon as the accuracy of TX has been determined • Fig shows the process of using redundant bits to check the accuracy of data unit
• Once the data stream has been generated, it passes through a device that analyzes it and adds on an appropriately coded redundancy check
• The data unit now enlarged by several bits (7) travels over the link to the receiver
• The receiver puts the entire stream through a checking function
• If the received bit stream passes the checking criteria, the data portion of the data unit is acepted and the redundant bits are discarded

### Types of Redundancy Checks

• There are 4 types of redundancy checks used in data communication:
• Vertical Redundancy Check (VRC)
• Longitudinal Redundancy Check (LRC)
• Cyclic Redundancy Check (CRC)
• Checksum
• First 3 are normally implemented in the physical layer for use in data link layer
• Fourth is used by Upper layers ### Vertical Redundancy Check (VRC)

• Most common and least expensive
• Also called Parity Check
• A redundant bit called parity bit is appended to every data unit so that total number of 1’s in the unit becomes even including the parity bit • We want to TX the binary data unit 1100001
• Adding together the number of 1’s gives us 3, an odd number

• Before TX, we pass the data unit through a parity generator, which counts the 1’s and appends the parity bit (1) to the end
• The total number of 1’s is now 4, an even number
• The system now transfers the entire expanded across the network link
• When it reaches its destination, the RX puts all 8 bits through an even parity checking function
• If the RX sees 11100001, it counts four ones, an even number and the data unit passes
• But what if the data unit has been damaged in transit?
• Thn when the parity checker counts the 1’s, it gets 5 an odd number
• The reeiver knows that an error has occurred somewhere and therefore rejects the whole unit
• Some systems may also use ODD parity checking
• The principal is the same as even parity

Example 9.1, 9.2, 9.3

### Example 9.1

Sender wants to send “world” In ASCII, the five characters are coded as: ### Example 9.2

• Receiver counts the 1’s and passes it ### Example 9.3

• Receiver counts the 1’s and rejects it ### Performance of VRC

• VRC can detect all single bit errors
• Can also detect Burst errors as long as the total number of bits changed is ODD (1,3,5 etc)

### Examples

• We have an Even Parity data unit where the total number of 1’s including the parity bit is ‘6’ : 1000111011
• If 3 bits change value resulting parity will be odd and an error will be detected: 1111111011: 1’s = 9
• If 2 bits change value resulting parity will still be even and error will not be detected: 1110111011: 1’s = 8

• VRC cannot detect errors when the total number of bits changed are even
• VRC checker will return a result of 1 and the data unit will be rejected
• The same hold true for any odd number of errors
• In the second case, VRC checker will check parity and will return an even number although the data unit contains two errors
• VRC cannot detect error when the number of bits changed is even
• If any two bits change in TX, the changes cancel each other and the data unit will pass a parity check even though the data unit is damaged
• Same holds true for any even number of errors

## Summary

• Types of Errors
• Error detection Techniques
• Redundancy
• Types of Redundancy Checks