130 likes | 165 Views
Explore u-Error-Detecting Codes, v-Error-Correcting Codes, and The Minimum Distance of Codes in Information Theory Lecture. Learn about examples and theorems in code theory.
E N D
Lecture 15The Minimum Distance of a Code(Section 4.4) Theory of Information
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.
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.
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.
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
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.
Mixed Error Detection and Error Correction Strategy (for v0): 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.
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 cC such that d(x,c) < d. Is {001,111,100,010} maximal?
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?
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
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?
Exercise 9 Does a binary (7,3,5)-code exist?
Homework Exercises 2 and 8 of Section 4.4.