A Viterbi-like decoder for linearly precoded and m-coded communication systems

An error correcting code concatenated with a linear precoder is known to be a simple yet effective coding strategy for transmitting blocks of data over frequency selective fading channels. Although optimal maximum-likelihood decoding of such combined codes is prohibitively expensive to perform in general, this paper demonstrates that a sub-class of combined codes can be decoded both optimally and with an acceptable amount of computational complexity. The codes in this sub-class are called M-Codes because they can be implemented by a linear precoder followed by an element-wise modulo operation. The decoding algorithm is a modification of Viterbi's algorithm, the main difference being that the number of states varies according to the depth.