2
$\begingroup$

could you tell me step by step the algorithm to design an arbitrary phase response IIR allpass filter design ?

I know Matlab uses a "brute force" algorithm to find an arbitrary group delay response but how do they do that?

$\endgroup$
2
$\begingroup$

Depends a bit on what exactly you are trying to do. Generally, strict all-pass filters have reciprocal zeros and poles. This will always result in 180 phase shift per filter order so an arbitrary phase response that's strictly allpass cannot be designed. Example: let's say you want something that's in phase at DC, sits at -90 degrees in the band and then goes slowly back to zero at Nyquist: this can't be implemented using strict all-passes.

Of course you can always approximate but the best method tends to depend on the specifics of your design problems and what types of errors you can tolerate.

$\endgroup$
  • $\begingroup$ thank you for your answer. Do you know the function from Matlab iirgrpdelay ? It designs an arbitrary allpass filter with iterations. I want to match the phase of an IIR to make it almost linear. I know it's possible because i've seen it in some implementations. I can tolerate some errors but i want to have the maximum linearity in the phase response. thanks. Jeff $\endgroup$ – ion_one Aug 28 '13 at 14:18

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.