Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

tf2zpk

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

Syntax

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

Description

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

    Note   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 (s2 + 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)=B(z)A(z)=b1+b2z1+bn1zn+bnzn1a1+a2z1+am1zm+amzm1

you can use the output of tf2zpk to produce the single-input, multioutput (SIMO) factored transfer function form

H(z)=Z(z)P(z)=k(zz1)(zz2)(zzm)(zp1)(zp2)(zpn)

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 ith 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.

Examples

collapse all

Design a 3rd-order Butterworth filter with normalized cutoff frequency $0.4\pi$ rad/sample. Find the poles, zeros, and gain of the filter. Plot them to verify that they are where expected.

[b,a] = butter(3,.4);
fvtool(b,a,'polezero')
[z,p,k] = tf2zpk(b,a)
text(real(z)-0.1,imag(z)-0.1,'\bfZeros','color',[0 0.4 0])
text(real(p)-0.1,imag(p)-0.1,'\bfPoles','color',[0.6 0 0])
z =

  -1.0000 + 0.0000i
  -1.0000 - 0.0000i
  -1.0000 + 0.0000i


p =

   0.2094 + 0.5582i
   0.2094 - 0.5582i
   0.1584 + 0.0000i


k =

    0.0985

See Also

| | | | |

Introduced before R2006a

Was this topic helpful?