1. A method for detecting data in a data channel, wherein the data signal is subject to inter-symbol interference and timing perturbations and is sampled periodically over a succession of time epochs without regard to said perturbations, the method comprising: assigning integer timing perturbation values from −m to &plus;m for each epoch; assigning A n data states for each epoch, corresponding to n previous data samples each having A possible values; pairing each timing perturbation value with each data state to arrive at (2 m&plus;1)*(A n ) composite states, for each epoch; and assigning probabilities to the transitions between composite states in successive epochs, said probabilities depending upon samples of the data signal; whereby the most probable data values are determined, said data values corresponding to the sequence of detected data values from the sampled data.