 by choosing a lattice point, he A, enough protection, one can switch to a lower rate code and adding this element to all of the lattice points in A. simply by adding extra redundant symbols. Another good We denote the coset as A + a. For example, consider the feature of RCPC codes is that the same Viterbi trellis can lattice partition Z/4Z, where Z is the integer lattice be used for all rates. formed by the 1 X 1 identity matrix and 4Z is a sublattice As mentioned earlier, a convolutional code may be used of ZZ that is formed by scaling the integer lattice by 4. as either a Hamming distance code or a Euclidean distance Four disjoint cosets may be formed from 4Z by adding code. If the convolutional code is used as a Euclidean the lattice points {0,1, 2, 3} to 4Z. Notice that the union distance code, then a mapping between the possible of the four cosets is equal to Z. One method of arriving at output bits at any given time instant and a set of real values the four cosets of 4Z is to use a partition tree, Z/2Z/4Z. must be defined. One method of defining a mapping is to The first level of the tree is a partition of Z into two first choose a constellation of real values such as a finite cosets that consist of the even and odd lattice points of Z subset of lattice points and then define a bijective mapping (i.e., 2Z and 2Z+ 1). The next level of the partition tree between the lattice points and the possible output bit further partitions 27 into 4Z and 4Z+ 2 and partitions vectors. For example, the convolutional code shown in 2Z + 1 into 4Z + 1 and 4Z + 3. A pictorial Figure 3.4-6a has two output bits, which can assume one representation of the partition tree, Z/2Z/4Z, is given in Figure 3.4-8 An example of the partition tree Z/27/47. The branches of the tree are labeled by either 0 or 1 and represent a mapping from bits to cosets of 4Z. CHAPTER 3.4 Channel protection fundamentals Figure 3.4-8. Each of the branches of the partition tree is labeled as either 0 or 1. This labeling defines a mapping between two-bit vecto