# System Stability: Can we derive stability of a discrete system (Frequency domain, Z-transform) by applying analogous methods?

So given some analogue system function in the complex s-domain. Can we perform a stability analysis in the $s$-domain, before actually transfer it into the $z$-domain? So in other words analysis in the $z$-domain is not necessary anymore?

The reason why I am unsure is that we have a sample and hold element which needs to be added to our system:

$\frac{1-e^{-sT}}{s}$ which changes to $\frac{z-1}{z}$

(I did use partial fraction decomposition/method of residues and did not use any approx. like bilinear transform, impulse variance method.)

• Welcome to DSP.SE! What sort of stability analysis? The usual stability analysis in the $s$-domain is that the region of convergence includes the imaginary axis.. – Peter K. Oct 21 '15 at 11:47
• Well one major difference is that the ROC in the s-domain is a vertical strip and in the Z-domain it's a circle – panthyon Oct 21 '15 at 13:12
• @panthyon: For two-sided signals, the analogy to a vertical strip in the $s$-domain is a ring in the $z$-domain. The inside of a circle in the $z$-domain corresponds to a left half-plane in the $s$-domain. – Matt L. Oct 21 '15 at 14:05

If you use the bilinear transform to map from s-plane poles and zeros to z-plane poles and zeros, the left-hand half-plane of the s-plane will be mapped to the inside of the unit circle on the z-plane. This preserves stability because on s-plane the requirement for stability is that poles are on the left-hand half-plane and on the z-plane it is that they are inside the unit circle.

I did not examine too carefully your s and z-domain formulas, but indefinite integration is marginally stable with a pole at the origin of the s-plane, or on the unit circle of the z-plane. Implemented as a nonrecursive filter:

$$\text{out}[i] = \text{in}[i-N + 1] + \text{in}[i-N + 2] + \dots + \text{in}[i-1] + \text{in}[i],$$

integration over $N$ samples is stable. Implemented as a recursive filter:

$$\text{out}[i] = \text{out}[i-1] + \text{in}[i] - \text{in}[i-N],$$

it is stable in fixed-point arithmetic, but can drift if implemented in floating point arithmetic due to accumulation of numerical error. Even then it can be stabilized by moving the pole slightly inside the unit circle, or by periodically resetting the filter state by calculating it using the nonrecursive filter. But sample and hold is about taking an input sample and keeping the output at that value for some time. That can be programmed directly and gives no stability problems.

• Ok good answer, but bilinear transform is not mapping inside the unit circle on the z-plane. It is a close approximation to the unit circle. That is why I suppose that you have to move the poles slightly inside. – Randy Welt Oct 21 '15 at 22:21
• That property of bilinear transform is not an approximation. You can see for yourself that |(1+ix)/(1-ix)| = 1 for any real x. – Olli Niemitalo Oct 21 '15 at 23:20
• Olli you are right. I checked |(2+sT)/(2-sT)| = 1. So forget about the comment above – Randy Welt Oct 22 '15 at 9:28
• No sorry, but I checked again |z|=|(2+sT)/(2-sT)| = |(2+sigT+iwT)/(2-sigT-iwT)|. So that is obviously not always 1. – Randy Welt Oct 22 '15 at 9:58
• That can't be correct, for example T = 1, w = 1 => s = i gives |(2+i)/(2-i)| = |(2+1+i)/(2-1-i)| => 1 = sqrt(5). – Olli Niemitalo Oct 22 '15 at 10:31