Patent US4947363A successfully refreshed from Google Patents.
US4947363A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Pipelined processor for implementing the least-mean-squares algorithm
Assignee: Motorola Solutions Inc
•
Filing: 1988-12-12
•
Granted: 1990-08-07
•
Expires: 2008-12-12
Abstract
Abstract A filter processor implements the least mean squares (LMS) algorithm in an N tap digital filter in (N+1) time cycles, where N is an integer. A filter structure is shown which is implemented with a processor having an update portion and a convolution portion. A single memory is shared between the two portions, and the same data is concurrently coupled to both portions for concurrent use. The filter may be efficiently pipelined wherein successive adaptive and convolution operations are executed to efficiently implement an N tap filter with a minimum amount of circuity.
Inventors
- 👤 Tim A. Williams
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-04 12:53
CPC Classifications
H; H03; H03H; H03H17/00; H03H17/02; H03H21/00; H03H21/0012
Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
210 words
A pipelined processor for implementing a least mean squares (LMS) algorithm in an N-tap filter, where N is an integer, by calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently performing an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising: update means for performing a predetermined number of update calculations to the coefficient values required to implement the predetermined algorithm, said update calculations being performed during a predetermined time period; convolution means coupled to the update means for summing during the same time period a predetermined number of convolution products, each formed by multiplying a predetermined coefficient value and a predetermined data value, to provide an output signal which represents said convolution; and storage means which store both data values and coefficient values in a single memory structure, said storage means being coupled to both the update means and the convolution means for selectively providing both the data values and coefficient values required by both the update means and convolution means to implement the LMS algorithm, said storage means selectively concurrently providing a same data value to each of the update means and the convolution means for multiplication.
Claim 2
Dependent Claim
210 words
A pipelined processor for implementing a least mean squares (LMS) algorithm in an N-tap filter, where N is an integer, by calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently performing an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising: update means for performing a predetermined number of update calculations to the coefficient values required to implement the predetermined algorithm, said update calculations being performed during a predetermined time period; convolution means coupled to the update means for summing during the same time period a predetermined number of convolution products, each formed by multiplying a predetermined coefficient value and a predetermined data value, to provide an output signal which represents said convolution; and storage means which store both data values and coefficient values in a single memory structure, said storage means being coupled to both the update means and the convolution means for selectively providing both the data values and coefficient values required by both the update means and convolution means to implement the LMS algorithm, said storage means selectively concurrently providing a same data value to each of the update means and the convolution means for multiplication.
Claim 3
Dependent Claim
22 words
The pipelined processor of claim 1 wherein said predetermined time period comprises (N+1) clock cycles of a clock signal of predetermined frequency.
Claim 4
Dependent Claim
111 words
The pipelined processor of claim 1 wherein said update means further comprise: a multiplier having a first input for receiving a multiplicand operand, a second input for receiving a recoded multiplier operand, and an output, said multiplier multiplying a predetermined error operand chosen for said filter and a recoded data operand to provide an updated coefficient value; and an adder having a first input coupled to the output of the multiplier, and a second input coupled to the storage means, said adder providing for each tap of the filter a sum of the coefficient update value and a predetermined previous coefficient provided by the storage means, thereby performing the adaption calculation.
Claim 5
Dependent Claim
107 words
The pipelined processor of claim 1 wherein said convolution means further comprise: a multiplier having a first input for receiving a multiplicand operand, a second input for receiving a recoded multiplier operand, and an output, said multiplier multiplying a predetermined updated coefficient value and a recoded data operand for each tap of the filter to provide a convolution term; and an adder having a first input coupled to the output of the multiplier, and a second input coupled to an output thereof, said adder performing N accumulations to implement the convolution of the series of data values and coefficient values for the N taps of the filter.
Claim 6
Dependent Claim
208 words
A pipelined processor for implementing a least mean squares (LMS) algorithm in an N-tap filter, where N is an integer, by calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently performing an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising: update means comprising a first recoded multiplier for performing a predetermined number of update calculations to the coefficient values required to implement the LMS algorithm, said update calculations being performed during a predetermined time period; convolution means comprising a second recoded multiplier, said convolution means coupled to the update means for summing a predetermined number of convolution products during the same time period, each formed by multiplying a predetermined coefficient value and a predetermined data value, to provide an output signal which represents said convolution; and storage means coupled to both the update means and the convolution means for selectively providing both the data values and coefficient values required by both the update means and convolution means to implement the least mean squares algorithm, wherein said storage means selectively concurrently provides a same data value to each recoded multiplier of the update means and convolution means.
Claim 7
Dependent Claim
208 words
A pipelined processor for implementing a least mean squares (LMS) algorithm in an N-tap filter, where N is an integer, by calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently performing an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising: update means comprising a first recoded multiplier for performing a predetermined number of update calculations to the coefficient values required to implement the LMS algorithm, said update calculations being performed during a predetermined time period; convolution means comprising a second recoded multiplier, said convolution means coupled to the update means for summing a predetermined number of convolution products during the same time period, each formed by multiplying a predetermined coefficient value and a predetermined data value, to provide an output signal which represents said convolution; and storage means coupled to both the update means and the convolution means for selectively providing both the data values and coefficient values required by both the update means and convolution means to implement the least mean squares algorithm, wherein said storage means selectively concurrently provides a same data value to each recoded multiplier of the update means and convolution means.
Claim 8
Independent Claim
161 words
A method of implementing a predetermined algorithm in a pipelined processor which performs an N-tap filter function, N being an integer, by calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently performing an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising the steps of: time multiplexing an update circuit means of the processor to perform a predetermined number of update calculations during a predetermined time frame; time multiplexing a convolution circuit means to perform a predetermined number of convolution products during the same time period, a final convolution product representing a completed calculation of the predetermined algorithm; and coupling a single storage means to both the update circuit means and the convolution circuit means to provide the data values and coefficient values required by both the update circuit means and the convolution circuit means to implement the predetermined algorithm.
Claim 9
Independent Claim
161 words
A method of implementing a predetermined algorithm in a pipelined processor which performs an N-tap filter function, N being an integer, by calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently performing an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising the steps of: time multiplexing an update circuit means of the processor to perform a predetermined number of update calculations during a predetermined time frame; time multiplexing a convolution circuit means to perform a predetermined number of convolution products during the same time period, a final convolution product representing a completed calculation of the predetermined algorithm; and coupling a single storage means to both the update circuit means and the convolution circuit means to provide the data values and coefficient values required by both the update circuit means and the convolution circuit means to implement the predetermined algorithm.
Claim 10
Dependent Claim
43 words
The method of claim 6 further comprising the step of: utilizing a clock signal of predetermined frequency to define said predetermined time frame, said predetermined algorithm requiring (N+1) cycles of the clock signal to calculate N update and convolution products per time frame.
Claim 11
Dependent Claim
378 words
A pipelined filter structure which implements a least mean squares (LMS) algorithm for N taps, where N is an integer, said filter structure calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently during a predetermined time period performs an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising: a first multiplier having a first input for receiving a multiplicand operand representing a data value from an immediately previous time period, a second input, and an output which provides an updated coefficient value; a storage means having an input coupled to the output of the first multiplier for receiving the updated coefficient value, and first and second outputs; a first recoder having an input coupled to the first output of the storage means, and an output coupled to the second input of the first multiplier, for receiving data values for each tap of the filter from the storage means and recoding said data values in accordance with a predetermined recoding algorithm to improve speed of operation of the first multiplier; a first adder having a first input coupled to the output of the first multiplier, a second input coupled to the second output of the storage means, and an output for providing for each tap of the filter a coefficient sum of the updated coefficient value and a predetermined previous coefficient; a second recoder having an input coupled to the first output of the storage means for receiving a same data value received by the first recoder, and an output for providing a recoded data operand; a second multiplier having a first input coupled to the output of the first adder for receiving the coefficient sum, a second input coupled to the output of the second recoder, and an output which provides a convolution term in response to multiplying the coefficient sum and the recoded data operand; and a second adder having a first input coupled to the output of the second multiplier, and a second input coupled to an output thereof, said second adder performing N accumulations to implement the convolution of the series of data values and coefficient values for the N taps of the filter.
Claim 12
Dependent Claim
378 words
A pipelined filter structure which implements a least mean squares (LMS) algorithm for N taps, where N is an integer, said filter structure calculating a convolution of a series of data values and coefficient values for the N taps and substantially concurrently during a predetermined time period performs an adaption calculation of the series of coefficient values by updating the coefficient value for each tap of the filter, comprising: a first multiplier having a first input for receiving a multiplicand operand representing a data value from an immediately previous time period, a second input, and an output which provides an updated coefficient value; a storage means having an input coupled to the output of the first multiplier for receiving the updated coefficient value, and first and second outputs; a first recoder having an input coupled to the first output of the storage means, and an output coupled to the second input of the first multiplier, for receiving data values for each tap of the filter from the storage means and recoding said data values in accordance with a predetermined recoding algorithm to improve speed of operation of the first multiplier; a first adder having a first input coupled to the output of the first multiplier, a second input coupled to the second output of the storage means, and an output for providing for each tap of the filter a coefficient sum of the updated coefficient value and a predetermined previous coefficient; a second recoder having an input coupled to the first output of the storage means for receiving a same data value received by the first recoder, and an output for providing a recoded data operand; a second multiplier having a first input coupled to the output of the first adder for receiving the coefficient sum, a second input coupled to the output of the second recoder, and an output which provides a convolution term in response to multiplying the coefficient sum and the recoded data operand; and a second adder having a first input coupled to the output of the second multiplier, and a second input coupled to an output thereof, said second adder performing N accumulations to implement the convolution of the series of data values and coefficient values for the N taps of the filter.
References Cited (Backward Citations)
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1993-08-06 | 1994-02-05 | 1994-08-07 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 1997-08-06 | 1998-02-05 | 1998-08-07 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2001-08-06 | 2002-02-05 | 2002-08-07 | $7700.00 | Window Closed / Lapsed |