I'm thinking of using Parks-Mccellan for my equalization needs, but since I require that the filter be variable (gain, Q etc.) then does it make sense to recompute Parks-Mccellan on a per sample basis?
Reason for asking is that I'm still confused about whether different algorithms are suited for per sample computation or whether they need longer intervals to make their full effect.
I guess it would still need some sort of pre-buffer (since the filtering uses previous samples)?
My application is Parks-Mccellan style arbitrary magnitude response filtering that's dynamic (i.e. I want to be able to vary the magnitude response over some, even short sample intervals).
Answer
No, the Parks-McClellan algorithm, which is based on the Remez exchange algorithm, is a computationally quite expensive iterative method that is most commonly used for off-line filter designs. It is not at all well-suited for real-time applications, let alone for re-designing a filter each sample interval.
Depending on your application, you might be looking for an adaptive filter based on the LMS (least mean squares) algorithm.
Another approach, again dependent on the application, is to use an appropriate parametrization of the filter, where the parameters could be the gain, center frequency, Q factor, etc. This is easily possible with second order IIR filters.
No comments:
Post a Comment