1. A method for performing multirate filtering, comprising: a. calculating a second coefficient value comprising: i) obtaining an error value; ii) obtaining a data value from a data register; iii) multiplying the data value and the error value to obtain a coefficient product; iv) adding a first coefficient value from a coefficient register; and v) adding the first coefficient value to the coefficient product to produce the second coefficient value; and b. calculating a second convolution value during a convolution period comprising: i) multiplying the data value and the first coefficient value to produce a convolution product; ii) adding a convolution input to the convolution product to produce the second convolution value; repeating steps a and b wherein the data value is obtained by incrementing the data register by one to produce a second data value as the data value, and the first coefficient value is obtained by incrementing the coefficient register by M to produce an Mth coefficient value as the first coefficient value.