1. An apparatus for detecting a data pattern from a plurality of received signals, the apparatus comprising: a mapper providing a sequence of scan values derived from a sequence of count values, each scan value selecting one of a set of candidates in a varying pattern, wherein the mapper generates the sequence of scan values so as to select each of the set of candidates in a periodic scan pattern; a difference term generator providing, for each of the sequence of count values, a difference term between a current metric value and a previous metric value based on a set of coefficients for a received symbol; an accumulator combining, for each of a sequence of count values, the difference term with one or more previous difference terms to provide one of a set of metric values; and a comparator generating, based on the set of metric values corresponding to the sequence of scan values, soft-output values corresponding to the data pattern; wherein the received symbol is represented by symbol values in two or more dimensions, and the mapper generates the sequence of scan values so as to select each of the set of candidates in a scan pattern in each dimension, the scan pattern of each dimension varying in frequency with the scan pattern of at least one other dimension.