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, 2015 at 9:40
  • $\begingroup$ @MattL. That should be an answer! $\endgroup$
    – Peter K.
    Sep 29, 2015 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$ Sep 29, 2015 at 11:57
  • $\begingroup$ @PeterK.: OK, see below ... $\endgroup$
    – Matt L.
    Sep 29, 2015 at 13:08

1 Answer 1


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^*)$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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