| CPC H03M 1/0626 (2013.01) [G06F 7/5443 (2013.01); H03M 1/1245 (2013.01)] | 20 Claims |

|
1. A device configured to filter a plurality of discrete samples comprising:
at least one processor;
a sample buffer coupled to the at least one processor and configured to store samples, the sample buffer being a circular buffer;
a coefficient array coupled to the at least one processor and configured to store coefficients of a digital filter, wherein the coefficient array is configured to store a set of N coefficients for the digital filter and a copy set of coefficients, wherein the copy set of coefficients comprises at least a subset of the set of N coefficients;
wherein for each sample of a plurality of input samples, the at least one processor is configured to:
obtain a sample and store the sample as a value in the sample buffer at a position of the sample buffer indicated by a buffer pointer;
calculate an output sample by performing a multiply-accumulate (MAC) operation based on values stored in the sample buffer and a subset of the coefficients stored in the coefficient array indicated by a coefficient pointer; and
update the buffer pointer and the coefficient pointer.
|