250 likes | 407 Views
CSE 555 Protocol Engineering. Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed (KFUPM) Spring 2004 (Term 032). Error Control. Why Error Control.
E N D
CSE 555Protocol Engineering Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed (KFUPM) Spring 2004 (Term 032)
Why Error Control • Number of errors due to data transmission are orders of magnitude greater than those caused by hardware failures • Probability of bit error for internal circuits < 10-15 • Probability of errors on an optical fiber link ~ 10-9 • 6 orders of magnitude more than hardware errors • Probability of errors on a coaxial cable link ~ 10-6 • Probability of errors on a switched telephone line ~ 10-4--10-5 • What is the difference between error rates of 10-15 and 10-4 • At transmission rate of 9600 bits/sec: 10-15 one error every 3303 years of continuous operation10-4 one error every second! 2-2-3
Effects and Causes of Errors • Effects depend on line and network characteristics. Data may be: • Reordered • Distorted • Deleted • Inserted (due to noisy lines) • Two main causes of errors: • Linear distortion of the original data • E.g., caused by bandwidth limitations of the raw data channel • Non-linear distortion • Caused by echoes, cross-talk, white noise, and impulse noise • Effect of these errors can be remedied to some extent • Cable insulations • Hardware compensation filters • Errors that remain have to be caught in software 2-2-4
Error Characteristics of a Data Line • Characteristics related to average behavior: • Long-term average bit error rate • Characteristics related to overall line/network quality: • Percentage of time that the average bit error rate does not exceed a given threshold value • Percentage of error-free seconds • Average bit error rate is commonly used to design an error control method • Provides an indication of performance 2-2-5
Effective Error Control Mechanism • Should match the error characteristics of the channel • If channel introduces insertion errors, no need for a protocol that protects against deletion errors • If a channel produces independent, single bit errors, even a simplest parity scheme will be effective • If error rate of the channel is lower than peripheral equipment, inclusion of any error control scheme results in performance degradation • No error control method should be expected to catch all errors • Goal is to increase the reliability of transmissions up to a required level 2-2-6
Error Model • Assume that probability of error is randomly distributed over a sequence of bits • Let a long-term average bit error rate of a channel = p • Probability of n subsequent bit errors in a message = pn • Probability of one or more bit errors in a message with n bits = 1-(1-p)n • Formal model of such a channel is called discrete memoryless channel • This model ignores the affect of impulse noise • Discrete: because channel recognizes only a finite number of distinct signal levels • Memoryless: because the probability of an error is assumed to be independent of all occurrences of previous errors • Memoryless channel is also called a symmetric channel • Other type is asymmetric channel: • Probability of an error may depend on the value of signal transmitted • Error distribution process may have memory i.e., if last n bits were in error, the next few bits will likely be in error too 2-2-7
Error Free Interval of Symmetric Channel • We can predict error free interval (EFI) using an error model • Expressed as probability of a series of at least n contiguous error-free bit transmissions • Using binary symmetric channel model with long-term average bit error rate of b, the EFI is given as: • This means that the probability decreases linearly with length of interval • To express exponential decrease of probability with interval, we can use Poisson distribution as: 2-2-8
EFI (Cont’d) • Which model is more realistic: binary or Poisson • Need empirical studies • Such studies show that Poisson model gives a better error prediction • A still better match can be found by adding a correction factor • Benoit Mandelbrot approximation: • The parameter a determines the impact of clustering effect • When a=0, model predicts same EFI as with Poisson distribution • For non-zero a, probability of longer EFIs decreases more than the probability of shorter EFIs • This affect is more pronounced with growing a 2-2-9
Types of Transmission Errors • Five general types: • Insertion • Deletion • Duplication • Distortion • Reordering • Insertions and deletions may be caused by the temporary loss of synchronization between sender and receiver • Deletion errors may also be caused by inadequate flow control • Example: receiver may run out of buffer space to hold incoming messages and may have to discard them • Duplication may be intentional • Example: a protocol that uses retransmissions • Data reordering may occur if data are routed via many different routes • Sequencing problems (deletion, duplication, and reordering) are solved by proper flow control Schemes • In case of data distortion or insertion, we need methods to verify the consistency of the data 2-2-10
Redundancy • Redundancy in messages is required for error detection • Two approaches: • Forward error control • Large redundancy in message to help receiver reconstruct original message • Corresponding transmission codes are called error-correcting codes • Feedback error control • Based on retransmission request from receiver e.g., using NAK • Corresponding transmission codes are called error-detecting codes • Purpose of error control: reduce channel error rate • Not all errors can be detected • There is always a residual error rate • If probability of a transmission error in a message = p andfraction of errors caught by the error control method = f, • Then, residual error rate = p(1-f) 2-2-11
How To Select An Error Control Scheme • General rule: • If p≈0, an error-correcting code is a bad choice • It merely slows down data transfer • If p≈1, a retransmission scheme is a bad choice • Almost every message will have to be retransmitted • This includes retransmitted messages • Exceptions to this rule are possible • If p is small and cost of retransmission is high, a forward error control scheme may still be cost-effective • A combination of forward and feedback schemes may be used: • Receiver corrects frequently occurring errors • Receiver asks for retransmissions of messages with less frequent errors 2-2-12
Types of Error-Correcting and Error-Detecting Codes • Two basic types: block and convolution codes • Block codes • All code words have same length • Encoding for each data message can statically be defined • Convolution codes • Code word depends on data message and a given number of previously encoded messages • Encoder changes its state with processing of each message • Length of the code words is usually constant • Other categorization of types of codes: linear, cyclic, and systematic codes 2-2-13
Linear, Cyclic, and Systematic Codes • Linear codes:Output is a linear combination of valid code words e.g., modulo-2 sum, produces another valid code word • Cyclic codes:A code in which every cyclic shift of a valid code word results in another valid code word • Systematic codes:A code in which each code word includes data bits from original message unaltered, either preceded or followed by a group of check bits • In all cases, code words are longer than original data • Let number of original data bits = d and number of additional bits = e • Code rate = d/(d+e) • Improving quality of a code high redundancy lower code rate 2-2-14
Parity Check • Effective when probability of multiple bit errors is low • Useful for a binary symmetric channel • Add a single bit to every message that makes modulo-2 sum of all bits equal to 1 • Overhead of only one bit • Error detection: • If any bit, including the check bit, is distorted, parity at the receiver will come out to be wrong 2-2-15
Residual Error Rate of a 1-bit Parity Check • Residual error rate (RER) of a binary symmetric channel: • Let probability of an error-free bit transmission = q = 1-p • Probability of error-free transmission of an n+1 bits message = q(n+1) • Probability of a single bit error in n+1 bits = (n+1).p. qn • Residual error rate of a 1-bit parity check = 1 - q(n+1) -(n+1).p.qn • This is equal to probability of non 1-bit errors • Example: • n = 15 and p = 10-4 • Then RER is of the order of 10-6 per message or about 10-7 per bit 2-2-16
Prob.of 1-bit error: (n+1)pqn Error rate without parity bit: 1-qn n=15 RER of a 1-bit Parity Check: Example • Residual error rate of a binary symmetric channel per code word increases as a function of bit error rate p • When p≈0, parity check code significantly reduces error rate • Difference between corrected and uncorrected code is maximum at p = 0.06 2-2-17
Forward Error Correction • Forward error control scheme uses a small subset of available bit combinations to encode messages • Codes are chosen such that it takes relatively large number of bit errors to convert one valid message into another • Receiver tries to correct a distorted message by mapping it onto the closest valid message in that scheme • Closest = one that differs from received code word in fewest # of bits • Code rate is generally lower than that of an error-detecting code • Useful when communication of control messages from receiver back to sender is difficult: • A very long transmission delay • Absence of a return channel • High bit-error rate 2-2-18
Correcting 1-bit Errors Using LRC and VRC • Simple extensions of parity check per code word • Longitudinal Redundancy Check (LRC): • Additional parity bit with a sequence of 7 bits new code word • Parity bit is called LRC • Vertical Redundancy Check (VRC) • An extra sequence of 8 bits after a series of n code words • Each bit in this sequence works as parity for bits that occupy same position in n code words • Example: ASCII coding for n=4: • Code rate = 28/(12+28) = 0.7 2-2-19
Hamming distance • Minimum difference between two words in a code • The difference between two code words is the number of bits in which they differ • A code with a hamming distance of n • any combination of up to n-1 bit errors can be detected • any combination of up to (n-1)/2 errors per code word can be corrected (if receiver interprets a non-valid code as the closest valid code) • Receiver will guess wrong for higher numbers of bit errors (probability low overall error rate of channel may be reduced) 2-2-20
Linear Block Code • Based on inserting a block of c check bits to protect m bits: • n messages to be encoded • To be able to correct all single bit errors, we need Hamming distance of at least 3 m+c+1 = 2c • Example: Hamming code 2-2-21
Bursts and Code Interleaving • In practice, transmission errors tend to come in bursts • Code interleaving is used to counter burst errors • Assume messages of n bits each, protected against single bit errors • Assume traffic is non-interactive • Sender buffers each block of k subsequent messages • Sender places these k messages in a matrix of (k x n) bits • Sender transmits the bits in this matrix column by column • Receiver restores the matrix column by column • Receiver read row by row from matrix to get messages • Intercept burst errors up to a length of k bits 2-2-22
Cyclic Redundancy Checks (CRC) • Based on the addition of series of check bits to code words. • In absence of transmission errors, (code word + check bits) is divisible by a given factor • Division method and factor used determine range of transmission errors that can be detected • A generator polynomial is used to form the checksum for a code word • Example: Code word 10011 defines the polynomial x4+x+1. • Several standardized generator polynomials are available (e.g., CRC-12) 2-2-23
Arithmetic Codes • A simpler version of CRC that uses only arithmetic operations (addition and modulo operations) • Much less overhead to compute the checksum • Good error detection capability • A version has been adopted for the ISO Class 4 transport protocol standard (TP4) 2-2-24
Summary – Error Control • Motivation • Error Model • Types of Transmission Errors • Redundancy • Types of Error-Correcting and Error-Detecting Codes • Linear, Cyclic, and Systematic Codes • Parity Check and Residual Error Rate • Forward Error Correction • Linear Block Code • Cyclic Redundancy Checks (CRC) • Arithmetic Codes 2-2-25