Skip to Main Content Skip to Search
Product Documentation

zplane - Zero-pole plot

Syntax

zplane(z,p)
zplane(b,a)
zplane(Hd)
[hz,hp,ht]=zplane(z,p)

Description

This function displays the poles and zeros of discrete-time systems.

zplane(z,p) plots the zeros specified in column vector z and the poles specified in column vector p in the current figure window. The symbol 'o' represents a zero and the symbol 'x' represents a pole. The plot includes the unit circle for reference. If z and p are arrays, zplane plots the poles and zeros in the columns of z and p in different colors.

You can override the automatic scaling of zplane using

axis([xmin xmax ymin ymax])

or

set(gca,'ylim',[ymin ymax])

or

set(gca,'xlim',[xmin xmax])

after calling zplane. This is useful in the case where one or a few of the zeros or poles have such a large magnitude that the others are grouped tightly around the origin and are hard to distinguish.

zplane(b,a) where b and a are row vectors, first uses roots to find the zeros and poles of the transfer function represented by numerator coefficients b and denominator coefficients a. The transfer function is defined in terms of z-1:

zplane(Hd) finds the zeros and poles of the transfer function represented by the dfilt filter object Hd. The pole-zero plot is displayed in fvtool.

[hz,hp,ht] = zplane(z,p) returns vectors of handles to the zero lines, hz, and the pole lines, hp. ht is a vector of handles to the axes/unit circle line and to text objects, which are present when there are multiple zeros or poles. If there are no zeros or no poles, hz or hp is the empty matrix [].

Examples

For data sampled at 1000 Hz, plot the poles and zeros of a 4th-order elliptic lowpass digital filter with cutoff frequency of 200 Hz, 3 dB of ripple in the passband, and 30 dB of attenuation in the stopband:

[z,p,k] = ellip(4,3,30,200/500);
zplane(z,p);
title('4th-Order Elliptic Lowpass Digital Filter');

To generate the same plot with a transfer function representation of the filter, use:

[b,a] = ellip(4,3,30,200/500);    % Transfer function
zplane(b,a)

To generate the same plot using a dfilt object and displaying the result in the Filter Visualization Tool (fvtool) use:

[b,a] = ellip(4,3,30,200/500);
Hd=dfilt.df1(b,a);
zplane(Hd)

See Also

freqz

  


Recommended Products

Includes the most popular MATLAB recorded presentations with Q&A sessions led by MATLAB experts.

 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS