I would like to approximate a moving average filter with an IIR filter of much lower order than the tap-length of the moving average filter. Optimality shall refer to the $L_2$ norm of the impulse response (up to changes in the total gain). Ideally, I'd also like to constrain the impulse response to be monotonic (i.e. no ripple), but I fear that this requirement along will already fully constrain the filter. If that is the case, I might be willing to take some ripple in turn for a sharper roll-off.
Answer
I can show you some low order IIR approximations to an FIR moving average filter. In the figure below you see $3$ (infinite) impulse responses that approximate a moving average of length $N=600$. The filter orders are $1$, $2$, and $5$, respectively, and they all approximate the desired response in a least squares sense. I used the equation error method to design those filters. Only the filter with order $1$ is monotonic, but it's also the worst filter in terms of the $L_2$ error.
It's hard to find good solutions for higher order IIR filters because the problem is highly non-linear and you tend to get stuck in a local minimum. I haven't been able to find any useful solutions for filter orders higher than $5$.
I should add that I just used the equation error method and Prony's method. With Prony's method (not shown in the plot), if you increase the order of the numerator $M$ (and leave the denominator order small), you can make the first $M+1$ samples of the designed impulse response equal the first $M+1$ samples of the desired impulse response, after which the response decreases exponentially. But these filters have a higher $L_2$ approximation error than the ones shown in the figure.
No comments:
Post a Comment