An efficient neural decoder for convolutional codes

The Viterbi algorithm (VA) is known to be an efficient method for the realization of maximum likelihood (ML) decoding of convolutional codes (CC). However the resulting schemes are generally characterised by complex receiver structures, high packing densities and heavy computational cost. In this work we analyse the possibility of using the neural network (NN) approach to decoding convolutional codes. In particular we have used a multilayer perceptron trained with the error back propagation algorithm. The motivation of using NNs, lies in their ability to learn and approximate arbitrarily complex non-linear functions. The desired function was the decoding map, bypassing an explicit calculation and comparison of metrics of the paths in the considered window. The NN architecture has further advantages : the regular and parallelizable nature of the NNs, the speed of decoding, a less complexity with respect to the sliding-block decoder. Our proposal is to use a training set scheme suitable to achieve performance closer to the Viterbi algorithm (VA) one. Therefore in applying NN to convolutional code (CC) decoding it is necessary to address the following issues : decoding procedure ; network architecture (i.e. the number of layers, the number of nodes per layer,...) ; training procedure ; generation of the training set. The result of such an approach showed that the NN decoder has performance very close to the optimal one, with less complexity and higher speed.