Hi,
based on algorithm which is used for encoding number to bytestream you can use sw error correction. You can find the algorithm with source code in transponder design thread. It is based on convolution with long constrain length so viterbi can not be used but you can use some other algs. If you need further explanation i can help you with this as i worked a lot with finding this alg.
regards
Brano