Viterbi decoder utilizing partial backtracing
AssigneeAdvanced Micro Devices, Inc.
InventorsChien-Meen Hwang, Christine Lee, Howard Hicks
Life of this patent
Estimating the term…
Abstract
A Viterbi decoder is configured for outputting a prescribed plural number of decoded bit pairs upon execution of each backtracing operation based on accessing a second prescribed number of state history table entries from a surviving state history table. The outputting of more bits per backtrace operation lowers the number of memory accesses, and enables the Viterbi decoder to maintain a high throughput of data flow while maintaining an acceptable bit error rate.
Claims12
A method in a Viterbi decoder for decoding received encoded bit pairs, the method comprising:
- first storing in a survivor metric register file, for each received bit pair at a corresponding time instance, a survivor metric that specifies a corresponding probability of the received bit pair having been generated by a convolutional encoder according to a corresponding possible encoder state;
- second storing in a state history table memory, for each of the received bit pairs at the corresponding time instance, a prior encoder state entry configured for identifying a surviving predecessor state relative to a corresponding encoder state;
- and
- outputting a first prescribed plural number of decoded bit pairs based on execution of a backtracing operation that includes accessing a second prescribed number of the prior encoder state entries for the respective second prescribed number of time instances, the accessing including identifying one of the encoder states, stored at a corresponding first time instance, as an initial backtracing state based on having the corresponding survivor metric specifying a highest probability relative to the other survivor metrics at the corresponding first time instance.
A Viterbi decoder including:
- an add-compare-select logic circuit configured for generating, for each received bit pair at a corresponding time instance, a survivor metric that specifies a corresponding probability of the received bit pair having been generated by a convolutional encoder according to a corresponding possible encoder state;
- a survivor metric register file configured for storing the respective survivor metrics for the respective possible encoder states;
- a state history table memory configured for storing, for each of the received bit pairs at the corresponding time instance, a prior encoder state entry configured for identifying a surviving predecessor state relative to a corresponding encoder state;
- and
- a state machine configured for outputting a first prescribed plural number of decoded bit pairs based on execution of a first backtracing operation that accesses a second prescribed number of the prior encoder state entries for the respective second prescribed number of time instances, the first backtracing operation configured for identifying one of the encoder states, stored at a corresponding first time instance, as an initial backtracing state based on having the corresponding survivor metric specifying a highest probability relative to the other survivor metrics at the corresponding first time instance.
Dependencies are inferred from the claim text.