1 / 13

Lecture 15 The Minimum Distance of a Code (Section 4.4)

Lecture 15 The Minimum Distance of a Code (Section 4.4). Theory of Information. u- Error-Detecting Codes. Definition A code C is called u-error-detecting if changing  u symbols in any of its codewords does not yield another codeword in C.

andrel
Download Presentation

Lecture 15 The Minimum Distance of a Code (Section 4.4)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 15The Minimum Distance of a Code(Section 4.4) Theory of Information

  2. u-Error-Detecting Codes DefinitionA code C is called u-error-detecting if changing u symbols in any of its codewords does not yield another codeword in C. A code C is called exactly u-error-detectingif u is the largest such number, i.e., if the code is u-error detecting but not (u+1)-error-detecting. Examples: C = {000, 111} is exactly -error-detecting C = {000000, 111000, 111111} is exactly -error-detecting C = {1000, 0001} is exactly -error-detecting Give examples of exactly single-error-detecting codes.

  3. v-Error-Correcting Codes DefinitionA code C is called v-error-correcting if nearest neighbor decoding can correct any v or fewer errors, without encountering a tie. A code C is called exactly v-error-correctingif v is the largest such number, i.e., if the code is v-error correcting but not (v+1)-error-correcting. Examples: C = {000, 111} is exactly -error-correcting C = {000000, 111000, 111111} is exactly -error-correcting C = {1000, 0001} is exactly -error-correcting Give an example of an exactly 2-error-detecting code. Binary repetition code of lengthn, denoted Rep2(n), contains just two codewords: n 0’s and n 1’s. It is exactly -error-detecting and exactly -error-correcting.

  4. Telephone Numbers The set of all active US telephone numbers is a decimal (10-ary) block code of length 10. Its current size is about 115 million. Could it be made (at least) 1-error-correcting? I.e. is there a single-error-correcting decimal code of size 115,000,000? At this time, the maximum size n of a decimal single-error correcting code is not known. What is, however, known is that 82,644,620  n  100,000,000. Conclusion: the goal cannot be achieved for US, but can be achieved for a somewhat smaller country.

  5. The Minimum Distance of a Code DefinitionLet Cbe a code with at least two codewords. The minimum distance d(C) of C is the smallest Hamming distance between distinct codewords of C. DefinitionAn (n,M,d)-codeis a code of length n (#symbols in each codeword), size M (# codewords), and minimum distance d (smallest distance between codewords) Examples: C = {000, 010, 011} d(C) = C is a -code C is exactly -error-detecting and exactly -error-correcting C = {00011, 00101, 11101, 11000} d(C) = C is a -code C is exactly -error-detecting and exactly -error-correcting C={000000, 000111, 111000, 111111} d(C)= C is a -code C is exactly -error-detecting and exactly -error-correcting Parameters

  6. Three Theorems Theorem A code C is u-error-detecting if and only if d(C) ≥ u + 1 Theorem A code C is v-error-correcting if and only if d(C) ≥ 2v + 1 Theorem A code C is exactly-v-error-correcting iff d(C) = 2v + 1 or d(C) =2v +2, i.e., v = (d(C) -1)/2.

  7. Mixed Error Detection and Error Correction Strategy (for v0): If a word x is received and the closest codeword c is at a distance v, and there is only one such codeword, then decode x as c. Otherwise declare an error. Definition A code C is simultaneously v-error-correcting and u-error-detecting if, whenever v errors are made, the above strategy will correct them and if, whenever at least v+1 but at most v+u errors are made, the above strategy simply reports an error. Theorem 4.4.4 A code C is simultaneously v-error-correcting and u-error-detecting if and only if d(C)  2v+u+1.

  8. Maximal Codes Definition An (n,M,d)-code is said to be maximal if it is not contained in any larger code with the same length and minimum distance, i.e. it is not a subset of any (n,M+1,d)-code. Are the following codes maximal? {0,1} {00,11} {001,111} {0000, 0011, 1111} {0000,0011,1100,1111} Theorem 4.4.5 An (n,M,d)-code C is maximal iff, for all words x, there is a codeword cC such that d(x,c) < d. Is {001,111,100,010} maximal?

  9. Pros and Cons for Maximizing Codes Advantage: The code, after enlarging to a maximal one, will still remain (d-1)/2- error-correcting. Disadvantage: While the old code may be able to correct more than (d-1)/2 errors 0ccasionally, the new code will not be able to do so. Is C={00000,11100} maximal? Let C’ be any maximal code containing C If 00000 is sent but 00111 is received, can C correct it? can C’ correct it? why?

  10. Exercise 1 • Consider the binary code C={11100,01001,10010,00111} • Compute the minimum distance of C • Using minimum distance decoding, decode the words • 10000 • 01100 • 00100

  11. Exercise 3 Consider the code C consisting of all words in Z2n that have an even number of 1s. What is its length? size? minimum distance?

  12. Exercise 9 Does a binary (7,3,5)-code exist?

  13. Homework Exercises 2 and 8 of Section 4.4.

More Related