Patent ID: 7636879

Claim:
An error correction decoder for performing soft-decision Viterbi algorithm (SOVA) decoding of coded data output by a convolutional coder which generates the coded data according to changes in the among multiple tap states at each input of a bit signal, said error correction decoder comprising: an add compare select (ACS) circuit; a state metric memory for storing metric values found by the ACS circuit; a path information memory for storing path information; a Delta information memory for storing Delta information computed from a difference in likelihoods, wherein the ACS circuit calculates new metric values, the path information and the difference in likelihood based on the metric values stored in the state metric memory and a likelihood of each transition branch describing a transition structure of the tap state; and a trace-back processor for tracing back transitions of the tap state through the coded data output by the convolutional coder, wherein the trace-back processor includes circuitry which calculates a first path likelihood information equivalent to the difference in likelihood of a survival path among all other concurrent paths based on inputted path likelihood information, and calculates second path likelihood information which value is different from said first path likelihood information by a Delta information value corresponding to the difference in likelihood stored in the Delta information memory, and establishes hard decision values and soft decision values for each one bit trace-back, and wherein the trace-back processor includes circuitry which receives previously calculated path and Delta information and determines path weight information from the previously calculated path and Delta information, outputs, hard decision values that are a code estimated to have been input to the convolutional coder during transitions from survival path to survival path at tap states of a Trellis during trace-back; and a first multiplexer which outputs a survival hard decision output selected from the hard decision values to an XOR gate; and a second multiplexer that is controlled by the output of the XOR gate which, from among concurrent paths having hard decision values different from those of a survival path at a particular tap state of a Trellis, selects and outputs a minimum value of previously calculated path weight information as the soft decision value.