US4856004A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Microprocessor based BCH decoder
Assignee: General Dynamics Mission Systems Inc
•
Filing: 1987-10-05
•
Granted: 1989-08-08
•
Expires: 2007-10-05
Abstract
Abstract A microprocessor based system which implements BCH decoder algorithms in a sufficiently efficient manner to allow real time BCH decoding of a BCH(255,131) code is disclosed. Table lookup operations utilizing successive M-bit serial portions of BCH encoded input data as table offsets permit the microprocessor to generate syndrome using M-bit parallel portions of the input data. Additional table lookup operations which utilize tables stored in ROM memory speed execution time of multiply operations and detection of roots for inverse error location polynomials.
Inventors
- 👤 Robert I. Foster
- 👤 Beth A. Longbrake
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 22:40
CPC Classifications
H; H03; H03M; H03M13/00; H03M13/03; H03M13/05; H03M13/13; H03M13/15; H03M13/151
Claims Analysis
Total Claims: 17
Claim 1
Independent Claim
93 words
An apparatus for decoding a stream of BCH encoded data, said apparatus comprising: a microprocessor for performing said decoding of said stream of said BCH encoded data; means for coupling the stream of BCH encoded data to said microprocessor; and means, coupled to said microprocessor, for converting M successive bits of the input data stream into N-bit finite field elements so that a syndrome representative of the serial stream of data may be calculated by said microprocessor utilizing the N-bit values, where M and N each represent positive integer numbers greater than 1.
Claim 2
Independent Claim
93 words
An apparatus for decoding a stream of BCH encoded data, said apparatus comprising: a microprocessor for performing said decoding of said stream of said BCH encoded data; means for coupling the stream of BCH encoded data to said microprocessor; and means, coupled to said microprocessor, for converting M successive bits of the input data stream into N-bit finite field elements so that a syndrome representative of the serial stream of data may be calculated by said microprocessor utilizing the N-bit values, where M and N each represent positive integer numbers greater than 1.
Claim 3
Dependent Claim
92 words
An apparatus as claimed in claim 1 wherein said converting means comprises a first portion of a memory addressable by the M successive bits of the input data stream and having 2 M , N-bit data items stored therein and arranged so that the value of each data item equals a finite field addition of M finite field products, where each of the M products represents the result of a finite field multiplication between one of the M successive bits of the input data stream and one of M predetermined field elements.
Claim 4
Dependent Claim
123 words
An apparatus as claimed in claim 2 additionally comprising (I/2) -1 unique portions of memory, where I represents the number of syndromes being calculated, and wherein: each of the (I/2)-1 portions is addressable by the M successive bits of the input data stream and has 2 M , N-bit data items stored therein and arranged so that the value of each data item equals a finite field addition of M finite field second-products, where each of the M second-products represents the result of a finite field multiplication between one of the M successive bits of the input data stream and one of M predetermined field elements; and each of the (I/2)-1 portions is untilized by said microprocessor to generate one of (I/2)-1 syndromes.
Claim 5
Dependent Claim
52 words
An apparatus as claimed in claim 3 wherein data items within the first and (I/2)-1 portions of memory are arranged utilizing &.sup.(M-2)i, &.sup.(M-3)i, . . . , & i , & 0 , &.sup.(-1)i, where i equals the number of the syndrome being calculated, as a representation of the predetermined field elements.
Claim 6
Dependent Claim
63 words
An apparatus as claimed in claim 1 additionally comprising: means, coupled to said microprocessor, for calculating an inverse error location polynomial utilizing the syndrome; first means, coupled to said microprocessor, for converting finite field binary elements into power forms of the binary elements; and second means, coupled to said microprocessor, for converting finite field power elements into binary forms of the power elements.
Claim 7
Dependent Claim
47 words
An apparatus as claimed in claim 5 wherein said first means for converting comprises a portion of memory having data items addressable by binary finite field elements so that each data item represents a power form of a binary finite field element which addresses the data item.
Claim 8
Dependent Claim
138 words
An apparatus as claimed in claim 5 wherein the inverse error location polynomial is expressed as a sum of terms, each of which exhibit a unique order, and said apparatus additionally comprises: means, coupled to said microprocessor, for locating roots of the inverse error location polynomial; and a unique portion of a memory for each of the terms of the polynomial wherein each portion of memory is coupled to said microprocessor and addressable by a field element which represents a coefficient of the polynomial term for which a respective memory portion applies, each portion of memory having data items stored therein so that the value of each data item equals D×& i , where D represents the set of all possible coefficient values and i represents the order of the term for which a respective memory portion applies.
Claim 9
Dependent Claim
35 words
An apparatus as claimed in claim 7 wherein each of said memory portions contains data items representing binary forms of field elements, and the coefficients which address each memory portion are expressed in binary forms.
Claim 10
Independent Claim
95 words
A method of decoding a serially occurring stream of BCH encoded data, said method comprising the steps of: calculating syndrome for BCH encoded said data by converting M successive bits of the BCH encoded data stream into N-bit values and manipulating the N-bit values into a syndrome, where M and N represent positive integer numbers greater than 1; generating an inverse error location polynomial utilizing syndrome from said calculating step; detecting roots of the polynomial from said generating step; and inverting bits in the data stream which correspond to roots found in said detecting step.
Claim 11
Independent Claim
95 words
A method of decoding a serially occurring stream of BCH encoded data, said method comprising the steps of: calculating syndrome for BCH encoded said data by converting M successive bits of the BCH encoded data stream into N-bit values and manipulating the N-bit values into a syndrome, where M and N represent positive integer numbers greater than 1; generating an inverse error location polynomial utilizing syndrome from said calculating step; detecting roots of the polynomial from said generating step; and inverting bits in the data stream which correspond to roots found in said detecting step.
Claim 12
Dependent Claim
53 words
A method as claimed in claim 9 wherein said calculating step comprises the step of performing a table look-up operation using the M successive bits of the input data stream as a table offset, said performing step being for applying correction factors which permit subsequent manipulation of the M successive bits in parallel.
Claim 13
Dependent Claim
106 words
A method as claimed in claim 10 wherein one of said calculating and generating steps multiplies two binary field elements together utilizing the steps of: converting the two binary field elements into two corresponding power form field elements through two table lookup operations that utilize the two binary field elements, respectively, as table offsets; adding the two power form field elements together to produce a single power form field element sum; and converting the power form field element sum from said adding step into a corresponding binary field element through a table lookup operation that utilizes the power form field element sum as a table offset.
Claim 14
Dependent Claim
101 words
A method as claimed in claim 11 wherein the inverse error location polynomial represents a sum of a plurality of products wherein each products represents the multiplication of a coefficient by a variable raised to a power and wherein said finding step comprises the step of obtaining the products utilizing one table lookup operation for each product wherein tables used by the lookup operations of said obtaining step have data items stored therein equaling D×& i wherein D represents the set of all possible coefficients and i represents the power of the variable in the product for which the table applies.
Claim 15
Dependent Claim
42 words
A method as claimed in claim 12 wherein said obtaining step comprises the step of addressing the tables of said obtaining step utilizing data items retrieved from respective tables in immediately previous lookup operations as an offset in a current lookup operation.
Claim 16
Independent Claim
394 words
An apparatus for decoding a serially occurring stream of BCH encoded data, said apparatus comprising: a microprocessor; means for coupling the stream of BCH encoded data to said microprocessor; means, coupled to said microprocessor, for converting M successive bits of the input data stream into N-bit values so that I/2 syndromes representative of the serial stream of data may be calculated by said microprocessor utilizing the N-bit values, where I, M, and N each represent positive integer numbers greater than 1; means, coupled to said microprocessor, for generating an inverse error location polynomial utilizing the syndrome, the inverse error location polynomial being characterized as representing a finite field sum of a plurality of products wherein each product represents a finite field multiplication of a coefficient by a variable raised to a power; means, coupled to said microprocessor, for finding roots of the polynomial; and a memory, coupled to said microprocessor, and partitioned into memory portions wherein: I/2 unique correction memory portions are each addressable by the M successive bits of the input data stream and each contains correction data items arranged so that the value of each correction data item equals a finite field addition of M field element products, where each of the M products represents the result of a finite field multiplication between one of the M successive bits of the input data stream and one of M predetermined field elements, and each of the correction memory portions is untilized by said microprocessor to generate one syndrome; a first conversion memory portion contains first conversion data items addressable by binary finite field elements stored therein so that each first conversion data item represents a power form of a binary finite field element which addresses the first conversion data item; a second conversion memory portion contains second conversion data items addressable by power form field elements stored therein so that each second conversion data item represents a binary field element corresponding to the power form field element which addresses the second conversion data item; and a plurality of coefficient memory portions are each addressable by a coefficient of the inverse error location polynomonial and are each programmed to contain coefficient data items which equal D×& i , where D represents the set of all possible coefficient values and i represents the power of the product for which a respective coefficient memory portion applies.
Claim 17
Independent Claim
394 words
An apparatus for decoding a serially occurring stream of BCH encoded data, said apparatus comprising: a microprocessor; means for coupling the stream of BCH encoded data to said microprocessor; means, coupled to said microprocessor, for converting M successive bits of the input data stream into N-bit values so that I/2 syndromes representative of the serial stream of data may be calculated by said microprocessor utilizing the N-bit values, where I, M, and N each represent positive integer numbers greater than 1; means, coupled to said microprocessor, for generating an inverse error location polynomial utilizing the syndrome, the inverse error location polynomial being characterized as representing a finite field sum of a plurality of products wherein each product represents a finite field multiplication of a coefficient by a variable raised to a power; means, coupled to said microprocessor, for finding roots of the polynomial; and a memory, coupled to said microprocessor, and partitioned into memory portions wherein: I/2 unique correction memory portions are each addressable by the M successive bits of the input data stream and each contains correction data items arranged so that the value of each correction data item equals a finite field addition of M field element products, where each of the M products represents the result of a finite field multiplication between one of the M successive bits of the input data stream and one of M predetermined field elements, and each of the correction memory portions is untilized by said microprocessor to generate one syndrome; a first conversion memory portion contains first conversion data items addressable by binary finite field elements stored therein so that each first conversion data item represents a power form of a binary finite field element which addresses the first conversion data item; a second conversion memory portion contains second conversion data items addressable by power form field elements stored therein so that each second conversion data item represents a binary field element corresponding to the power form field element which addresses the second conversion data item; and a plurality of coefficient memory portions are each addressable by a coefficient of the inverse error location polynomonial and are each programmed to contain coefficient data items which equal D×& i , where D represents the set of all possible coefficient values and i represents the power of the product for which a respective coefficient memory portion applies.
References Cited (Backward Citations)
US4360916A
Cited
US4433415A
Cited
US4471485A
Cited
US4665523A
Cited
EP0165147A1
Cited
US4648091A
Cited
US4694455A
Cited
US4646312A
Cited
US4747103A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1992-08-07 | 1993-02-06 | 1993-08-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1996-08-07 | 1997-02-06 | 1997-08-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2000-08-07 | 2001-02-06 | 2001-08-08 | $7700.00 | Window Closed / Lapsed |