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).

| improve this question | | | | |

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.

| improve this answer | | | | |
  • $\begingroup$ So you think LMS is substantially more suited for real-time application than PM? LMS seems fairly similar to PM in terms of parameters. $\endgroup$ – mavavilj Jul 2 '16 at 16:01
  • $\begingroup$ @mavavilj: Yes, LMS is a real-time algorithm, whereas PM isn't. I'm not sure why you think they are "similar in terms of parameters". I wouldn't say so. $\endgroup$ – Matt L. Jul 2 '16 at 16:13
  • $\begingroup$ They both allow to define an arbitrary magnitude response with "don't care regions". se.mathworks.com/help/signal/ref/firls.html $\endgroup$ – mavavilj Jul 2 '16 at 16:32
  • 1
    $\begingroup$ @mavavilj: We're talking about different methods. A least squares method (firls) is different from an adaptive algorithm such as LMS, which is also implemented in Matlab: dsp.LMSFilter. $\endgroup$ – Matt L. Jul 2 '16 at 16:34
  • $\begingroup$ what are the "don't care regions" with respect to LMS adaptive filters? $\endgroup$ – robert bristow-johnson Jul 2 '16 at 17:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.