1
$\begingroup$

I have designed an inverse IIR high pass filter by inverting its transfer function B(z)/A(z) to A(z)/B(z). However, the inverse filter has a pole at z=-1.

Is this filter considered stable (marginally stable) or unstable since Matlab says it is not stable ?

in that case, how can i design such a digital filter so that it is stable and gives me the same response as expected, because when i try to enter the pole within the unit circle, the Amplitude response does not turn out the way i want it to. thanks in Advance.

$\endgroup$
1
  • $\begingroup$ This has to be an XY question. It appears that the real problem you have is a signal that's been high-pass filtered, and you want to "undo" that high-pass filtering. If that's the case say so -- given that you've already gotten answers to this question, probably in a different question. When you ask that question, be sure to state how noisy your measurement is -- it has a direct impact on the best filter to use. $\endgroup$
    – TimWescott
    Commented Jul 5, 2021 at 21:24

2 Answers 2

1
$\begingroup$

the inverse filter has a pole at z=-1.

A high pass filter has a zero at $z=1$ hence the inverse should have the pole at $z=1$. Both high pass and inverse high pass should have unity gain at $z=-1$,

But yes, the inverse is unstable.

in that case, how can i design such a digital filter so that it is stable and gives me the same response as expected,

In order to answer this, you need to tell us what you actually expect or want. An inverse high pass has infinite gain at 0 Hz, and I doubt that this is what you really want. You probably want a response that's "close to an inverse high pass either "down to a specific frequency that's higher than 0 Hz" or "does not exceed a gain of XX dB" The best way how to design the filter depends on your requirements.

The easiest way is to move the pole slightly into the unit circle along the real axis. This allows you to control the maximum gain and frequency range.

$\endgroup$
1
$\begingroup$

A high-pass or low-pass filter's purpose is to reduce or eliminate spectral information content in portions of the stop-band. Therefore, depending on the frequency (near or at a zero), some spectral information will no longer exist in the result (or perhaps be reduced to numerical noise).

An inverse filter that attempts to correctly re-create some original information from nothing (or a random noise floor) is thus trying to do the impossible. Thus the inherent instability of the inverse's pole where the zero used to be.

Even if you move the zero slightly off of the unit circle, the inverse will still be trying to undo the process of reducing some portion of a signal (in a deep stop-band) to mostly quantization and numerical noise. The inverse filter might look mathematically stable, but, in finite precision arithmetic, just produce garbage.

$\endgroup$

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.