Patent ID: 8793561

Claim:
A method comprising: receiving a signal comprising a sequence of encoded symbols, each corresponding to one of a plurality of possible states; for each symbol in the sequence, determining a set of state metrics each representing a probability that the symbol corresponds to each of said plurality of states; and decoding the signal by processing runs of recursions, using runs of forward recursions whereby a later state metric in the sequence is updated based on a preceding state metric, and runs of reverse recursions whereby a preceding state metric in the sequence is updated based on a later state metric; and outputting the decoded signal to a device; wherein the decoding comprises performing a plurality of repeated iterations over the sequence, and for each of said plurality of repeated iterations: dividing the sequence into a plurality of smaller windows, processing the windows using both a forward and reversion run of recursions, and performing an associated warm-up run of recursions for each window such that the direction in which the runs of recursions between adjacent windows are continuous alternates with each successive iteration over the sequence, and is opposite to the direction of the warm-up recursions; and wherein the decoding further comprises, for each repeated recursion: alternating the direction of the warm-up runs between forward and reverse with each successive iteration over the sequence, storing one of the sets of state metrics from each window, and initialising the warm-up run of each window using a corresponding stored set of state metrics from a previous iteration.