Patent ID: 8806312

Claim:
A method of decoding a block with a Soft Output Viterbi Algorithm (SOVA), wherein the block comprises a plurality of symbols having a mutual association described by a trellis representation, the trellis representation having a node for each possible state of an encoder corresponding to the trellis representation and for each stage corresponding to a symbol input occasion of the encoder, each node having at least two incoming path transitions wherein each incoming path transition corresponds to a respective possible input symbol of the encoder, and wherein the SOVA uses a sliding window wherein each position of the sliding window has a path determination stage at one end of the sliding window and a symbol decision stage at another end of the sliding window, the method comprising determining soft output values of the SOVA by, for each path determination stage and for each node of the path determination stage: calculating a transition metric and a corresponding path metric for each incoming path transition; determining a surviving path and a concurrent path based on the path metrics; calculating a path metric disparity value based at least on the path metric of the surviving and concurrent paths; storing the path metric disparity value for the node of the path determination stage; determining a surviving path input symbol corresponding to a path transition of the surviving path at the decision stage, a surviving decision stage node which has the path transition of the surviving path at the decision stage as an incoming path transition, a concurrent path input symbol corresponding to a path transition of the concurrent path at the decision stage, and a concurrent decision stage node which has the path transition of the concurrent path at the decision stage as an incoming path transition; and determining a soft output value of the surviving decision stage node as: the path metric disparity value of the node of the path determination stage, if the surviving path input symbol differs from the concurrent path input symbol and if the path metric disparity value of the node of the path determination stage is less than the stored path metric disparity value of the surviving decision stage node; a function of the path metric disparity value of the node of the path determination stage and the stored path metric disparity value of the concurrent decision stage node, if the surviving path input symbol is equal to the concurrent path input symbol and if the function of the path metric disparity value of the node of the path determination stage and the stored path metric disparity value of the concurrent decision node is less than the stored path metric disparity value of the surviving decision stage node; and the stored path metric disparity value of the surviving decision stage node otherwise.