# How to take multiple IIR filters efficiently

I have a collection of IIR filters (exponential decay at various decay rates). I'd like to compute all of them on a discrete time series efficiently.

Is there a way to do this that is faster than $$O(\mbox{num_filters} \times \mbox{num_points})$$?

• Welcome to SE.SP! Do you know anything more about the filters? Are they related to each other in any way? Sometimes, you can decompose the filters into their similar parts (that only need to be calculated once for all filters) and their different parts (that need to be calculated per filter). Your question doesn't suggest any relationship, so without that extra information, the answer is no.
– Peter K.
Nov 27 '20 at 21:44
• I have an arbitrary discrete dataset. I want to know the autocorrelation function averaged over different IIR filters. Every filter is exponential decay at a different decay rate. So I want to know the correlation of the data and an exponential average of the data for a large number of decay rates. Does that make sense? Nov 27 '20 at 21:56
• To give you full context: my real goal is to do what I described, but for a multidimensional dataset. So imagine I have d dimensions, s decay rates and n data points. I want to figure out a way to run the algorithm faster than O(d^2 * n * s). Right now my guess is the only way to do this faster is to approximate the dataset with MRA. Nov 27 '20 at 22:01