Patent ID: 8009773

Claim:
A method for decoding an input data stream, the input data stream being encoded using the convolution encoding technique, the convolution encoding technique being represented in the decoding method as a trellis, the trellis having a set of states, each state including a survivor path sequence that stores information associated with a transition from a predefined number of prior states to a next state, each prior state having a respective prior state metric, the method comprising the steps of: a. calculating a plurality of branch metrics from the input data stream based on a predetermined criterion, each branch metric being a value associated with the transition from a prior state to the next state; b. generating a state metric for each current state based on the plurality of branch metrics; c. checking the state metric for each current state, the state metric being checked for crossing a predefined limit; d. updating the state metric for each current state with a new metric if at least one of the state metrics crosses the predefined limit, wherein the new metric is obtained by subtracting a constant value from the state metric; e. selecting one of the prior states that provides a minimum state metric for each current state; f. updating the survivor path sequence of the current state, the survivor path sequence being updated based on the information associated with the transition from the selected one of the prior states to the current state; and g. decoding the input data stream at one of the sets of the prior states, the decoding being performed based on a count of assertive and de-assertive bits in the Most Significant Bits (MSBs) of the survivor path sequences of a set of current states, the one of the sets of prior states being present at a pre-determined time interval from the set of the current state.