# Bistritz stability criterion

In signal processing and control theory, the Bistritz criterion is a simple method to determine whether a discrete linear time invariant (LTI) system is stable proposed by Yuval Bistritz.[1][2] Stability of a discrete LTI system requires that its characteristic polynomials

${\displaystyle D_{n}(z)=d_{0}+d_{1}z+d_{2}z^{2}+\cdots +d_{n-1}z^{n-1}+d_{n}z^{n}}$

(obtained from its difference equation, its dynamic matrix, or appearing as the denominator of its transfer function) is a stable polynomial, where ${\displaystyle D_{n}(z)}$ is said to be stable if all its zeros are inside the unit circle, viz.

${\displaystyle |z_{k}|<1,k=1,\ldots ,n}$,

where ${\displaystyle D_{n}(z)=d_{n}\prod _{k=1}^{n}(z-z_{k})}$. The test determines whether ${\displaystyle D_{n}(z)}$ is stable algebraically (i.e. without numerical determination of the zeros) . The method also solves the full zero location (ZL) problem. Namely, it can count the number of inside the unit-circle (IUC) zeros ${\displaystyle (~|z_{k}|<1~)}$, on the unit-circle zeros (UC) zeros ${\displaystyle (~|z_{k}|=1~)}$ and outside the unit-circle (OUC) zeros ${\displaystyle (~|z_{k}|>1~)}$ for any real or complex polynomial.[1][2] The Bistritz test is the discrete equivalent of Routh criterion used to test stability of continuous LTI systems. This title was introduced soon after its presentation.[3] It has been also recognized to be more efficient than previously available stability tests for discrete systems like the Schur–Cohn and the Jury test.[4]

In the following, the focus is only on how to test stability of a real polynomial. However, as long as the basic recursion needed to test stability remains valid, ZL rules are also brought.

## Algorithm

Consider ${\displaystyle D_{n}(z)}$ as above and assume ${\displaystyle D_{n}(1)\neq 0}$. (If ${\displaystyle D_{n}(1)=0}$ the polynomial is not stable.) Define its reciprocal polynomial

${\displaystyle D_{n}^{\sharp }(z)=z^{n}D_{n}(1/z)=d_{n}+d_{n-1}z+d_{n-2}z^{2}+\cdots +d_{n-1}z^{n-1}+d_{0}z^{n}}$.

The algorithm assigns to ${\displaystyle D_{n}(z)}$ a sequence of symmetric polynomials

${\displaystyle T_{m}(z)=T_{m}^{\sharp }(z),m=n,n-1,\ldots ,0}$

created by a three-term polynomial recursion. Write out the polynomials by their coefficients,

${\displaystyle T_{m}(z)=\sum _{k=1}^{m}t_{m,k}z^{k}}$,

symmetry means that

${\displaystyle T_{m}(z)=t_{m,0}+t_{m,1}z+\cdots +t_{m,1}z^{m-1}+t_{m,0}z^{m}}$,

so that it is enough to calculate for each polynomial only about half of the coefficients. The recursion begins with two initial polynomials driven from the sum and difference of the tested polynomial and its reciprocal, then each subsequent polynomial of reduced degree is produced from the last two known polynomials.

Initiation:

${\displaystyle T_{n}(z)=D_{n}(z)+D_{n}^{\sharp }(z)\quad ,\quad T_{n-1}(z)={\frac {D_{n}(z)-D_{n}^{\sharp }(z)}{z-1}}}$

Recursion: For ${\displaystyle m=n-1,\ldots ,1}$ do:

${\displaystyle \delta _{m+1}={\frac {T_{m+1}(0)}{T_{m}(0)}}}$
${\displaystyle T_{m-1}(z)={\frac {\delta _{m+1}(1+z)T_{m}(z)-T_{m+1}(z)}{z}}}$

## Stability condition

The successful completion of the sequence with the above recursion requires ${\displaystyle T_{m}(0)\neq 0,\quad m=n-1,\ldots ,1}$. The expansion of these conditions into ${\displaystyle T_{m}(0)\neq 0,\quad m=n,\ldots ,0}$ are called normal conditions.

Normal conditions are necessary for stability. This means that, the tested polynomial can be declared as not stable as soon as a ${\displaystyle T_{m}(0)=t_{m,0}=t_{m,m}=0}$ is observed. It also follows that the above recursion is broad enough for testing stability because the polynomial can be declared as not stable before a division by zero is encountered.

Theorem. If the sequence is not normal then ${\displaystyle D_{n}(z)}$ is not stable. If normal conditions hold then the complete sequence of symmetric polynomials is well defined. Let

${\displaystyle \nu =Var\{T_{n}(1),T_{n-1}(1),\ldots ,T_{1}(1),t_{0,0}\}}$

denote the count of the number of sign variations in the indicated sequence. Then ${\displaystyle D_{n}(z)}$ is stable if and only if ${\displaystyle \nu =0}$. More generally, if normal condition hold than ${\displaystyle D_{n}(z)}$ has no UC zeros, ${\displaystyle \nu }$ OUC zeros and ${\displaystyle n-\nu }$ IUC zeros.

Violation of various necessary conditions for stability may be used advantageously as early indications that the polynomial is not stable (has at least one UC or OUC zero). The polynomial can be declared not stable as soon as a ${\displaystyle T_{m}(0)=0}$, or a ${\displaystyle \delta _{m}<0}$, or a change of sign in the sequence of ${\displaystyle T_{m}(1)}$'s is observed.

## Example

Consider the polynomial ${\displaystyle D_{3}(z)=2+Kz-22z^{2}+24z^{3}}$, where ${\displaystyle K}$ is a real parameter.

Q1:For what values of ${\displaystyle K}$ the polynomial is stable?

Construct the sequence:

${\displaystyle T_{3}(z)=26+(K-22)z+(K-22)z^{2}+26z^{3}}$
${\displaystyle T_{2}(z)=22-Kz+22z^{2}}$
${\displaystyle T_{1}(z)={\frac {24(22-K)}{11}}(1+z)}$
${\displaystyle T_{0}(z)=44+k}$

Use their values at z=1 to form

${\displaystyle \operatorname {Var} (8+2K,44-K,48(22-K)/11,44+k)\,}$

All the entries in the sequence are positive for -4 < K < 22 (and for no K are they all negative). Therefore D(z) is stable for −4 < K < 22.

Q2: Find ZL for K = 33 Var { 71, 11, -48, 11 }=2 => 2 OUC, 1 IUC zeros.

Q3: Find ZL for K = -11 Var{ -14, 55, 144, 33 }=1 => 1 OUC, 2 IUC zeros.

(1) The test bears a remarkable similarity to the Routh test. This is best observed when the Routh test is arranged appropriately into a corresponding three-term polynomial recursion.

(2) The Bistritz test uses three-term polynomial recursion that propagates polynomials with symmetry as opposed to previously available classical tests for discrete systems that propagate polynomials with no particular structure using a two-term recursion. It stimulated the discovery of more algorithms in the area of digital signal processing (e.g. solving the linear prediction problem) and discrete systems (e.g. testing stability of higher-dimensional systems) collectively called "immittance" or "split" algorithms that adopted this technique to more efficient counterparts to also other classical so called "scattering" algorithms.[5][6][7] The Bistritz test forms the "immittance" counterpart of the "scattering" type classical tests of Schur–Cohn and Jury.

## References

1. ^ a b Y. Bistritz (1984) Zero location with respect to the unit circle of discrete-time linear system polynomials, Proc. of the IEEE, 72 (9): 1131–1142.
2. ^ a b Y. Bistritz (2002) Zero location of polynomials with respect to the unit circle unhampered by nonessential singularities, IEEE Trans. CAS I, 49(3): 305–314.
3. ^ E. I. Jury and M. Mansour (1985), On the terminology relationship between continuous and discrete systems criteria, Proc. of the IEEE, 73(4):884.
4. ^ K. Premaratne, and E. I. Jury (1993) On the Bistritz tabular form and its relationship with the Schur–Cohn minors and inner determinants, J. of the Franklin Institute, 30(1):165-182.
5. ^ P. Delsarte and E. Genin (1986) The split Levinson algorithm IEEE Trans. ASSP 34(3):470-478.
6. ^ Y. Bistritz, H. Lev-Ari and T. Kailath (1989) Immittance-domain Levinson algorithms IEEE Trans. IT, 35(3):675-682.
7. ^ Orfanidis, S. J. (1988). Optimum signal processing: An introduction (PDF) (2nd ed.). Macmillan.