Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r.

Similar presentations


Presentation on theme: "1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r."— Presentation transcript:

1 1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r

2 2 Modulo-2 Arithmetic Addition and subtraction are described by the logical exclusive-or operation.

3 3 Modulo-2 Arithmetic (logical xor)

4 4 Chapter 10 Error Detection and Correction Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

5 Interference Example causes of interference: Heat Noise due to interference (EM fields) Attenuation Distortion Interference causes bit errors.

6 Bit Error Classifications Single bit error Burst error

7 Single Bit Error Single bit error A one is interpreted as a zero (or vice-versa) Refers to only one bit modified in a specified transmission unit of data An uncommon type of error for serial data due to the duration of a bit being much less than the duration of interference.

8 8 Figure 10.1 Single-bit error

9 9 Burst Error More than one bit is damaged by interference.

10 10 Figure 10.2 Burst error of length 8

11 11 Error Detection Detection of errors is necessary to determine if data should be rejected. Possible responses to error detection include: Retransmission request Forward error correction (corrected on the receiving end) Forward correction saves bandwidth & time

12 12 Redundancy Extra bits can be included with the data transmission to assist in the detection and correction of errors – For digital transmissions that implies using block-coding

13 13 Redundant Bits

14 14 Detection vs Correction Detection is easier than correction

15 15 Data Coding Schemes Block coding – described in this course or – Convolution coding – this is covered in advanced Math or EE signal processing courses.

16 16 Block Coding Data-words are made up of k bits. Codewords are made up of k data bits (a data- word) and r redundant bits. n = k + r Where n is the number of bits in a codeword

17 17 Figure 10.5 Datawords and codewords in block coding

18 18 Examples No block coding for 10base-T Ethernet, Manchester coding. 4B/5B block coding (Fast Ethernet), MLT-3 line coding. 8B/10B block coding (Gigabit Ethernet), PAM-5 line coding.

19 19

20 20 Error Detection With Block Coding The receiver can detect an error if – The receiver has a list of valid code words – A received codeword is not a valid code word

21 21 Table 10.2 A code for error correction (Example 10.3)

22 22 Possible Transmission Outcomes A codeword is sent and received without incident A codeword is sent but is modified in transmission. The error is detected if the codeword is not in the valid codeword list. A codeword is sent but is modified in transmission. The error is not detected if the resulting new codeword is in the list of valid codewords.

23 23 Error-Detecting Code Error detecting code can only detect the types of errors it was designed to detect. Other types of errors may go undetected.

24 24 The Hamming Distance The Hamming Distance, d(x,y), between two words of the same size is the number of differences between corresponding bits. Examples d(000,011) = 2 d(10101,11110) = 3

25 25 Let us find the Hamming distance between two pairs of words. 1. The Hamming distance d(000, 011) is 2 because Example 10.4 2. The Hamming distance d(10101, 11110) is 3 because

26 26 The minimum Hamming distance is the smallest Hamming distance between all possible pairs in a set of words. Note

27 10.27 Table 10.1 A code for error detection (Example 10.2)

28 28 Find the minimum Hamming distance of the coding scheme in Table 10.1. Solution We first find all Hamming distances. Example 10.5 The d min in this case is 2.

29 29 Table 10.2 A code for error correction (Example 10.3)

30 30 Find the minimum Hamming distance of the coding scheme in Table 10.2. Solution We first find all the Hamming distances. The d min in this case is 3. Example 10.6

31 31 To guarantee the detection of up to s errors in all cases, the minimum Hamming distance in a block code must be d min = s + 1. Note

32 32 Hamming Code Notation What is the maximum number of detectable errors for each of the two previous coding schemes? – d-min = 2, s = – d-min = 3, s =

33 33 Figure 10.8 Geometric concept for finding d min in error detection

34 34 To guarantee correction of up to t errors in all cases, the minimum Hamming distance in a block code must be d min = 2t + 1. Note

35 35 Figure 10.9 Geometric concept for finding d min in error correction

36 How many errors can be corrected for the two example coding schemes: d-min = 2, t = d-min = 3, t =

37 37 To guarantee correction of up to t errors in all cases, the minimum Hamming distance in a block code must be d min = 2t + 1. Note

38 38 Example A code scheme has dmin = 5. – What is the maximum number of detectable errors? – What is the maximum number of correctable errors?

39 39 Linear Block Codes A linear block code is a code where the logical exclusive-or of any two valid codewords creates another valid codeword.

40 40 Linear Block Codes The min Hamming distance for a LBC is the minimum number of ones in a non-zero valid codeword.

41 Exercise: For each of the next two examples, Compute the Hamming distance, the number of detectable errors, number of correctable errors Show that the code is linear

42 42 Table 10.1 A code for error detection C(3,2)

43 43 Table 10.2 A code for error correction C(5,2)

44 44 Parity Check Count the number of ones in a data word. If the count is odd, the redundant bit is one If the count is even, the redundant bit is zero

45 45 A simple parity-check code is a single-bit error-detecting code in which n = k + 1 with d min = 2. Note

46 46 A simple parity-check code can detect an odd number of errors. Note

47 47 Table 10.3 Simple parity-check code C(5, 4)

48 48 How Useful is a Parity Check? Detecting any odd number of errors is pretty good, can we do better?

49 49 2-Dimensional Parity Check It is possible to create a 2-D parity check code that detects and corrects errors.

50 50 Figure 10.11 Two-dimensional parity-check code

51 51 Figure 10.11 Two-dimensional parity-check code

52 52 Figure 10.11 Two-dimensional parity-check code

53 53 Figure 10.11 Two-dimensional parity-check code

54 Interleaving ● By interleaving the columns into slots, it becomes possible to ● detect up to n-row errors. ● The example is 70%efficient. The efficiency can be improved by adding more rows.

55 55 Cyclic Codes If a codeword is shifted cyclically, the result is another codeword. – (highest order bit becomes the lowest order bit) – Cyclic codes are linear codes

56 C(7,4) Assume d-min = 3. Answer the following about table 10.6: ● What is the codeword size? ● What is the data-word size?

57 57 Table 10.6 is this C(7, 4) cyclic?

58 C(7,4) Is the table 10.6 code cyclic? Is it linear? What is d-min? How many detectible errors? How many correctible errors?

59 Hamming Codes d-min >= 3 Minimum number of detectable errors: 2 Minimum number of correctable errors: 1 For C(n,k), n = 2^r – 1 r = n – k (number of redundant bits) k >= 3

60 Which are Hamming Codes? C(7,4) C(7,3)

61 Error Correction 1. Using CRC codes computing bit syndromes 2. Using interleaving with multiplexing. – Use a parity bit in each frame – Check for invalid code words (see example exercises)

62 62 Checksum Adding the codewords together at the source and destination. If the sum at the source and destination match, there is a good chance that no errors occurred. Checksums are not as reliable as the CRC.

63 63 Checksum Examples 1's complement 16 bit checksum used by the Internet

64 Sender: Checksum Calculation 1.Divide into 16 bit unsigned words 2.Add the 16 bit words using 1’s complement addition. 3.Complement the total 4.Send all the above words.

65 Receiver: Checksum Calculation 1. Divide into 16 bit words 1.Add the 16 bit words and the checksum value using 1’s complement arithmetic. 2.The complement of the total should be zero.

66 Example: Sender 0x466f 0x726f 0x757a +_______ 0x12e58 partial sum 0x2e59 sum 0xd1a6 complement

67 Example: Receiver 0x466f 0x726f 0x757a 0xd1a6 (sender’s checksum) +_______ 0x1fffe (partial sum) 0xffff (sum) 0x0000 (complement)


Download ppt "1 Block Coding Messages are made up of k bits. Transmitted packets have n bits, n > k: k-data bits and r-redundant bits. n = k + r."

Similar presentations


Ads by Google