Patent ID: 7263653

Claim:
A method of decoding convolutionally encoded data by a Viterbi decoder, the encoded data including a plurality of encoded data symbols, the method including the steps of: providing to the decoder at least one register for storing decoder state information therein, the register being removed from a survivor memory for storing decoder state information therein; receiving sequentially at the decoder the encoded data one encoded symbol per instance of time; selecting at each time instant a decoder state corresponding to a decoder state transition from a previous decoder state of an immediately prior time instance, the decoder state being selected in accordance with transition criteria established for transitions between sequential decoder states, a sequence of such state transitions defining a state-transition path through possible states of the decoder; storing the selected decoder state in the survivor memory; selecting at each time instant a decoder state corresponding to a minimum path metric determined from the transition criteria accumulated over a predetermined number of the time instances; determining whether the selected state corresponding to the minimum path metric is a decoder state corresponding to an allowable transition from a decoder state corresponding to the minimum path metric at the immediately prior time instance; storing upon a positive determination of the allowable transition the selected state corresponding to the minimum path metric in the register with other states so stored; locating on a trace-back path defined by the states in the register a state common to other state-transition paths stored for trace-back; and decoding states in the state-transition path preceding the common state to obtain a decoded signal.