m memory elements of the encoder with the last m information bits of a block of data of length L and ignoring the output. All of the L bits are then fed to the encoder and the resulting Ln output bits are used as the codeword. In contrast, the zero-tail termination method appends m zeros to a block of data to ensure the feed-forward encoder starts from and ends in the all-zero state for each block. This incurs a rate loss due to the extra tail bits (i.e., non-informational bits) that are transmitted. The maximum likelihood tail-biting decoder of the TBCC codes involves determining the best path in the trellis under the constraint that it starts and ends in the same state. One way to implement this is to run Mtrellis parallel Viterbi algorithms where Mtrellis is the number of states in the trellis, and select the decoded bits based on the Viterbi algorithm that gives the best metric. However this makes the decoding Mtrellis times more complex than the decoding algorithm for zero-tailed encoding. The structure of TBCC encoder is depicted in Figure 9-50. The output encoded bits of TBCC encoder with minimum rate of 1/5 are separated to five sub-blocks and each sub-block is individually interleaved. In the bit selection block, a rate-matching mechanism is performed by puncturing or repeating the bits. The minimum code rate of the TBCC encoder is 1/5, and the constraint length of the convolutional encoder is K = 7. The TBCC encoder structure illustrated in Figure 9-50 utilizes the following generator polynomials: 1710CT 133OCT 1650CT (9-39) 117OCT G5 = 1270CT The encoded bits are de-multiplexed into five sub-blocks denoted as A, B, C, D, and E. Let L denotes the number of the information bits of the encoder. The encoded bits u[i], i =0,...,5L - 1 are distributed into five sub-blocks with y4[k] = u[5k] yB[k] = u[5k + 1] yC[k] = u[5k yD[k] = u[5k + 3] and yE[k] = u[5k + 4] where k = 0, ..., L - 1. The five sub-blocks are interleaved separately. The 9.12 Channel coding and modulation y=1/10 b3b2bb==1101 y=1/J2 bibo=00 b3b