Spread Knowledge

CS601 - Data Communication - Lecture Handout 33

User Rating:  / 0
PoorBest 

Related Content: CS601 - VU Lectures, Handouts, PPT Slides, Assignments, Quizzes, Papers & Books of Data Communication

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

Single Bit & Burst

  • 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

Burst Errors

  • 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

Redundancy

  • 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

Types of Redundancy Checks

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

Vertical Redundancy Check (VRC)

  • 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?
  • What if instead of 11100001, receiver sees 11100101?
  • 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.1

Example 9.2

  • Suppose “world” is received by the receiver without being corrupted:
  • Receiver counts the 1’s and passes it

Example 9.2

Example 9.3

  • Suppose “world” is received by the receiver corrupted:
  • Receiver counts the 1’s and rejects it

Example 9.3

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

Reading Sections

Section 9.1, 9.2, 9.3 “Data Communications aneing" 4th Edition by Behrouz A. Forouzan