Decoding of Rate k/n Convolutional Codes in VLSI

A systematic procedure for an efficient VLSI implementation of the Viterbi algorithm for decoding convolutional codes is presented. This implementation is based on a network of simple processors, each performing an add-compare-select and branch-generation operation, that reside on a single die and are connected to execute the Viterbi algorithm in a highly parallel way. The chip area of such implementations will depend on the processor interconnections, which in turn depend on the state transition diagram of the convolutional encoder (or dual encoder). It is shown that for all rate 1/n convolutional codes generated by feed-forward FIR encoders the encoder state transition diagram, which is described by a de Bruijn graph, can be mapped by a simple equivalence relation to a well-known interconnection scheme in parallel processing referred to as the shuffle-exchange network, for which layout techniques that achieve a proven lower bound on implementation area in a VLSI medium have been established. These results are then extended to rate 1/n codes generated by (IIR) encoders containing feedback. Finally, in the case of general (feed-forward and feedback) rate k/n convolutional encoders it is shown that the state transition diagram of either the encoder or the dual encoder can be always mapped to the Cartesian product of de Bruijn graphs, and therefore of shuffle-exchange graphs; the point is that optimum VLSI layouts for the Cartesian product are easier to obtain and much less complicated than any direct VLSI layouts for the original state transition diagram.

[1]  G. David Forney,et al.  Structural analysis of convolutional codes via dual codes , 1973, IEEE Trans. Inf. Theory.

[2]  Andrew J. Viterbi,et al.  Error bounds for convolutional codes and an asymptotically optimum decoding algorithm , 1967, IEEE Trans. Inf. Theory.

[3]  F. Leighton LAYOUT FOR THE SHUFFLE-EXCHANGE GRAPH AND LOWER BOUND TECHNIQUES FOR VLSI , 1982 .

[4]  Dhiraj K. Pradhan,et al.  A multiprocessor network suitable for single-chip VLSI implementation , 1984, ISCA '84.

[5]  Thomas Kailath,et al.  Linear Systems , 1980 .

[6]  Jr. G. Forney,et al.  The viterbi algorithm , 1973 .

[7]  C. Thomborson,et al.  A Complexity Theory for VLSI , 1980 .

[8]  Andrew J. Viterbi,et al.  Principles of Digital Communication and Coding , 1979 .

[9]  J. Omura,et al.  On the Viterbi decoding algorithm , 1969, IEEE Trans. Inf. Theory.

[10]  G. David Forney,et al.  Convolutional codes I: Algebraic structure , 1970, IEEE Trans. Inf. Theory.

[11]  Franco P. Preparata,et al.  The cube-connected-cycles: A versatile network for parallel computation , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[12]  Solomon W. Golomb,et al.  Shift Register Sequences , 1981 .

[13]  Gary L. Miller,et al.  New layouts for the shuffle-exchange graph(Extended Abstract) , 1981, STOC '81.

[14]  Kung Yao,et al.  Systolic array processing of the Viterbi algorithm , 1989, IEEE Trans. Inf. Theory.

[15]  Thomas Kailath,et al.  Locally connected VLSI architectures for the Viterbi algorithm , 1988, IEEE J. Sel. Areas Commun..

[16]  Harold S. Stone,et al.  Parallel Processing with the Perfect Shuffle , 1971, IEEE Transactions on Computers.

[17]  P. Glenn Gulak,et al.  VLSI Structures for Viterbi Receivers: Part I-General Theory and Applications , 1986, IEEE J. Sel. Areas Commun..