Patent ID: 7263652

Claim:
A maximum likelihood detector for receiving a stream of data values which correspond to ideal values but which may include added noise, and outputting information specifying a sequence of states of maximum likelihood corresponding to the stream of data values, said ideal values being determined by the possible states, the maximum likelihood detector comprising: means for obtaining first weighting values indicating likelihoods that each data value corresponds respectively to each of a plurality of said ideal data values; a plurality of processing means arranged in a hierarchical structure, wherein each processing means in a lowest level of the hierarchy is adapted to use a plurality of said first weighting values to calculate second weighting values indicating respective likelihoods that a section of the stream of data values corresponds to each of a plurality of possible sequences of states, the section comprising one or more possible initial states and one or more possible final states; and, for each said possible initial state and each said possible final state, to select a second weighting value of highest likelihood corresponding to a state sequence from the initial state to the final state, and each processing means in a level above the lowest level of the hierarchy is adapted to use weighting values calculated at a lower level of the hierarchy to calculate third weighting values indicating respective likelihoods that a sequence of data values comprising a plurality of adjacent sections corresponds to each of a plurality of possible state sequences, said sequence of adjacent sections comprising one or more possible initial states and one or more possible final states; and, for each said possible initial state and said each possible final state, to select a third weighting value of highest likelihood corresponding to a state sequence from the initial state to the final state; and output means to output information specifying a state sequence of highest likelihood according to the weighting value selections made by the plurality of processing means.