Convert transfer function filter parameters to zero-pole-gain form

`[`

finds the matrix of zeros `z`

,`p`

,`k`

] = tf2zpk(`b`

,`a`

)`z`

, the vector of poles
`p`

, and the associated vector of gains `k`

from the
transfer function parameters `b`

and `a`

. The function
converts a polynomial transfer-function representation

$$H(z)=\frac{B(z)}{A(z)}=\frac{{b}_{1}+{b}_{2}{z}^{-1}\cdots +{b}_{n-1}{z}^{-n}+{b}_{n}{z}^{-n-1}}{{a}_{1}+{a}_{2}{z}^{-1}\cdots +{a}_{m-1}{z}^{-m}+{a}_{m}{z}^{-m-1}}$$

of a single-input/multi-output (SIMO) discrete-time system to a factored transfer function form

$$H(z)=\frac{Z(z)}{P(z)}=k\frac{(z-{z}_{1})(z-{z}_{2})\cdots (z-{z}_{m})}{(z-{p}_{1})(z-{p}_{2})\cdots (z-{p}_{n})}.$$

Use `tf2zpk`

when working with transfer functions expressed in
inverse powers (1 + *z*^{–1} +
*z*^{–2}). A similar function, `tf2zp`

, is more useful for working with positive powers (*s*^{2} + *s* +
1), such as in continuous-time transfer functions.