Patent ID: 7580965

Claim:
A computer implemented method of performing a filter function transforming a discrete time input signal X(k) into a discrete time output signal Y(k) according to a discrete time transfer function H(k) employing a programmable digital signal processor capable of performing a multiply-accumulate instruction of discrete time convolution of the form Y ⁡ ( n ) = ∑ k = 0 N ⁢ ⁢ X ⁡ ( k ) ⁢ H ⁡ ( n - k ) where: N is the number of terms of the convolution, H(n−k) is a discrete-time component of the transfer function, shifted by the current time step k, the method comprising: if N is less than or equal to seven, performing a multiply-accumulate of X(k) and H(n−k) by performing a multiply-accumulate instruction on said programmable digital signal processor for all k of 0 to N; and if N is greater than seven performing a multiply-accumulate of X(k) and H(n−k) when X(k) and H(n−k) are overlapping by performing a multiply-accumulate instruction on said programmable digital signal processor, and not performing a multiply-accumulate of X(k)H(n−k) when X(k) and H(n−k) are non-overlapping.