We have implemented a package that transforms concise algebraic descriptions of linear block codes into finite automata representations,
and also generates decoders from such representations. The transformation takes a description of the code in the form of a
k × n generator matrix over a field with q elements, representing a finite language containing q
k strings, and constructs a minimal automaton for the language from it, employing a well known algorithm. Next, from a decomposition
of the minimal automaton into subautomata, it generates an overlayed automaton, and an efficient decoder for the code using
a new algorithm. A simulator for the decoder on an additive white Gaussian noise channel is also generated. This simulator
can be used to run test cases for specific codes for which an overlayed automaton is available. Experiments on the well known
Golay code indicate that the new decoding algorithm is considerably more efficient than the traditional Viterbi algorithm
run on the original automaton.
Keywords block codes - minimal trellis - decoder complexity - subtrellis overlaying