Presentation is loading. Please wait.

Presentation is loading. Please wait.

Reliability and Channel Coding

Similar presentations


Presentation on theme: "Reliability and Channel Coding"— Presentation transcript:

1 Reliability and Channel Coding
Chapter 8 Reliability and Channel Coding © Bobby Hoggard, Department of Computer Science, East Carolina University These slides may not be used or duplicated without permission

2 Causes of Transmission Errors
Cause of Problem How to Avoid the Problem Device failure Careful monitoring of the network to detect device failures Equipment that does not meet engineering standards Extensive testing of the equipment when it's manufactured Physics of the universe Algorithms to detect and correct errors

3 Categories of Transmission Errors
Category Description Results In Interference Electromagnetic radiation emitted from devices, and from background cosmic radiation causing noise; disturbs signals traveling across wires Spike in voltage, causing single-bit errors Distortion Properties of wires that block certain frequencies while allowing others Longer duration interference causing Burst errors or Erasure Attenuation Weakening signal; The further distance a signal travels, the weaker it gets Erasure Type of Error Description Single-bit error A single bit (out of a block of bits) gets changed – a 1 changes to 0 or 0 to 1 Burst error Multiple bits (in a block of bits) get changed Erasure The signal is ambiguous (can't determine if it is a 0 or 1)

4 Strategies for Handling Channel Errors
FEC – Forward Error Correction Add extra bits to the data to help determine if an error has occurred & possibily to help rebuild the data ARQ – Automatic Repeat Request Sender and receiver communicate with messages to determine if an error has occurred, and if so, to resend the data

5 Forward Error Correction Techniques
Block Error Codes Divide the data into blocks Attach extra information to each block (called redundancy or check bits) Blocks are independent of each other Convolutional Error Codes Treats data as a series of bits Compute a code over a continuous series The code for a series of bits depends on the current input and some of the previous bits

6 Single Parity Check Sender and receiver decide in advance whether to use even parity or odd parity How it works: Divide the data in to blocks of 8-bit units Add a parity bit (also called a check bit) to each block The parity bit value is determined such that the total number of 1's in the block (including the parity bit) is even or odd (depending on what was previously agreed upon) This algorithm is designed to detect errors, but not correct them This algorithm cannot detect all errors

7 Example: Single Parity Check
Original Data # of 1's Even Parity Odd Parity 1 5 1 Sent (using even parity) Received odd number of 1's even number of 1's This algorithm is guaranteed to detect only single-bit errors Cannot detect the error if an even number of bits get changed (burst error) Technically, it can detect if an odd number of bits get changed

8 Hamming Distance for Words
The number of bits that must be changed in order to turn one piece of data into another Example vs Hamming Distance = 3 3 bits must change to turn one of these values into the other Can be computed by calculating the XOR of the two words and counting the bits in the result: XOR =

9 Codewords 2n codewords 2n codewords 2n - 2m 2m 2m valid data words
The data bits the extra check bits added for error detection 2n codewords 2n codewords 2n - 2m invalid codewords 2m valid codewords 2m valid data words

10 Codeword Example 512 codewords 29 codewords 512 codewords
Simple Parity Check – consists of 9-bit codewords 512 codewords 29 codewords 512 codewords = 256 invalid codewords 256 valid codewords 28 valid data words 256 valid data words 8 bits of data, 1 check bit

11 Hamming Distance for Algorithm
Given an algorithm to produce check bits, we can produce a list of all valid codewords Feed all possible data words into the algorithm From this list, find the 2 codewords which have the minimum Hamming distance this is the Hamming Distance for the Algorithm this defines the weakest point in the algorithm this defines the guarantee for the algorithm All possible 2-bit data values 00 01 10 11 Single Parity Check Algorithm (with odd parity) 001 010 100 111 All of the valid codewords

12 Hamming Distance for Single Parity
Data Codeword 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 d (0 0 1, ) = 2 d (0 0 1, ) = 2 d (0 0 1, ) = 2 d (0 1 0, ) = 2 d (0 1 0, ) = 2 minimum codeword distance d (1 0 0, ) = 2 data parity Hamming distance for the simple parity check algorithm is 2

13 What Does Hamming Distance Determine?
To detect d single-bit errors: Need an algorithm with a distance of: d + 1 To correct d single-bit errors: Need an algorithm with a distance of: 2d + 1 Key point: with d number of errors, the received codeword is closer to the original codeword than to any other codeword in the list

14 Detection/Correction Distance Example
Algorithm with Distance = 12 Detects: <= 11 errors 12 = Corrects: <= 5 errors 11 = 2 * 5 + 1 correcting 6 errors requires distance of 13 6 valid codeword distance = 12 valid codeword send valid codeword invalid codeword received distance = 5 distance = 7

15 Hamming Distance for Simple Parity
Data Codeword 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 1 1 1 1 1 d (0 0 1, ) = 2 This algorithm can detect: 1 error d (0 0 1, ) = 2 2 = 1 + 1 d (0 0 1, ) = 2 algorithm distance number of errors d (0 1 0, ) = 2 d (0 1 0, ) = 2 This algorithm can correct: None d (1 0 0, ) = 2 3 = 2 * 1 + 1 distance needed minimum number of errors Hamming distance for the simple parity check algorithm is 2

16 Correction Algorithm Example
We have an algorithm which produces 4 valid codewords of 10-bits each: 1) 2) 3) 4) 5 What is the algorithm's distance? d (1, 2) = 5 d (1, 3) = 5 <=9 How many single-bit errors can be detected? d (1, 4) = 10 <=2 How many single-bit errors can be corrected? d (2, 3) = 10 d (2, 4) = 5 Algorithm overhead (data bit –to– check bit ratio): d (3, 4) = 5 2 data bits 8 check bits 10 bits total 400%

17 Correction Algorithm Example
We have an algorithm which produces 4 valid codewords of 10-bits each: 1) 2) 3) 4) Transmitted: Received: d (r, 1) = 3 d (r, 2) = 2 Assume data was: d (r, 3) = 8 d (r, 5) = 7

18 Correction Algorithm Example
We have an algorithm which produces 4 valid codewords of 10-bits each: 1) 2) 3) 4) Transmitted: Received: d (r, 1) = 2 Assume data was: How many single-bit errors can be corrected? <=2 d (r, 2) = 3 How many single-bit errors occurred? 3 d (r, 3) = 7 Number of errors exceeded the algorithm's limit d (r, 5) = 8

19 Hamming Algorithm An algorithm with low overhead, that can correct one single-bit error Data Bits Check Bits Overhead 1 2 200% 2 - 4 3 % 5 - 11 4 % 5 % 6 % 7 12 - 6% 8 7 - 3%


Download ppt "Reliability and Channel Coding"

Similar presentations


Ads by Google