ictorial representations of such a coder The error correcting power of a convolutional code arises from the (with = 1, n = 2 and = 4) are shown in Figure 14.4. fact that only some of the possible sequences of digits are valid The output digits are formed as weighted sums of the input digit(s) outputs from the coder; these sequences correspond to possible and the digits in the shift register(s), with arithmetic in GF(M) as for paths through the trellis. The job of the decoder is to find which block codes. In binary, the only possible weights are 0 and 1, so the valid digit sequence is closest to the received digit sequence. This output bits are formed by selected modulo-2 sums of the input bit(s) is analogous to the job of a block decoder, but because the input digit and register contents. After the output digits have been formed, the sequence is continuous the coder must operate continuously, and input digit(s) are shifted into the shift register(s). must have an acceptably small delay between the arrival of particu- An alternative representation of a convolutional coder is as a lar input digits and output of the corresponding decoded digits. single shift register of length (L-1)k digits. In each time-step the The optimum (in the sense of Maximum Likelihood) decoding of n output digits are calculated and then the k input digits are loaded convolutionally coded sequences can be carried out using the sequentially into this register. Sometimes Lk is called the constraint Viterbi algorithm, which can be applied to both hard-decision and length (a conflicting definition with the one above). soft-decision decoding. Calculating the most likely digit sequence The digits in the shift register(s) (s, to in Figure 14.4) define the output by the coder is equivalent to calculating the most likely path state of the coder at each time-step; there are therefore M ( - 1)k followed by the coder through the trellis. In a hard-decision decoder possible coder states. The possible transitions from a given coder (and assuming a binary 