Abstract: A data receiving channel has a signal converter that converts a received signal into a digital signal. The digital signal is then applied to a Viterbi detector that will provide, as an output, a stream of digital signals that have a maximum likelihood of being accurate. Error correction is performed at the bit level through calculation of the error between the received signal and the maximum likelihood estimate signal produced by the Viterbi detector.