Patent ID: 7856591

Claim:
A method for decoding a bit stream encoded by a tail-biting convolutional codes encoder, comprising: initializing a correction depth defining a number of bits; selecting a first starting state from a set of encoding states and initializing a metric value for the first starting state as zero and metric values for other ones of the encoding states as infinity; first reading symbols from an input bit stream that is encoded using tail-biting convolutional codes and having a particular block length, the number of symbols read being equal to the block length; performing a Viterbi algorithm on the first read symbols from the first starting state to determine path metrics and identify a minimum-metric path based on the determined path metrics, wherein an ending state for the minimum-metric path is identified and output associated with the ending state of the minimum-metric path is identified as previous output; setting a second starting state equal to the ending state of the minimum-metric path; second reading a number of symbols from a beginning of the previous output, wherein the number is equal to the correction depth; performing the Viterbi algorithm on the second read symbols from the second starting state to generate a correct output; and generating a decoded final output by replacing a number of the symbols in the previous output equal to the correction depth with the correct output.