 with the modulo-2 adders serve to constrain the A pictorial representation of the lattice points that are possible output sequences. The goal of designing a generated by the aforementioned generator matrix is convolutional code is to constrain the possible output given in Figure 3.4-4, where a finite subset of the hex- sequences to be separated by a large distance. For agonal lattice is shown. If we take four of the lattice example, if the convolutional code is to be used with points as our finite subset, then we can define a mapping a Hamming distance decoder, then it is desirable to of this subset to binary vectors of length two. In design the convolutional code SO that the possible output Figure 3.4-4, we chose four lattice points and arbitrarily bit sequences are separated by a large Hamming distance. assigned two-dimensional bit vectors to the lattice points. However, if the convolutional code is to be used with A transmitter may then parse a bit string into vectors of a Euclidean distance decoder, then a mapping between length 2 and map each vector to a lattice point. Each of the output bit sequences and vectors of real values must the lattice points represent a two-dimensional real vector be defined and it is desirable to design the convolutional that will be corrupted by additive white Gaussian noise. code SO that the possible vectors of real values are The Voronoi region of each lattice point is shown as separated by a large Euclidean distance. In general, better a hexagon. Therefore, if the additive noise is not large convolutional codes can be found as the memory is enough to perturb a lattice point outside of its Voronoi increased. As is common with LFSMs, it is often beneficial to express the LFSM as a state transition diagram. The states represent the contents of the registers in the LFSM, and the transitions between states are determined by the input bits. As an example, consider the convolutional code shown in Figure 3.4-6a. The parameters of the code are given as V = 2, k = 1, and In the example