Z-transform partial-fraction expansion
residuez
converts a discrete time system, expressed as the ratio of two
polynomials, to partial fraction expansion, or residue, form. It also converts the partial
fraction expansion back to the original polynomial coefficients.
Note
Numerically, the partial fraction expansion of a ratio of polynomials is an ill-posed problem. If the denominator polynomial is near a polynomial with multiple roots, then small changes in the data, including round-off errors, can cause arbitrarily large changes in the resulting poles and residues. You should use state-space or pole-zero representations instead.
residuez
applies standard MATLAB® functions and partial fraction techniques to find r
,
p
, and k
from b
and
a
. It finds
The direct terms a
using deconv
(polynomial long division) when
length(b)
> length(a)-1
.
The poles using p
= roots
(a)
.
Any repeated poles, reordering the poles according to their multiplicities.
The residue for each nonrepeating pole pj by multiplying b(z)/a(z) by 1/(1 - pjz−1) and evaluating the resulting rational function at z = pj.
The residues for the repeated poles by solving
S2*r2 = h - S1*r1
for r2
using \
. h
is the
impulse response of the reduced
b(z)/a(z),
S1
is a matrix whose columns are impulse responses of the first-order
systems made up of the nonrepeating roots, and r1
is a column
containing the residues for the nonrepeating roots. Each column of matrix
S2
is an impulse response. For each root
pj of multiplicity
sj, S2
contains
sj columns representing the impulse
responses of each of the following systems.
The vector h
and matrices S1
and
S2
have
n
+
xtra
rows, where
n
is the total number of roots and the internal parameter
xtra
, set to 1 by default, determines the degree of
over-determination of the system of equations.
[1] Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck. Discrete-Time Signal Processing. 2nd Ed. Upper Saddle River, NJ: Prentice Hall, 1999.