Finite impulse response filter
AssigneeVLSI Technology, Inc.
InventorsCreigton S. Asato, Christoph Ditzen
Life of this patent
Estimating the term…
Abstract
Output data points of a digital FIR filter are calculated by storing input data points in an addressable memory and accessing the addressable memory to supply a new input data point exactly once for each output data point after a first output data point and storing each input data point in a first recirculating memory for so long as that input data point is needed to calculate a next output data point. The input data points stored in the first recirculating memory are used to calculate output data points. Furthermore, coefficients are stored in a second recirculating memory and are used to calculate the output data points. As a result, only one memory access is required per output data point.
Claims10
A method of calculating output data points of a Finite Impulse Response filter comprising the steps of:
- storing, in order, a plural number of coefficients in a first recirculating shift register means;
- storing, in order, input data points one fewer than said number in a second recirculating shift register means;
- and
- multiplying respective ones of the coefficients and input data points and accumulating the results of the multiplication as the coefficients and the input data points are circulated in the respective recirculating shift register means.
A system for calculating output data points of a Finite Impulse Response filter comprising:
- first recirculating shift register means for storing in order a plural number of coefficients;
- second recirculating shift register means for storing in order input data points one fewer than said number;
- and
- means for multiplying respective ones of the coefficients and input data points and for accumulating the results of the multiplying a the coefficients and the input data points are circulated in the first and second recirculating shift register means.
A method of calculating output data points of a digital filter comprising the steps of:
- storing a plurality of coefficients in a first recirculating store;
- storing every other one of a series of input data points in a second recirculating store;
- storing ones of the series of input data points not stored in the second recirculating store in a third recirculating store;
- multiplying respective ones of the coefficients and input data points stored in the second recirculating store and accumulating the results of the multiplication as the coefficients and the input data points are circulated to produce an output data point;
- and
- multiplying respective ones of the coefficients and input data points stored in the third recirculating store and accumulating the results of the multiplication as the coefficients and the input data points are circulated to produce an output data point.
A method of calculating output data points of a digital filter, comprising the steps of:
- (a) storing input data points in an addressable memory;
- (b) accessing the addressable memory to supply a plurality of input data points;
- (c) storing said plurality of input data points in a first recirculating shift register;
- (d) using said plurality of input data points to calculate a first output data point;
- (e) accessing the addressable memory to supply a new input data point;
- (f) discarding one of said input data points from said first recirculating shift register and storing said new point data point in said first recirculating shift register;
- (g) outputting said first output data point;
- (h) using input data points stored in said first recirculating shift register to calculate a next output data point;
- (i) accessing the addressable memory to supply to new input data point;
- (j) discarding one of said input data points from said first recirculating shift register and storing said new input data point in said first recirculating shift register;
- (k) outputting a next output data point;
- and
- (l) repeating steps (h), (i), (j) and (k).
Dependencies are inferred from the claim text.