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

Reconfigurable, multi-user viterbi decoder

Assignee: Linkabit Wireless Inc
•
Filing: 1990-09-27
•
Granted: 1992-09-29
•
Expires: 2010-09-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with a selected constraint length and selected polynomial codes, which system includes a processor, such as a Viterbi decoder, that is reconfigurable so that it can decode encoded digital data streams for a number of different user channels for which data streams have been convolutionally encoded in accordance with respectively different combinations of selected constraint length and selected polynomial codes. The decoding system includes a Viterbi decoder for processing the encoded data stream in accordance with said selected constraint length and in accordance with said selected polynomial codes to decode the encoded data stream; a RAM for storing data of said selected constraint length and data of said selected polynomial codes in accordance with which said data stream was encoded; and a RAM I/O interface circuit responsive to a user channel identification signal for retrieving said selected constraint length data and said selected polynomial code data from the RAM and configuring the Viterbi decoder in accordance with said selected constraint length and said selected polynomial codes. In order to accommodate concurrent multiple user channels, the RAM stores different sets of combinations of constraint length data and polynomial code data corresponding to different user channels, with said different sets being retrievable from the RAM in response to respectively different user channel identification signals. The polynomial code data and constraint length data in the RAM may be changed from time to time in response to software instructions, as user channel requirements change. The Viterbi decoder processes said encoded data stream over a plurality of decoding cycles and produces intermediate decoding results during different decoding cycles; and the RAM I/O interface circuit stores in the RAM said intermediate decoding results produced for each different user channel during the different decoding cycles.

Inventors

  • 👤 Thomas C. Reiner
  • 👤 Mark J. Lindsey
  • 👤 Krishnanand Kelkar

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 22:43
CPC Classifications
H; H03; H03M; H03M13/00; H03M13/65; H03M13/6508; H03M13/6516; H03M13/37; H03M13/39; H03M13/41; H03M13/6569

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 173 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with a selected constraint length and selected polynomial codes, comprising means for processing said encoded data stream in accordance with said constraint length and in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected constraint length and data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected constraint length data and said selected polynomial code data from said memory and configuring the processing means in accordance with said selected constraint length and said selected polynomial codes; wherein the memory stores different sets of combinations of constraint length data and polynomial code data corresponding to different user channels, with said different sets being retrievable from the memory by the retrieving means in response to different user channel identification signals for respectively configuring the processing means for different user channels.
Claim 2
Dependent Claim 173 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with a selected constraint length and selected polynomial codes, comprising means for processing said encoded data stream in accordance with said constraint length and in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected constraint length and data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected constraint length data and said selected polynomial code data from said memory and configuring the processing means in accordance with said selected constraint length and said selected polynomial codes; wherein the memory stores different sets of combinations of constraint length data and polynomial code data corresponding to different user channels, with said different sets being retrievable from the memory by the retrieving means in response to different user channel identification signals for respectively configuring the processing means for different user channels.
Claim 3
Dependent Claim 65 words
A decoding system according to claim 1, wherein the processing means are adapted for processing said encoded data stream over a plurality of decoding cycles and for producing intermediate decoding results during different decoding cycles; the system further comprising means coupled to the processing means for storing in the memory said intermediate decoding results produced for each different user channel during the different decoding cycles.
Claim 4
Dependent Claim 286 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with a selected constraint length and selected polynomial codes, comprising means for processing said encoded data stream in accordance with said constraint length and in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected constraint length and data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected constraint length data and said selected polynomial code data from said memory and configuring the processing means in accordance with said selected constraint length and said selected polynomial codes; wherein the processor is configured to decode at a given code rate an encoded data stream that was encoded at the given code rate; wherein the memory stores two different sets of polynomial codes for a given user channel; wherein the processing means is capable of operating in a punctured processing mode to decode the data stream at the given code rate in accordance with the two different sets of polynomial codes alternately to decode an encoded data stream that was encoded at a higher rate than the given rate; and wherein the retrieving means alternately select the two different polynomial codes alternately during each cycle of said punctured processing mode in response to a punctured processing mode instruction accompanying said user channel identification signal and thereby configures the processing means to process the data stream at the given code rate in accordance with the two different sets of polynomial codes alternately for decoding an encoded data stream that was encoded at the higher rate.
Claim 5
Dependent Claim 286 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with a selected constraint length and selected polynomial codes, comprising means for processing said encoded data stream in accordance with said constraint length and in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected constraint length and data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected constraint length data and said selected polynomial code data from said memory and configuring the processing means in accordance with said selected constraint length and said selected polynomial codes; wherein the processor is configured to decode at a given code rate an encoded data stream that was encoded at the given code rate; wherein the memory stores two different sets of polynomial codes for a given user channel; wherein the processing means is capable of operating in a punctured processing mode to decode the data stream at the given code rate in accordance with the two different sets of polynomial codes alternately to decode an encoded data stream that was encoded at a higher rate than the given rate; and wherein the retrieving means alternately select the two different polynomial codes alternately during each cycle of said punctured processing mode in response to a punctured processing mode instruction accompanying said user channel identification signal and thereby configures the processing means to process the data stream at the given code rate in accordance with the two different sets of polynomial codes alternately for decoding an encoded data stream that was encoded at the higher rate.
Claim 6
Dependent Claim 124 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; wherein the memory stores different polynomial code data corresponding to different user channels, with said different polynomial code data being retrievable from the memory in response to respectively different user channel identification signals.
Claim 7
Dependent Claim 124 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; wherein the memory stores different polynomial code data corresponding to different user channels, with said different polynomial code data being retrievable from the memory in response to respectively different user channel identification signals.
Claim 8
Dependent Claim 55 words
A decoding system according to claim 4, wherein the memory stores different sets of polynomial codes for each of a plurality of different user channels, with said selected polynomial codes being retrievable from the memory in response to a combination of said user channel identification signal and an instruction accompanying said user channel identification signal.
Claim 9
Dependent Claim 65 words
A decoding system according to claim 4, wherein the processing means are adapted for processing said encoded data stream over a plurality of decoding cycles and for producing intermediate decoding results during different decoding cycles; the system further comprising means coupled to the processing means for storing in the memory said intermediate decoding results produced for each different user channel during the different decoding cycles.
Claim 10
Dependent Claim 160 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; means for differentially decoding a data stream that has been differentially encoded in order to resolve 180 degree phase ambiguities; wherein the memory further stores data indicating whether or not the differential decoding means are to be enabled; and means responsive to the user channel identification signal for retrieving the differential decoding enablement data from the memory and configuring the differential decoding means in accordance with said retrieved enablement data.
Claim 11
Dependent Claim 160 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; means for differentially decoding a data stream that has been differentially encoded in order to resolve 180 degree phase ambiguities; wherein the memory further stores data indicating whether or not the differential decoding means are to be enabled; and means responsive to the user channel identification signal for retrieving the differential decoding enablement data from the memory and configuring the differential decoding means in accordance with said retrieved enablement data.
Claim 12
Dependent Claim 21 words
A decoding system according to claim 7, further comprising means for changing said differential decoding indication data stored in the memory.
Claim 13
Dependent Claim 152 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; means for automatically synchronizing the decoding of said encoded data by the processing means; wherein the memory further stores data indicating whether or not the synchronizing means are to be enabled; and means responsive to the user channel identification signal for retrieving the synchronizing means enablement data from the memory and configuring the synchronizing means in accordance with said retrieved enablement data.
Claim 14
Dependent Claim 152 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; means for automatically synchronizing the decoding of said encoded data by the processing means; wherein the memory further stores data indicating whether or not the synchronizing means are to be enabled; and means responsive to the user channel identification signal for retrieving the synchronizing means enablement data from the memory and configuring the synchronizing means in accordance with said retrieved enablement data.
Claim 15
Dependent Claim 20 words
A decoding system according to claim 9, further comprising means for changing said differential decoding indication stored in the memory.
Claim 16
Dependent Claim 189 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; wherein the encoded data stream includes I and J components, wherein the J component includes a polarity sign and wherein the decoding system further comprises means for reversing the sign for the J component prior to said processing of the encoded data stream by the processing means; wherein the memory further stores data indicating whether or not the sign of the J component should be reversed; and means responsive to the user channel identification signal for retrieving the sign reversal data from the memory and configuring the sign reversal means in accordance with said retrieved sign reversal data.
Claim 17
Dependent Claim 189 words
A decoding system for decoding a digital data stream that has been convolutionally encoded in accordance with selected polynomial codes, comprising means for processing said encoded data stream in accordance with said selected polynomial codes to decode said encoded data stream; a memory for storing data of said selected polynomial codes in accordance with which said data stream was encoded; and means responsive to a user channel identification signal for retrieving said selected polynomial code data from said memory and configuring said processing means in accordance with said selected polynomial codes; wherein the encoded data stream includes I and J components, wherein the J component includes a polarity sign and wherein the decoding system further comprises means for reversing the sign for the J component prior to said processing of the encoded data stream by the processing means; wherein the memory further stores data indicating whether or not the sign of the J component should be reversed; and means responsive to the user channel identification signal for retrieving the sign reversal data from the memory and configuring the sign reversal means in accordance with said retrieved sign reversal data.
Claim 18
Dependent Claim 20 words
A decoding system according to claim 11, further comprising means for changing said differential decoding indication stored in the memory.

References Cited (Backward Citations)

US3078443A Cited
SU544152A1 Cited
US4583236A Cited
US4701923A Cited
US4805174A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1995-09-29 1996-03-30 1996-09-29 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1999-09-29 2000-03-30 2000-09-29 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2003-09-29 2004-03-30 2004-09-29 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag