A signal detector comprises a filter that equalizes data in an input signal to a primary target. A detector is matched to the primary target and generates a most likely path corresponding to the data in the input signal. A post-processor is matched to one of the primary target and a secondary target, determines at least one most likely error event in the most likely path, and generates revised paths based on the at least one most likely error event. A processor is matched to the secondary target, computes path metrics corresponding to each of the revised paths as a function of a non-linear noise model and selects one of the revised paths based on the path metrics.