<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE document PUBLIC "-//CNX//DTD CNXML 0.5 plus MathML//EN" "http://cnx.rice.edu/cnxml/0.5/DTD/cnxml_mathml.dtd">
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="m10556">
  
  <name>Understanding Pole/Zero Plots on the Z-Plane</name>
  
  <metadata>
  <md:version>2.7</md:version>
  <md:created>2002/04/09</md:created>
  <md:revised>2003/07/24 10:56:33 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="mjhaag">
      <md:firstname>Michael</md:firstname>
      
      <md:surname>Haag</md:surname>
      <md:email>mjhaag@rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="mariyah">
      <md:firstname>Mariyah</md:firstname>
      
      <md:surname>Poonawala</md:surname>
      <md:email>mariyah@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="prash">
      <md:firstname>Prashant</md:firstname>
      
      <md:surname>Singh</md:surname>
      <md:email>prash@ece.rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>complex</md:keyword>
    <md:keyword>pole</md:keyword>
    <md:keyword>z-plane</md:keyword>
    <md:keyword>zero</md:keyword>
  </md:keywordlist>

  <md:abstract>This module will look at the relationships between the z-transform and the complex plane.  Specifically, the creation of pole/zero plots and some of their useful properties are discussed.</md:abstract>
</metadata>

  <content>

    <section id="definition">
      <name>Introduction to Poles and Zeros of the Z-Transform</name>
      
      <para id="intro">
	Once the Z-transform of a system has been determined, one can
	use the information contained in function's polynomials to
	graphically represent the function and easily observe many
	defining characteristics.  The Z-transform will have the below
	structure, based on <cnxn document="m10593" strength="8">Rational
	  Functions</cnxn>:
	
	<equation id="tf">   
	  <m:math>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">X</m:ci><m:ci>z</m:ci>
	      </m:apply>
	      <m:apply>
    	 	<m:divide/>
		<m:apply>
		  <m:ci type="fn">P</m:ci><m:ci>z</m:ci>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">Q</m:ci><m:ci>z</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
	</equation>
      </para>       
      
      <para id="intro2">
	The two polynomials, <m:math><m:apply><m:ci type="fn">P</m:ci><m:ci>z</m:ci></m:apply></m:math> and
	<m:math><m:apply><m:ci type="fn">Q</m:ci><m:ci>z</m:ci></m:apply></m:math>, allow us
	to find the <cnxn document="m10112" strength="8">poles and
	zeros</cnxn> of the Z-Transform.

	<definition id="z_def">
  	  <term>zeros</term>
  	  <meaning>The value(s) for <m:math><m:ci>z</m:ci></m:math> where 
	    <m:math><m:apply><m:eq/>
		<m:apply><m:ci type="fn">P</m:ci><m:ci>z</m:ci></m:apply>
		<m:apply><m:cn>0</m:cn></m:apply></m:apply>
	    </m:math>.</meaning>
	  <meaning>
	    The complex frequencies that make the overall gain of the
	    filter transfer function zero.</meaning>
  	</definition>

	<definition id="p_def">
  	  <term>poles</term>
  	  <meaning>The value(s) for <m:math><m:ci>z</m:ci></m:math> where
	    <m:math><m:apply><m:eq/>
		<m:apply><m:ci type="fn">Q</m:ci><m:ci>z</m:ci></m:apply>
		<m:apply><m:cn>0</m:cn></m:apply></m:apply>
	    </m:math>.</meaning>
	  <meaning>
	    The complex frequencies that make the overall gain of the
	    filter transfer function infinite.</meaning>
  	</definition>
      </para>
      
      <example id="eg1">
        <para id="eg1-1">
	  Below is a simple transfer function with the poles and zeros
	  shown below it.
	  
	  <m:math display="block">
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">H</m:ci><m:ci>z</m:ci>
	      </m:apply>
	      <m:apply>
		<m:divide/>
		<m:apply>
		  <m:plus/>
		  <m:ci>z</m:ci>
		  <m:cn>1</m:cn>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:minus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:cn>1</m:cn>
		      <m:cn>2</m:cn>
		    </m:apply>
		  </m:apply>
		  <m:apply>
		    <m:plus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:cn>3</m:cn>
		      <m:cn>4</m:cn>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
      	</para>   
	
	<para id="eg1-2">
	  The zeros are: 
	  <m:math>
	    <m:set>
	      <m:apply>
		<m:minus/>
		<m:cn>1</m:cn>
	      </m:apply>
	    </m:set>
 	  </m:math>
	</para>

	<para id="eg1-3">
	  The poles are: 
	  <m:math>
	    <m:set>
	      <m:apply>
		<m:divide/>
		<m:cn>1</m:cn>
		<m:cn>2</m:cn>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:apply>
		  <m:divide/>
		  <m:cn>3</m:cn>
		  <m:cn>4</m:cn>
		</m:apply>
	      </m:apply>
	    </m:set>
 	  </m:math>
	</para>
      </example>

    </section>

    <section id="zplane">
      <name>The Z-Plane</name>

      <para id="graph">
	Once the poles and zeros have been found for a given
	Z-Transform, they can be plotted onto the Z-Plane.  The
	Z-plane is a complex plane with an imaginary and real axis
	referring to the complex-valued variable
	<m:math><m:ci>z</m:ci></m:math>.  The position on the complex
	plane is given by <m:math>
	  <m:apply>
	    <m:times/>
	    <m:ci>r</m:ci>
	    <m:apply>
	      <m:exp/>
	      <m:apply>
		<m:times/>
		<m:imaginaryi/>
		<m:ci>θ</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>	
	</m:math>

	and the angle from the positive, real axis around the plane is
	denoted by <m:math><m:ci>θ</m:ci></m:math>.  When
	mapping poles and zeros onto the plane, poles are denoted by
	an "x" and zeros by an "o".  The below figure shows the
	Z-Plane, and examples of plotting zeros and poles onto the
	plane can be found in the following section.
      </para>

      <figure id="zplanepic">
	<name>Z-Plane</name>
	<media type="image/jpeg" src="zplane.jpg"/>
      </figure>

    </section>

    <section id="examples">
      <name>Examples of Pole/Zero Plots</name>

      <para id="eg_intro">
	This section lists several examples of finding the poles and
	zeros of a transfer function and then plotting them onto the
	Z-Plane.
      </para>
      
      <example id="eg2">
	<name>Simple Pole/Zero Plot</name>
	<para id="eg2-1">
	  <m:math display="block">
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">H</m:ci><m:ci>z</m:ci>
	      </m:apply>
	      <m:apply>
		<m:divide/>
		<m:ci>z</m:ci>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:minus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:cn>1</m:cn>
		      <m:cn>2</m:cn>
		    </m:apply>
		  </m:apply>
		  <m:apply>
		    <m:plus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:cn>3</m:cn>
		      <m:cn>4</m:cn>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
        </para>
	
	<para id="eg2-2">
	  The zeros are: 
	  <m:math>
	    <m:set>
	      <m:cn>0</m:cn>
	    </m:set>
 	  </m:math>
	</para>

	<para id="eg2-3">
	  The poles are: 
	  <m:math>
	    <m:set>
	      <m:apply>
		<m:divide/>
		<m:cn>1</m:cn>
		<m:cn>2</m:cn>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:apply>
		  <m:divide/>
		  <m:cn>3</m:cn>
		  <m:cn>4</m:cn>
		</m:apply>
	      </m:apply>
	    </m:set>
 	  </m:math>
	</para>

	<figure id="pz_eg2">
	  <name>Pole/Zero Plot</name>
	  <media type="image/jpeg" src="zp_eg1.jpg"/>
	  <caption>
	    Using the zeros and poles found from the transfer
	    function, the one zero is mapped to zero and the two poles
	    are placed at
	    <m:math><m:apply><m:divide/><m:cn>1</m:cn><m:cn>2</m:cn></m:apply></m:math>
	    and
	    <m:math><m:apply><m:minus/><m:apply><m:divide/><m:cn>3</m:cn><m:cn>4</m:cn></m:apply></m:apply></m:math>
	  </caption>
        </figure>
      </example>


      <example id="eg3">
	<name>Complex Pole/Zero Plot</name>
	<para id="eg3-1">
	  <m:math display="block">
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">H</m:ci><m:ci>z</m:ci>
	      </m:apply>
	      
	      <m:apply>
		<m:divide/>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:minus/>
		    <m:ci>z</m:ci>
		    <m:imaginaryi/>
		  </m:apply>
		  <m:apply>
		    <m:plus/>
		    <m:ci>z</m:ci>
		    <m:imaginaryi/>
		  </m:apply>		  
		</m:apply>

		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:minus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:apply>			
			<m:divide/>
			<m:cn>1</m:cn>
			<m:cn>2</m:cn>
		      </m:apply>
		      <m:apply>
			<m:times/>
			<m:apply>
			  <m:divide/>
			  <m:cn>1</m:cn>
			  <m:cn>2</m:cn>
			</m:apply>
			<m:imaginaryi/>
		      </m:apply>			  
		    </m:apply>
		  </m:apply>
		  <m:apply>
		    <m:minus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:plus/>
		      <m:apply>
			<m:divide/>
			<m:cn>1</m:cn>
			<m:cn>2</m:cn>				   
		      </m:apply>
		      <m:apply>
			
			<m:times/>
			<m:apply>
			  <m:divide/>
			  <m:cn>1</m:cn>
			  <m:cn>2</m:cn>
			</m:apply>
			<m:imaginaryi/>
			
		      </m:apply>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
        </para>
	

	<para id="eg3-2">
	  The zeros are: 
	  <m:math>
	    <m:set>
	      <m:imaginaryi/>
	      <m:apply>
		<m:minus/>
		<m:imaginaryi/>
	      </m:apply>
	    </m:set>
 	  </m:math>
	</para>

	<para id="eg3-3">
	  The poles are: 
	  <m:math>
	    <m:set>
	      <m:apply><m:minus/><m:cn>1</m:cn></m:apply>
	      <m:apply>
		<m:plus/>
		<m:apply>
		  <m:divide/>
		  <m:cn>1</m:cn>
		  <m:cn>2</m:cn>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:divide/>
		    <m:cn>1</m:cn>
		    <m:cn>2</m:cn>
		  </m:apply>
		  <m:imaginaryi/>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:apply>
		  <m:divide/>
		  <m:cn>1</m:cn>
		  <m:cn>2</m:cn>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:divide/>
		    <m:cn>1</m:cn>
		    <m:cn>2</m:cn>
		  </m:apply>
		  <m:imaginaryi/>
		</m:apply>
	      </m:apply>  
	    </m:set>
 	  </m:math>
	</para>

	<figure id="pz_eg3">
	  <name>Pole/Zero Plot</name>
	  <media type="image/jpeg" src="zp_eg2.jpg"/>
	  <caption>
	    Using the zeros and poles found from the transfer
	    function, the zeros are mapped to
	    <m:math><m:apply><m:ci><m:mo>±</m:mo></m:ci><m:imaginaryi/>
	      </m:apply></m:math>,
	    and the poles are placed at
	    <m:math><m:apply><m:minus/><m:cn>1</m:cn></m:apply></m:math>,
	    <m:math>
	      <m:apply>
		<m:plus/>
		<m:apply>
		  <m:divide/>
		  <m:cn>1</m:cn>
		  <m:cn>2</m:cn>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:divide/>
		    <m:cn>1</m:cn>
		    <m:cn>2</m:cn>
		  </m:apply>
		  <m:imaginaryi/>
		</m:apply>
	      </m:apply>
	    </m:math>

	    and 
	    <m:math>
	      <m:apply>
		<m:minus/>
		<m:apply>
		  <m:divide/>
		  <m:cn>1</m:cn>
		  <m:cn>2</m:cn>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:divide/>
		    <m:cn>1</m:cn>
		    <m:cn>2</m:cn>
		  </m:apply>
		  <m:imaginaryi/>
		</m:apply>
	      </m:apply>
	    </m:math>
	  </caption>
	</figure>

      </example>

      <para id="pz_matlab">
	<emphasis>MATLAB</emphasis> - If access to MATLAB is readily
	available, then you can use its functions to easily create
	pole/zero plots.  Below is a short program that plots the
	poles and zeros from the above example onto the Z-Plane.
      </para>

      <code type="block" id="pzplot">
	<![CDATA[
	% Set up vector for zeros
	z = [j ; -j];

	% Set up vector for poles
	p = [-1 ; .5+.5j ; .5-.5j];

	figure(1);
	zplane(z,p);
	title('Pole/Zero Plot for Complex Pole/Zero Plot Example');
	]]>
      </code>
    </section>


    <section id="roc">
      <name>Pole/Zero Plot and Region of Convergence</name>
      
      <para id="roc_intro">
	The region of convergence (ROC) for <m:math><m:apply><m:ci type="fn">X</m:ci><m:ci>z</m:ci></m:apply></m:math> in the
	complex Z-plane can be determined from the pole/zero plot.
	Although several regions of convergence may be possible, where
	each one corresponds to a different impulse response, there
	are some choices that are more practical.  A ROC can be chosen
	to make the transfer function causal and/or stable depending
	on the pole/zero plot.

	<list id="roc_l">
  	  <name>Filter Properties from ROC</name>
  	  <item>
	  If the ROC extends outward from the outermost pole, then the
	  system is <term>causal</term>.</item>
  	  <item>
	  If the ROC includes the unit circle, then the system is
	  <term>stable</term>.</item>
	</list>

	Below is a pole/zero plot with a possible ROC of the
	Z-transform in the <cnxn target="eg2" strength="8">Simple
	Pole/Zero Plot</cnxn> discussed earlier.  The shaded region
	indicates the ROC chosen for the filter.  From this figure, we
	can see that the filter will be both causal and stable since
	the above listed conditions are both met.
      </para>

      <example id="eg_roc">
	<para id="egroc">
	  <m:math display="block">
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">H</m:ci><m:ci>z</m:ci>
	      </m:apply>
	      <m:apply>
		<m:divide/>
		<m:ci>z</m:ci>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:minus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:cn>1</m:cn>
		      <m:cn>2</m:cn>
		    </m:apply>
		  </m:apply>
		  <m:apply>
		    <m:plus/>
		    <m:ci>z</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:cn>3</m:cn>
		      <m:cn>4</m:cn>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
	</para>
	
	<figure id="pz_roc">
	  <name>Region of Convergence for the Pole/Zero Plot</name>
	  <media type="image/jpeg" src="zp_roc.jpg"/>
	  <caption>
	    The shaded area represents the chosen ROC for the transfer
	    function.
	  </caption>
        </figure>

      </example>

    </section>

    <section id="freq">
      <name>Frequency Response and the Z-Plane</name>

      <para id="zp_freq">
	The reason it is helpful to understand and create these
	pole/zero plots is due to their ability to help us easily
	design a filter.  Based on the location of the poles and
	zeros, the magnitude response of the filter can be quickly
	understood.  Also, by starting with the pole/zero plot, one
	can design a filter and obtain its transfer function very
	easily.  Refer to this <cnxn document="m10548" strength="9">module</cnxn> for information on the relationship
	between the pole/zero plot and the frequency response.
      </para>

    </section>

  </content>  
</document>
