Presentation is loading. Please wait.

Presentation is loading. Please wait.

MAT 1000 Mathematics in Today's World Winter 2015.

Similar presentations


Presentation on theme: "MAT 1000 Mathematics in Today's World Winter 2015."— Presentation transcript:

1 MAT 1000 Mathematics in Today's World Winter 2015

2 Last Time We looked at ways to add extra digits to a binary code, allowing us to catch and correct errors. One example used Venn diagrams to encode four digit messages. More generally, we can use “parity check sums.” With these, we can have messages of any length, and we can catch or correct more errors

3 Today For any parity check sum encoding system, we can determine how many errors it will correct or detect.

4 Binary linear codes A binary linear code is a set of strings of 0’s and 1’s obtained from all messages of a given length by using parity check sums to add digits. The resulting strings of 0’s and 1’s are called code words.

5 Binary linear codes Example Last class we constructed the following example: This is a binary linear code. The right column are the code words. For example: 101 001 is a code word.

6 Error detection and correction capacity For any binary linear code, we can determine how many errors it will detect or correct. We call these numbers the “error detection capacity” and the “error correction capacity.” These can be determined once we know the “weight” of a binary linear code. The weight of a binary code is the smallest number of 1’s that appear in a code word (except a code word which is all 0’s)

7 Error detection and correction capacity In the example from last class, we had the following code words: This binary code has weight 3. Code words 000 001 111 010 101 100 110 110 011 101 001 011 010 111 100 Number of 1’s 0 4 3 3 4 3 3 4

8 Error detection and correction capacity

9 What does “detecting errors at most 2 errors” mean? We have to decide in advance that we will reject any message which does not match a code word (that we will not try to correct errors). If we do, then as long as a message has 2 or fewer errors, we will always notice.

10 Error detection and correction capacity For example, if we receive the message 100 110 Incorrectly as 110 100 (two errors: in the second and fifth place), we notice, because 110 100 isn’t a code word. On the other hand, if we receive 100 110 incorrectly as 111 100 (three errors, in the second, third and fifth places) we won’t notice, because 111 100 is a code word.

11 Error detection and correction capacity

12 What does “correcting at most 1 error” mean? We must decide in advance that if a message doesn’t match any code word, then we will decode it (using nearest neighbor decoding). As long as the message received has only 1 error, we will decode it correctly. However, if there are 2 or more errors, we may decode it incorrectly.

13 Error detection and correction capacity Suppose we have decided to attempt to decode all messages. If we are sent the message 100 110 But we receive it with one error as 100 Then it will decode correctly.

14 Error detection and correction capacity Decode 100 100 using nearest neighbor decoding. The closest message is the correct one: 100 110 Distance 2 4 3 1 4 3 5 2 Code Words 000 001 111 010 101 100 110 110 011 101 001 011 010 111 100

15 Error detection and correction capacity On the other hand, if a message has two or more errors, it may not decode correctly. For example, suppose we receive the message 100 110 Incorrectly as 110 100 Let’s decode this message

16 Error detection and correction capacity Decode 110 100 using nearest neighbor decoding. We decode this message incorrectly as 111 100. The correct message was 100 110 Distance 3 5 2 2 3 4 4 1 Code Words 000 001 111 010 101 100 110 110 011 101 001 011 010 111 100

17 Error detection and correction capacity

18 Example The code words for the Venn diagram system are: The smallest number of 1’s in any of these is 3. So this code also has weight 3.

19 Error detection and correction capacity Example Since the Venn diagram system has weight 3, it will either: 1.Detect 2 errors 2.Correct 1 error

20 Error detection and correction capacity When designing a binary linear code, the higher the weight, the more errors can be detected or corrected. So when we choose which parity check sums to use, we should pick the ones that give our code the highest weight.


Download ppt "MAT 1000 Mathematics in Today's World Winter 2015."

Similar presentations


Ads by Google