Block Code Performance ECEN 5682 Theory and Practice of Error Control Codes Block Code Performance Peter Mathys University of Colorado Spring 2007 Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Performance Measures “Goodness” Criteria for Block Codes . How does one select the “best” code for a particular application? This is not an easy question to answer in general because many factors, some of which are only marginally related to coding theory (e.g. the wordlength used on a VLSI chip), need to be considered. But since error control codes are used to control the effect of transmission or channel errors, the probability of error after encoding and decoding with a code C is certainly one of the major, if not the most important, criterion for “goodness”. Depending on whether a code is used for error detection and/or error correction, we are interested in the probability of an undetected error P u ( E ), or in the probability of a decoding error P ( E ). Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Probability of Undetected Error Theorem: Let C be any binary code with minimum (Hamming) distance d min . Then the probability of undetected error, P u ( E ), on a memoryless binary symmetric channel (BSC) with transition probability ǫ satisfies n � n � � ǫ w (1 − ǫ ) n − w . P u ( E ) ≤ w w = d min Proof: Since the code has minimum distance d min , it can detect all error patterns of (Hamming) weight d min − 1 or less. QED Note: The above theorem also holds for memoryless q -ary symmetric channels (QSC) with transition probabilities ( x denotes input, y denotes output of channel) 1 − ǫ , if α = β , α, β ∈ { 0 , 1 , . . . q − 1 } , P { y = β | x = α } = ǫ q − 1 , if α � = β , α, β ∈ { 0 , 1 , . . . q − 1 } . Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Note: Usually, many more error patterns can be detected than those indicated by the above theorem. A q -ary linear ( n , k ) code, for example, can detect q n − q k error patterns. Definition: Let A w be the number of codewords of a linear ( n , k ) code with (Hamming) weight w . Then { A 0 , A 1 , . . . , A n } is called the weight distribution of the code. Example: Code #1 (binary (5 , 2 , 3) code) with generator matrix � 1 � 0 1 0 1 G = , 0 1 0 1 1 has codewords C = { 00000 , 01011 , 10101 , 11101 } , and thus weight distribution { A 0 = 1 , A 3 = 2 , A 4 = 1 , A w = 0 , w � = 0 , 3 , 4 } . Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Theorem: Let C be a binary linear ( n , k ) code with weight distribution { A 0 , A 1 , . . . , A n } which is used on a binary symmetric channel (BSC) with transition probability ǫ . Then the probability of undetected error, P u ( E ), is given by n � A w ǫ w (1 − ǫ ) n − w . P u ( E ) = w = d min Note that if C has minimum distance d min , then A 1 , A 2 , . . . , A d min − 1 are all zero. Proof: Every error pattern that is equal to a codeword cannot be detected when a linear code is used. Note: For a q -ary symmetric channel (QSC) with transition probabilities as given earlier, this theorem becomes n � � w ǫ � (1 − ǫ ) n − w . P u ( E ) = A w q − 1 w = d min Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Examples: The weight distributions { A w } of a few small binary codes are: • (7 , 4 , 3) Hamming code: { A 0 = 1 , A 3 = 7 , A 4 = 7 , A 7 = 1 } . • (15 , 11 , 3) Hamming code: { A 0 = 1 , A 3 = 35 , A 4 = 105 , A 5 = 168 , A 6 = 280 , A 7 = 435 , A 8 = 435 , A 9 = 280 , A 10 = 168 , A 11 = 105 , A 12 = 35 , A 15 = 1 } . • (31 , 26 , 3) Hamming code: { A 0 = 1 , A 3 = 155 , A 4 = 1085 , A 5 = 5208 , A 6 = 22568 , A 7 = 82615 , A 8 = 247845 , A 9 = 628680 , A 10 = 1383096 , A 11 = 2648919 , A 12 = 4414865 , A 13 = 6440560 , A 14 = 8280720 , A 15 = 9398115 , A 16 = 9398115 , A 17 = 8280720 , A 18 = 6440560 , A 19 = 4414865 , A 20 = 2648919 , A 21 = 1383096 , A 22 = 628680 , A 23 = 247845 , A 24 = 82615 , A 25 = 22568 , A 26 = 5208 , A 27 = 1085 , A 28 = 155 , A 31 = 1 } . Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Examples: (contd.) • (31 , 21 , 5) BCH code: { A 0 = 1 , A 5 = 186 , A 6 = 806 , A 7 = 2635 , A 8 = 7905 , A 9 = 18910 , A 10 = 41602 , A 11 = 85560 , A 12 = 142600 , A 13 = 195300 , A 14 = 251100 , A 15 = 301971 , A 16 = 301971 , A 17 = 251100 , A 18 = 195300 , A 19 = 142600 , A 20 = 85560 , A 21 = 41602 , A 22 = 18910 , A 23 = 7905 , A 24 = 2635 , A 25 = 806 , A 26 = 186 , A 31 = 1 } . • (31 , 16 , 7) BCH code: { A 0 = 1 , A 7 = 155 , A 8 = 465 , A 11 = 5208 , A 12 = 8680 , A 15 = 18259 , A 16 = 18259 , A 19 = 8680 , A 20 = 5208 , A 23 = 465 , A 24 = 155 , A 31 = 1 } . • (31 , 11 , 11) BCH code: { A 0 = 1 , A 11 = 186 , A 12 = 310 , A 15 = 527 , A 16 = 527 , A 19 = 310 , A 20 = 186 , A 31 = 1 } . Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error The (exact) probability of undetected error for these six codes, when used on a memoryless BSC with transition probability ǫ , is shown in the following graph. Probability of Undetected Error 0 10 (7,4,3) Code (15,11,3) Code −2 10 (31,26,3) Code (31,21,5) Code (31,16,7) Code −4 (31,11,11) Code 10 −6 10 −8 10 log 10 P u (E) −10 10 −12 10 −14 10 −16 10 −18 10 −20 10 −6 −5.5 −5 −4.5 −4 −3.5 −3 −2.5 −2 −1.5 −1 log 10 (epsilon) for BSC Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error The upper three curves show that if d min is fixed and the blocklength n is increased, then the probability of undetected error P u ( E ) increases. The lower three curves show that if n is fixed and d min is increased, then P u ( E ) decreases quite rapidly. But note that the code rate R = k / n , which does not show up explicitly in the above graph, also needs to be taken into account when designing a system that uses error control. A lower code rate means in general that either data can be sent less rapidly over a given channel, or the channel bandwidth needs to be increased. Definition: Let { A 0 , A 1 , . . . , A n } be the weight distribution of a linear ( n , k ) code C and let { B 0 , B 1 , . . . , B n } be the weight distribution of its dual code C ⊥ . Define the weight distribution polynomials of C and C ⊥ as n n � � B w z w . A w z w A ( z ) = and B ( z ) = w =0 w =0 Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Example: Code #1 with weight distribution { A 0 =1 , A 3 =2 , A 4 =1 } has weight distribution polynomial A ( z ) = 1 + 2 z 3 + z 4 . Theorem: MacWilliams Identity for Binary Codes. The weight distribution polynomials, A ( z ) and B ( z ), of a binary linear ( n , k ) code C and its dual code C ⊥ are related by � 1 − z � A ( z ) = 2 − ( n − k ) (1 + z ) n B . 1 + z Theorem: MacWilliams Identity for q -ary Codes. The weight distribution polynomials, A ( z ) and B ( z ), of a q -ary linear ( n , k ) code C and its dual code C ⊥ are related by � � 1 − z A ( z ) = q − ( n − k ) (1 + ( q − 1) z ) n B . 1 + ( q − 1) z Proof: See F.J. MacWilliams, “A Theorem on the Distribution of Weights in a Systematic Code,” Bell Syst. Tech. J. , vol. 42, 1963, pp. 79–94. Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Performance Measures Block Code Performance Probability of Undetected Error Probability of Decoding Error Example: Consider the binary (5 , 3) code with generator matrix 1 0 1 0 0 . G = 0 1 0 1 0 1 1 0 0 1 Its dual code is code #1, the (5 , 2) code with B ( z ) = 1 + 2 z 3 + z 4 given in a previous example. Using the MacWilliams identity, one finds that � � 4 � � � 3 � A ( z ) = 2 − 2 (1 + z ) 5 1 − z 1 − z 1 + 2 + 1+ z 1+ z � (1 + z ) 5 + 2 (1 − z ) 3 (1 + z ) 2 + (1 − z ) 4 (1 + z ) � = 1 4 = 1 + 2 z 2 + 4 z 3 + z 4 , and thus the weight distribution of this (5 , 3) code is { A 0 = 1 , A 2 = 2 , A 3 = 4 , A 4 = 1 , A i = 0 , i � = 0 , 2 , 3 , 4 } . Peter Mathys ECEN 5682 Theory and Practice of Error Control Codes
Recommend
More recommend