Patent ID: 7290200

Claim:
A Viterbi detector, comprising: an input terminal operable to receive a sample of a signal that represents a sequence of values; a recovery circuit coupled to the input terminal and operable to recover the sequence from the signal by, adding only a respective predetermined first constant to each path metric for paths associated with the sequence to one of a plurality of E 2 PR4 states associated with the sequence to generate respective modified path metrics for the paths; identifying as a surviving path the one of the paths having the smallest modified path metric, calculating a branch metric from the sample, adding the branch metric to the smallest modified path metric after identifying the surviving path to generate an updated path metric, and associating the updated path metric with the one of the E 2 PR4 states; wherein the recovery circuit is further operable to add a constant to each path metric by, calculating the respective differences between each pair of path metrics for the paths to the one of the E 2 PR4 states, and adding a respective predetermined second constant to each of the differences to generate respective modified differences, the predetermined second constant being a combination of the predetermined first constants corresponding to the pair of path metrics for which the respective difference is calculated; wherein the recovery circuit is further operable to identify the surviving path by determining from the modified differences which of the modified path metrics is the smallest modified path metric; and wherein the respective predetermined second constants are selected from the following table: E 2 PR4 Second Constants States Ka Kb Kc Kd Ke Kf S0 +5 +1 +10 −4 +5 +9 S1 +3 +4 +8 −2 +5 +7 S2 −3 −1 0 +2 +3 +1 S3 −5 −1 −2 +4 +3 −1 S4 −3 −3 −2 −0 +1 +1 S5 −5 −3 −4 +2 +1 −1 S6 −11 −5 −12 +6 −1 −7 S7 −7 −2 −14 +8 −1 −9 S8 +9 +1 −8 +14 +2 +7 S9 +7 +1 −6 +12 +5 +11 S10 +1 −1 −2 +4 +3 +5 S11 −1 −1 0 +2 +3 +3 S12 +1 −3 −4 +2 +1 +5 S13 −1 −3 −2 0 +1 +3 S14 −7 −5 +2 −8 −1 −3 S15 −9 −5 +4 −10 −1 −5.