Although it is of limited interest for practical problems, the covering radius is important to gain deeper insight and better understanding when considering the error correction capability of a code. Unfortunately, for long codes it can be extremely difficult to compute the covering radius. To have a more detailed information about the distances of a code it is necessary to consider so-called weight enumerator functions. From the linearity of the considered codes, it follows that the distances of a code word c to all other code words is the same for all c ∈ C . Hence, it is sufficient to consider the zero code word and the weight distribution of a linear code is called its distance distribution. Definition 5.11 (weight enumerator) Let C be a ( n, k ) linear code and let A ( w ) be the number of code words of weight w . Then A ( W ) = n X w =0 A ( w ) W w (5.38) is called the weight enumerator of C and A ( w ) is called the weight distribution of C . For many block codes there exist an analytic expression for the weight distribution. For example, the weight distribution of the length n binary Hamming code is given by [vL82] A ( W ) = 1 + 1 1 + n (1 + W ) n + n 1 + n (1 + W ) ( n - 1) / 2 (1 - W ) ( n +1) / 2 . (5.39) There exist codes where A ( w ) is not known and it is too complex to compute it. Later we will see that weight enumerator allow us to compute upper bounds on the performance of the code. This can be very useful and is of great practical meaning. Sometimes it is useful to know the following relation between the weight distribution of a linear binary code C and its dual code C ⊥ [MS77] A ⊥ ( W ) = 1 + 2 - k (1 + W ) n A 1 - W 1 + W . (5.40) Let us consider an example:
32 CHAPTER 5. LINEAR BINARY BLOCK CODES Example 5.3 (weight distribution) The weight distribution of the (7 , 4 , 3) Hamming code is A ( W ) = 1 + 7 W 3 + 7 W 4 + W 8 . (5.41) The weight distribution is a code property. This means it does not depend on a particular generator matrix. To take the mapping of information to code words into account, we define: Definition 5.12 (input-output weight enumerator) Let C be a ( n, k ) linear code with generator matrix G and let A ( z, w ) be the number of information words of weight z that are mapped to code words of weight w . Then A ( Z, W ) = k X z =0 n X w =0 A ( z, w ) Z z W w (5.42) is called the input-output weight enumerator of G . The input-output weight enumerator is a generator matrix property. Clearly, we have A ( w ) = k X z =0 A ( z, w ) (5.43) and, hence, A ( W ) = A ( Z = 1 , W ) . (5.44) Example 5.4 (input-output-weight distribution) The input-output weight distribution of the (7 , 4 , 3) Hamming code with generator matrix (5.13) is A ( W, Z ) = 1 + (3 W 3 + W 4 ) Z + (3 W 3 + 3 W 4 ) Z 2 + ( W 3 + 3 W 4 ) Z 3 + W 7 Z 4 , (5.45) e.g., there are four information words with Hamming-weight 3 , one is mapped to a code word of Hamming-weight 3 and three to code words of Hamming-weight 4 . Later we will show how to obtain an upper bound on the bit error probability of the code with A ( Z, W ) for communication over the AWGN channel.
You've reached the end of your free preview.
Want to read all 107 pages?
- Fall '07
- Information Theory, Coding theory, Hamming Code, Error detection and correction