CPSC 3600 - DAY 10 FEBRUARY 15, 2017 ================================================================================ RELIABILITY AND CHANNEL CODING ------------------------------ Reliability is very important to computer networking as errors occur during transmission. Interference: electromagnetic radiation causes noise that disturbs radio transmissions and signals travelling across wires. Distortion: metal objects can block signals. Attenuation: signals become weaker with distance. Reliability and Transmission Errors: Errors cannot be eliminated completely. Errors can be detected and corrected. Error detection adds overhead. Example: One bit error in a bank transfer is significant. 00001010 ($10) -> 10001010 ($138) One bit error in an image is less important +---+---+---+---+---+---+---+---+---+---+---+---+---+ Sent | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | | | +---+---+---+---+---+---+---+---+---+---+---+---+---+ Burst 7 bits | <-----------------------> | +---+---+---+---+---+---+---+---+---+---+---+---+---+ Rec'd | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | | | +---+---+---+---+---+---+---+---+---+---+---+---+---+ Channel coding techniques can be divided into two broad categories: Forward Error Correcting Add additional information to data that allows a reciever to verify that data arrives correctly and to correct errors, if possible Automatic Repeat reQuest (ARQ) A sender and reciever exchange messages to ensure that all data arrives correctly. Single Parity Checking On the sending side, an encoder adds and extra bit, called a parity bit A reciever removes the parity bit and checks it The sender and reciever must agree to use even or odd parity If using even parity, the sender adds a parity bit of 0 if there is an even number of 1 bits, and 1 if the number of 1 bits is odd. If using odd parity, the sender adds a parity bit of 1 if there is an even number of 1 bits, and 0 if the number of 1 bits is odd. Single parity checking can detect errors, but cannot correct them. Parity mechanisms can only handle errors where an odd number of bits are changed. When a burst error occurs in which two, four, or six bit change value, the reciever will incorrectly detect the error. Dataword: original message Codeword: encoded version of the message i.e. the message + add'l bits 16-Bit Checksum This algorithm allows a message to be arbitrarily long, and computes a checksum over the entire message The message is divided into 16-Bit units, appending zeroes if it does not have an exact multiple of 16 bits A sender adds the numberic values and transmits the result. A reciever performs the same computation, but includes the checksum. If the result is zero, the transmission has no error