← Back to Patent Explorer
US5912908A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of efficient branch metric computation for a Viterbi convolutional decoder

Assignee: Avago Technologies International Sales Pte Ltd
•
Filing: 1997-11-21
•
Granted: 1999-06-15
•
Expires: 2017-11-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method of efficient branch metric computation for a Viterbi convolutional decoder wherein a reduced and optimized set of branch metrics is distributed among one or more base sets is provided. A sequence of data transformations and associations are defined according to the connections of the delay elements in the convolutional encoder to its outputs. Each encoder state is associated with one of the base sets and one of several groups of path metric equations. During the add portion of the add-compare-select phase of Viterbi decoding, a branch metric value is extracted from the base set associated with the encoder state being evaluated. The group of path metric equations associated with state being evaluated are evaluated using the extracted branch metric value. The results of the addition are then be processed according to the remaining steps of the Viterbi algorithm.

Inventors

  • 👤 Richard Adam Cesari
  • 👤 Sivanand Simanapalli

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 14:51
CPC Classifications
H; H04; H04L; H04L1/00; H04L1/004; H04L1/0045; H04L1/0052; H04L1/0054

Claims Analysis

Total Claims: 15
Claim 1
Independent Claim 257 words
A method of initializing a Viterbi processor for decoding a convolutionally encoded data signal comprising the steps of: processing an input signal comprising said encoded data symbol originating from a convolutional encoder of constraint length K to determine a kernel of unique branch metric values from a complete set of branch metric values for said convolutional encoder and said input signal; and storing a sequence of branch metric values related to said kernel branch metric values and corresponding to a set of L ordered branch metric values for said convolutional encoder in at least one base set of length L, where L is a power of 2 between 1 and 2 K ; each state of said encoder being associated with one of said at least one base set and one of a plurality of ACS addition groups different of polarities, each group comprising a plurality of Viterbi path metric operations, where said association is based on the presence of delay operators in said convolutional encoder acting on a plurality of digit positions of said data signal prior to encoding and the effect of said delay operators on convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; wherein a Viterbi add-compare-select sequence for said input signal and a particular state of said encoder comprises the steps of retrieving a branch metric value from said base set associated with said particular state and performing the path metric operations in said ACS addition group associated with said particular state using said retrieved branch metric value.
Claim 2
Independent Claim 257 words
A method of initializing a Viterbi processor for decoding a convolutionally encoded data signal comprising the steps of: processing an input signal comprising said encoded data symbol originating from a convolutional encoder of constraint length K to determine a kernel of unique branch metric values from a complete set of branch metric values for said convolutional encoder and said input signal; and storing a sequence of branch metric values related to said kernel branch metric values and corresponding to a set of L ordered branch metric values for said convolutional encoder in at least one base set of length L, where L is a power of 2 between 1 and 2 K ; each state of said encoder being associated with one of said at least one base set and one of a plurality of ACS addition groups different of polarities, each group comprising a plurality of Viterbi path metric operations, where said association is based on the presence of delay operators in said convolutional encoder acting on a plurality of digit positions of said data signal prior to encoding and the effect of said delay operators on convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; wherein a Viterbi add-compare-select sequence for said input signal and a particular state of said encoder comprises the steps of retrieving a branch metric value from said base set associated with said particular state and performing the path metric operations in said ACS addition group associated with said particular state using said retrieved branch metric value.
Claim 3
Dependent Claim 76 words
The method of claim 1, wherein L is greater than 1 and the step of storing a sequence of branch metric values comprises the steps of storing a first sequence of metric values corresponding to the first L metric values in said complete set of branch metric values in a first base set and storing a second sequence of metric values corresponding to a branch metric compliment of said first sequence in a second base set.
Claim 4
Dependent Claim 156 words
The method of claim 2, wherein: said convolutional encoder is an IS-95 rate 1/2 encoder having a constraint length K of 9; said base set length L is 16; said first sequence of branch metric values corresponds to M 0 , M 1 , M 0 , M 1 , M 1 , M 0 , M 1 , M 0 , -M 1 , -M 0 , -M 1 , -M 0 , -M 0 , -M 1 , -M 0 , -M 1 ; and said second sequence of branch metric values corresponds to M 1 , M 0 , M 1 , M 0 , M 0 , M 1 , M 0 , M 1 , -M 0 , -M 1 , -M 0 , -M 1 , -M 1 , -M 0 , -M 1 , -M 0 ; where M 0 and M 1 are said kernel branch metric values.
Claim 5
Dependent Claim 167 words
The method of claim 3, wherein: said plurality of ACS addition groups comprise a positive polarity ACS addition group comprising the path metric operations PSx+m and PSy-m and a negative polarity ACS addition group comprising the path metric operations PSx-m and PSy-m, where PSx and PSy are encoder state transitions from a present state x and a present state y to a common next encoder state and m is a branch metric value associated with said transitions; and said associations between each of said encoder states and said base sets and ACS addition groups are: ______________________________________ Segment Base Set ACS addition group polarity ______________________________________ 1 1 positive 2 1 negative 3 1 negative 4 1 positive 5 2 positive 6 2 negative 7 2 negative 8 2 positive 9 1 negative 10 1 positive 11 1 positive 12 1 negative 13 2 negative 14 2 positive 15 2 positive 16 2 negative ______________________________________ wherein each segment S represents the L ordered encoder states beginning at state (S-1)*L.
Claim 6
Independent Claim 405 words
A method of decoding a convolutionally encoded data signal with a Viterbi convolutional decoder comprising the steps of: processing an input signal comprising said encoded data symbol originating from a convolutional encoder of constraint length K to determine a kernel of unique branch metric values from a complete set of branch metric values for said convolutional encoder and said input signal; storing a sequence of branch metric values related to said kernel branch metric values and corresponding to a set of L ordered branch metric values for said convolutional encoder in at least one base set of length L, where L is a power of 2 between 1 and 2 K ; executing in said decoder a Viterbi add-compare-select process for said input signal and a plurality of possible encoder states to generate and store traceback data; and processing said traceback data to produce decoded data; said add-compare-select process comprising the steps of: a. selecting one base set for a particular one of said plurality of possible encoder states from said at least one base set according to a predefined association between each said possible encoder state and said at least one base set based on the presence of delay operators in said convolutional encoder acting on a plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; b. selecting an ACS addition group for said particular one of said plurality of possible encoder states from a plurality of ACS addition groups of different polarities according to a predefined association between each said possible encoder state and said plurality of ACS addition groups based on the presence said delay operators in said convolutional encoder acting on said plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on said convolutionally encoded data output from said convolutional encoder at sequential encoder output stages, each said ACS addition group comprising a plurality of Viterbi path metric operations; c. retrieving a branch metric value from said selected base set; d. evaluating said plurality of path metric operations in said selected ACS addition group using said retrieved branch metric value; e. selecting as a survivor path one of the minimum or maximum value of said evaluated path metric operations; and f. storing traceback data indicating said selected survivor path.
Claim 7
Independent Claim 405 words
A method of decoding a convolutionally encoded data signal with a Viterbi convolutional decoder comprising the steps of: processing an input signal comprising said encoded data symbol originating from a convolutional encoder of constraint length K to determine a kernel of unique branch metric values from a complete set of branch metric values for said convolutional encoder and said input signal; storing a sequence of branch metric values related to said kernel branch metric values and corresponding to a set of L ordered branch metric values for said convolutional encoder in at least one base set of length L, where L is a power of 2 between 1 and 2 K ; executing in said decoder a Viterbi add-compare-select process for said input signal and a plurality of possible encoder states to generate and store traceback data; and processing said traceback data to produce decoded data; said add-compare-select process comprising the steps of: a. selecting one base set for a particular one of said plurality of possible encoder states from said at least one base set according to a predefined association between each said possible encoder state and said at least one base set based on the presence of delay operators in said convolutional encoder acting on a plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; b. selecting an ACS addition group for said particular one of said plurality of possible encoder states from a plurality of ACS addition groups of different polarities according to a predefined association between each said possible encoder state and said plurality of ACS addition groups based on the presence said delay operators in said convolutional encoder acting on said plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on said convolutionally encoded data output from said convolutional encoder at sequential encoder output stages, each said ACS addition group comprising a plurality of Viterbi path metric operations; c. retrieving a branch metric value from said selected base set; d. evaluating said plurality of path metric operations in said selected ACS addition group using said retrieved branch metric value; e. selecting as a survivor path one of the minimum or maximum value of said evaluated path metric operations; and f. storing traceback data indicating said selected survivor path.
Claim 8
Dependent Claim 76 words
The method of claim 5, wherein L is greater than 1 and the step of storing a sequence of branch metric values comprises the steps of storing a first sequence of metric values corresponding to the first L metric values in said complete set of branch metric values in a first base set and storing a second sequence of metric values corresponding to a branch metric compliment of said first sequence in a second base set.
Claim 9
Dependent Claim 156 words
The method of claim 6, wherein: said convolutional encoder is an IS-95 rate 1/2 encoder having a constraint length K of 9; said base set length L is 16; said first sequence of branch metric values corresponds to M 0 , M 1 , M 0 , M 1 , M 1 , M 0 , M 1 , M 0 , -M 1 , -M 0 , -M 1 , -M 0 , -M 0 , -M 1 , -M 0 , -M 1 ; and said second sequence of branch metric values corresponds to M 1 , M 0 , M 1 , M 0 , M 0 , M 1 , M 0 , M 1 , -M 0 , -M 1 , -M 0 , -M 1 , -M 1 , -M 0 , -M 1 , -M 0 ; where M 0 and M 1 are said kernel branch metric values.
Claim 10
Dependent Claim 167 words
The method of claim 7, wherein: said plurality of ACS addition groups comprise a positive polarity ACS addition group comprises the path metric operations PSx+m and PSy-m and a negative polarity ACS addition group comprises the path metric operations PSx-m and PSy-m, where PSx and PSy are encoder state transitions from a present state x and a present state y to a common next encoder state and m is a branch metric value associated with said transitions; and said associations between each of said encoder states and said base sets and ACS addition groups are: ______________________________________ Segment Base Set ACS addition group polarity ______________________________________ 1 1 positive 2 1 negative 3 1 negative 4 1 positive 5 2 positive 6 2 negative 7 2 negative 8 2 positive 9 1 negative 10 1 positive 11 1 positive 12 1 negative 13 2 negative 14 2 positive 15 2 positive 16 2 negative ______________________________________ wherein each segment S represents the L ordered encoder states beginning at state (S-1)*L.
Claim 11
Independent Claim 374 words
A method of decoding a convolutionally encoded data signal with a Viterbi convolutional decoder comprising the steps of: processing an input signal comprising said encoded data symbol originating from a convolutional encoder of constraint length K to determine a kernel of unique branch metric values from a complete set of branch metric values for said convolutional encoder and said input signal; storing a sequence of branch metric values related to said kernel branch metric values and corresponding to a set of L ordered branch metric values for said convolutional encoder in at least one base set of length L, where L is a power of 2 between 1 and 2 K ; executing in said decoder a Viterbi add-compare-select process for said input signal and a plurality of possible encoder states to generate and store traceback data; and processing said traceback data to produce decoded data; said add-compare-select process comprising the steps of: a. selecting one base set for a particular one of said plurality of possible encoder states from said at least one base set according to a predefined association between each said possible encoder state and said at least one base set based on the presence of delay operators in said convolutional encoder acting on a plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; b. retrieving a branch metric value from said selected base set; c. calibrating the sign of said retrieved branch metric value according to a polarity definition associated with said particular one of said plurality of possible encoder states based on the presence said delay operators in said convolutional encoder acting on said plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on said convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; d. evaluating said plurality of path metric operations in said selected ACS addition group using said calibrated branch metric value; e. selecting as a survivor path one of the minimum or maximum value of said evaluated path metric operations; and f. storing traceback data indicating said selected survivor path.
Claim 12
Independent Claim 374 words
A method of decoding a convolutionally encoded data signal with a Viterbi convolutional decoder comprising the steps of: processing an input signal comprising said encoded data symbol originating from a convolutional encoder of constraint length K to determine a kernel of unique branch metric values from a complete set of branch metric values for said convolutional encoder and said input signal; storing a sequence of branch metric values related to said kernel branch metric values and corresponding to a set of L ordered branch metric values for said convolutional encoder in at least one base set of length L, where L is a power of 2 between 1 and 2 K ; executing in said decoder a Viterbi add-compare-select process for said input signal and a plurality of possible encoder states to generate and store traceback data; and processing said traceback data to produce decoded data; said add-compare-select process comprising the steps of: a. selecting one base set for a particular one of said plurality of possible encoder states from said at least one base set according to a predefined association between each said possible encoder state and said at least one base set based on the presence of delay operators in said convolutional encoder acting on a plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; b. retrieving a branch metric value from said selected base set; c. calibrating the sign of said retrieved branch metric value according to a polarity definition associated with said particular one of said plurality of possible encoder states based on the presence said delay operators in said convolutional encoder acting on said plurality of digit positions of said data signal prior to encoding and the effect of said delay operations on said convolutionally encoded data output from said convolutional encoder at sequential encoder output stages; d. evaluating said plurality of path metric operations in said selected ACS addition group using said calibrated branch metric value; e. selecting as a survivor path one of the minimum or maximum value of said evaluated path metric operations; and f. storing traceback data indicating said selected survivor path.
Claim 13
Dependent Claim 76 words
The method of claim 9, wherein L is greater than 1 and the step of storing a sequence of branch metric values comprises the steps of storing a first sequence of metric values corresponding to the first L metric values in said complete set of branch metric values in a first base set and storing a second sequence of metric values corresponding to a branch metric compliment of said first sequence in a second base set.
Claim 14
Dependent Claim 156 words
The method of claim 10, wherein: said convolutional encoder is an IS-95 rate 1/2 encoder having a constraint length K of 9; said base set length L is 16; said first sequence of branch metric values corresponds to M 0 , M 1 , M 0 , M 1 , M 1 , M 0 , M 1 , M 0 , -M 1 , -M 0 , -M 1 , -M 0 , -M 0 , -M 1 , -M 0 , -M 1 ; and said second sequence of branch metric values corresponds to M 1 , M 0 , M 1 , M 0 , M 0 , M 1 , M 0 , M 1 , -M 0 , -M 1 , -M 0 , -M 1 , -M 1 , -M 0 , -M 1 , -M 0 ; where M 0 and M 1 are said kernel branch metric values.
Claim 15
Dependent Claim 89 words
The method of claim 11, wherein said associations between each of said encoder states and said calibration polarity are: ______________________________________ Segment Base Set Calibration Polarity ______________________________________ 1 1 positive 2 1 negative 3 1 negative 4 1 positive 5 2 positive 6 2 negative 7 2 negative 8 2 positive 9 1 negative 10 1 positive 11 1 positive 12 1 negative 13 2 negative 14 2 positive 15 2 positive 16 2 negative ______________________________________ wherein each segment S represents the L ordered encoder states beginning at state (S-1)*L.

References Cited (Backward Citations)

US5349608A Cited
US5454014A Cited
US5550870A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-06-14 2002-12-14 2003-06-15 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-06-14 2006-12-14 2007-06-15 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-06-14 2010-12-14 2011-06-15 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag