Computing Reflection Coefficients to

Check Filter Stability

Since we know that a recursive filter is stable if and only if all its
poles have magnitude less than 1, an obvious method for checking
stability is to find the roots of the denominator polynomial
in
the filter transfer function [Eq.
(7.4)]. If the moduli of all roots
are less than 1, the filter is stable. This test works fine for
low-order filters (*e.g.*, on the order of 100 poles or less), but it may
fail numerically at higher orders because the roots of a polynomial
are very sensitive to round-off error in the polynomial coefficients
[62]. It is therefore of interest to use a stability test
that is faster and more reliable numerically than polynomial
root-finding. Fortunately, such a test exists based on the filter
*reflection coefficients*.

It is a mathematical fact [48] that all poles of a recursive
filter are inside the unit circle if and only if all its reflection
coefficients (which are always real) are strictly between -1 and 1.
The full theory
associated with reflection coefficients is beyond the scope of this
book, but can be found in most modern treatments of
*linear prediction* [48,47] or *speech
modeling* [92,19,69]. An online
derivation appears in [86].^{9.3}Here, we will settle for a simple recipe for computing the reflection
coefficients from the transfer-function denominator polynomial
.
This recipe is called the *step-down procedure*,
*Schur-Cohn stability test*,
or *Durbin recursion*
[48], and it is essentially the same thing as the *Schur
recursion* (for allpass filters) or *Levinson algorithm* (for
autocorrelation functions of autoregressive stochastic processes)
[38].

[How to cite this work] [Order a printed hardcopy] [Comment on this page via email]

Copyright ©

Center for Computer Research in Music and Acoustics (CCRMA), Stanford University