It is a great pleasure to be asked to write the Preface for this book on
trellis decoding of error correcting block codes. The subject is
extremely significant both theoretically and practically, and is very
timely because of recent devel- opments in the microelectronic
implementation and range of application of error-control coding systems
based on block codes. The authors have been notably active in signal
processing and coding research and development for several years, and
therefore very well placed to contribute to the state of the art on the
subject of trellis decoding. In particular, the book represents a unique
approach to many practical aspects of the topic. As the authors point
out, there are two main classes of error control codes: block codes and
convolutinal codes. Block codes came first historically and have a
well-developed mathematical structure. Convolutional codes come later,
and have developed heuristically, though a more formal treatment has
emerged via recent developments in the theory of symbolic dynamics. Max-
imum likelihood (ML) decoding of powerful codes in both these classes is
computationally complex in the general case; that is, ML decoding fails
into the class of NP-hard computational problems. This arieses because
the de- coding complexity is an exponential function of key parameters
of the code.