Data for transmission may be convolutionally encoded and punctured prior to
transmission. The invention relates to a method and apparatus for decoding
such data. In accordance with the invention, a table of error metrics is
prepared when a given group (Gt) of n bits is received at a particular
time (t). The error metrics (Mti) are calculated for comparisons of the n
bits received with each possible permutation (Pi) of n bits. These error
metrics (Mti) are placed in the metric table. Next a look-up table (Tt) is
consulted which lists each state change (Sj) which the encoder could have
undergone at the particular time (t) together with the permutation (Pi) of
bits which would have been produced by the encoder for that state change.
The look-up table (Tt) is particular to the puncturing scheme which the
encoder uses at the particular time (t). The metric table is then used to
add to the look-up table (Tt) the error metric (Mti) appropriate to each
state change (Si) in the table (Tt). These error metrics are then used to
update the cumulative metric of the decoder.