Note: This page has been translated by MathWorks. Please click here

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

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

`[z,p,k] = tf2zpk(b,a)`

`tf2zpk`

finds the zeros, poles, and gains
of a discrete-time transfer function.

You should use `tf2zpk`

when working with transfer
functions expressed in inverse powers (1 + z^{-1} + z^{-2}), which
is how transfer functions are usually expressed in DSP. A similar
function, `tf2zp`

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

`[z,p,k] = tf2zpk(b,a)`

finds
the matrix of zeros `z`

, the vector of poles `p`

,
and the associated vector of gains `k`

from the transfer
function parameters `b`

and `a`

:

The numerator polynomials are represented as columns of the matrix

`b`

.The denominator polynomial is represented in the vector

`a`

.

Given a single-input, multiple output (SIMO) discrete-time system in polynomial transfer function form

$$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}}$$

you can use the output of `tf2zpk`

to produce
the single-input, multioutput (SIMO) 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})}$$

The following describes the input and output arguments for `tf2zpk`

:

The vector

`a`

specifies the coefficients of the denominator polynomial*A*(*z*) in descending powers of*z*.The ith row of the matrix

`b`

represents the coefficients of the`i`

th numerator polynomial (the ith row of*B*(*s*) or*B*(*z*)). Specify as many rows of`b`

as there are outputs.The zero locations are returned in the columns of the matrix

`z`

, with as many columns as there are rows in`b`

.The pole locations are returned in the column vector

`p`

and the gains for each numerator transfer function in the vector`k`

.

Was this topic helpful?