Suppose we have an unstable all-pole filter with transfer function $H(z) = A(z)^{-1}$. What is the best way to design a stable filter with frequency response as close to that of $H$ as possible. (I don't really know enough dsp to better define ''as close as possible'', but I am thinking in $L^2$ sense)

  • 1
    $\begingroup$ I suppose you're talking about the magnitude of the frequency response, not the phase. You can obtain a stable filter with exactly the same magnitude response by reflecting all poles outside the unit circle into the circle, i.e. by replacing a pole $z_p$ with $|z_p|>1$ by $1/z_p^*$, and by appropriate scaling. The phase will of course be different. $\endgroup$ – Matt L. Sep 29 '15 at 9:40
  • $\begingroup$ @MattL. That should be an answer! $\endgroup$ – Peter K. Sep 29 '15 at 11:48
  • $\begingroup$ @MattL. Yes, thank you, this is what I meant and was looking for. Please write this as an answer so I can accept it. $\endgroup$ – sarasvati119 Sep 29 '15 at 11:57
  • $\begingroup$ @PeterK.: OK, see below ... $\endgroup$ – Matt L. Sep 29 '15 at 13:08

The magnitude of the frequency response will remain unchanged if you reflect any poles outside the unit circle - these are the ones causing instability - back inside the circle. I.e., a pole $p$ (with $|p|>1$) is replaced by the new pole $\tilde{p}=1/p^*$, where $*$ denotes complex conjugation. This will not change the magnitude of the frequency response (up to a scaling factor), but it will change the phase response.

The correct scaling is obtained if each factor $(1-p_iz^{-1})$ with $|p_i|>1$ of the denominator polynomial $A(z)$ is replaced by $|p_i|(1-z^{-1}/p_i^*)$.

| improve this answer | |

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.