<?xml version="1.0" encoding="utf-8"?>
<document xmlns="http://cnx.rice.edu/cnxml" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" xmlns:q="http://cnx.rice.edu/qml/1.0" id="m10059" module-id="" cnxml-version="0.6">
  
  <title>The Impulse Function</title>
  
  <metadata xmlns:md="http://cnx.rice.edu/mdml/0.4">
  <!-- WARNING! The 'metadata' section is read only. Do not edit below.
       Changes to the metadata section in the source will not be saved. -->
  <md:content-id>m10059</md:content-id>
  <md:title>The Impulse Function</md:title>
  <md:version>2.20</md:version>
  <md:created>2001/06/08</md:created>
  <md:revised>2009/09/28 15:59:31.582 GMT-5</md:revised>
  <md:authorlist>
    <md:author id="mselik">
        <md:firstname>Melissa</md:firstname>
        <md:surname>Selik</md:surname>
        <md:fullname>Melissa Selik</md:fullname>
        <md:email>mselik@alumni.rice.edu</md:email>
    </md:author>
    <md:author id="richb">
        <md:firstname>Richard</md:firstname>
        <md:othername>G.</md:othername>
        <md:surname>Baraniuk</md:surname>
        <md:fullname>Richard Baraniuk</md:fullname>
        <md:email>richb@rice.edu</md:email>
    </md:author>
  </md:authorlist>
  <md:maintainerlist>
    <md:maintainer id="mselik">
        <md:firstname>Melissa</md:firstname>
        <md:surname>Selik</md:surname>
        <md:fullname>Melissa Selik</md:fullname>
        <md:email>mselik@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="richb">
        <md:firstname>Richard</md:firstname>
        <md:othername>G.</md:othername>
        <md:surname>Baraniuk</md:surname>
        <md:fullname>Richard Baraniuk</md:fullname>
        <md:email>richb@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="jrom">
        <md:firstname>Justin</md:firstname>
        <md:surname>Romberg</md:surname>
        <md:fullname>Justin Romberg</md:fullname>
        <md:email>jrom@ece.gatech.edu</md:email>
    </md:maintainer>
    <md:maintainer id="rars">
        <md:firstname>Ricardo</md:firstname>
        <md:othername>Anthony</md:othername>
        <md:surname>Radaelli-Sanchez</md:surname>
        <md:fullname>Ricardo Radaelli-Sanchez</md:fullname>
        <md:email>ricky@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="mariyah">
        <md:firstname>Mariyah</md:firstname>
        <md:surname>Poonawala</md:surname>
        <md:fullname>Mariyah Poonawala</md:fullname>
        <md:email>mariyah@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="prash">
        <md:firstname>Prashant</md:firstname>
        <md:surname>Singh</md:surname>
        <md:fullname>Prashant Singh</md:fullname>
        <md:email>prash@ece.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="mhutch">
        <md:firstname>Matthew</md:firstname>
        <md:surname>Hutchinson</md:surname>
        <md:fullname>Matthew Hutchinson</md:fullname>
        <md:email>mhutch@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  <md:license href="http://creativecommons.org/licenses/by/1.0"/>
  <md:licensorlist>
    <md:licensor id="mselik">
        <md:firstname>Melissa</md:firstname>
        <md:surname>Selik</md:surname>
        <md:fullname>Melissa Selik</md:fullname>
        <md:email>mselik@alumni.rice.edu</md:email>
    </md:licensor>
    <md:licensor id="richb">
        <md:firstname>Richard</md:firstname>
        <md:othername>G.</md:othername>
        <md:surname>Baraniuk</md:surname>
        <md:fullname>Richard Baraniuk</md:fullname>
        <md:email>richb@rice.edu</md:email>
    </md:licensor>
    <md:licensor id="ablair">
        <md:firstname>Adam</md:firstname>
        <md:surname>Blair</md:surname>
        <md:fullname>Adam Blair</md:fullname>
        <md:email>ablair@alumni.rice.edu</md:email>
    </md:licensor>
  </md:licensorlist>
  <md:keywordlist>
    <md:keyword>dirac delta function</md:keyword>
    <md:keyword>impulse</md:keyword>
    <md:keyword>sifting property</md:keyword>
    <md:keyword>signals</md:keyword>
  </md:keywordlist>
  <md:subjectlist>
    <md:subject>Science and Technology</md:subject>
  </md:subjectlist>
  <md:abstract>Explains the use of the unit impulse function.</md:abstract>
  <md:language>en</md:language>
  <!-- WARNING! The 'metadata' section is read only. Do not edit above.
       Changes to the metadata section in the source will not be saved. -->
</metadata>
<featured-links>
  <!-- WARNING! The 'featured-links' section is read only. Do not edit below.
       Changes to the links section in the source will not be saved. -->
    <link-group type="supplemental">
      <link url="http://cnx.rice.edu/content/m10087/latest/" strength="2">Discrete-Time Convolution</link>
      <link url="http://cnx.rice.edu/content/m10085/latest/" strength="2">Continuous-Time Convolution</link>
    </link-group>
    <link-group type="prerequisite">
      <link url="http://cnx.rice.edu/content/m0009/latest/" strength="2">Discrete-Time Signals</link>
    </link-group>
  <!-- WARNING! The 'featured-links' section is read only. Do not edit above.
       Changes to the links section in the source will not be saved. -->
</featured-links>
<content>
    <para id="para1">
      In engineering, we often deal with the idea of an action
      occurring at a point.  Whether it be a force at a point in space
      or a signal at a point in time, it becomes worth while to
      develop some way of quantitatively defining this.  This leads us
      to the idea of a unit impulse, probably the second most
      important function, next to the <link document="m10060" strength="3">complex exponential</link>, in systems and signals
      course.
    </para>

    <section id="sect1">
      <title>Dirac Delta Function</title>
      <para id="para2">
	The <term>Dirac Delta function</term>, often referred to as
	the unit impulse or delta function, is the function that
	defines the idea of a unit impulse.  This function is one that
	is infinitesimally narrow, infinitely tall, yet integrates to
	<term>unity</term>, one (see <link target-id="eq_un" strength="3"/> below).  Perhaps the simplest way to visualize
	this is as a rectangular pulse from
	<m:math display="inline">
	  <m:apply>
	    <m:minus/>
	    <m:ci>a</m:ci>
	    <m:apply>
	      <m:divide/>
	      <m:ci>ε</m:ci>
	      <m:cn>2</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>
	to
	<m:math display="inline">
	  <m:apply>
	    <m:plus/>
	    <m:ci>a</m:ci>
	    <m:apply>
	      <m:divide/>
	      <m:ci>ε</m:ci>
	      <m:cn>2</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>
	with a height of
	<m:math display="inline">
	  <m:apply>
	    <m:divide/>
	    <m:cn>1</m:cn>
	    <m:ci>ε</m:ci>
	  </m:apply>
	</m:math>.
	As we take the limit of this, 
	<m:math display="inline">
	  <m:apply>
	    <m:limit/>
	    <m:bvar>
	      <m:ci>ε</m:ci>
	    </m:bvar>
	    <m:lowlimit>
	      <m:cn>0</m:cn>
	    </m:lowlimit>
	  </m:apply>
	</m:math>, we see that the width tends to zero and the height
	tends to infinity as the total area remains constant at one.
	The impulse function is often written as 
	<m:math>
	  <m:apply>
	    <m:ci type="fn">δ</m:ci><m:ci>t</m:ci>
	  </m:apply>
	</m:math>.
      </para>

      <equation id="eq_un">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:int/>
	      <m:bvar>
		<m:ci>t</m:ci>
	      </m:bvar>
	      <m:lowlimit>
		<m:apply>
		  <m:minus/>
		  <m:infinity/>
		</m:apply>
	      </m:lowlimit>
	      <m:uplimit>
		<m:infinity/>
	      </m:uplimit>
	      <m:apply>
		<m:ci type="fn">δ</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	    </m:apply>
	    <m:apply>
	      <m:cn>1</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>

      <figure id="fig1">
	<media id="id3946527" alt=""><image src="impulsefunc1.png" mime-type="image/png"/></media>
	<caption>
	  This is one way to visualize the Dirac Delta Function.
	</caption>
      </figure>

      <figure id="fig2">
	<media id="id3990867" alt=""><image src="impulsefunc2.png" mime-type="image/png"/></media>
	<caption>
	  Since it is quite difficult to draw something that is
	  infinitely tall, we represent the Dirac with an arrow
	  centered at the point it is applied.  If we wish to scale
	  it, we may write the value it is scaled by next to the point
	  of the arrow.  This is a unit impulse (no
	  scaling).
	</caption>
      </figure>

<para id="element-488"><media id="id15961758" alt=""><labview src="ImpulseFunction.llb" viname="Impulse Function.vi" version="8.0" mime-type="application/x-labviewrpvi80" height="472" width="577"><param name="lvfppviname" value="Impulse Function.vi"/></labview></media>
</para>
      
      <section id="sifting">
	<title>The Sifting Property of the Impulse</title>
	<para id="para3">
	  The first step to understanding what this unit impulse
	  function gives us is to examine what happens when we multiply
	  another function by it.
	  <equation id="eqn1">
	    <m:math display="display">
	      <m:apply>
		<m:eq/>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:ci type="fn">f</m:ci>
		    <m:ci>t</m:ci>
		  </m:apply>
		  <m:apply>
		    <m:ci type="fn">δ</m:ci>
		    <m:ci>t</m:ci>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:ci type="fn">f</m:ci>
		    <m:cn>0</m:cn>
		  </m:apply>
		  <m:apply>
		    <m:ci type="fn">δ</m:ci>
		    <m:ci>t</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:math>
	  </equation>
	  Since the impulse function is zero everywhere except the
	  origin, we essentially just "pick off" the value of the
	  function we are multiplying by evaluated at zero.
	</para>
	<para id="para4">
	  At first glance this may not appear to give use much, since we
	  already know that the impulse evaluated at zero is infinity,
	  and anything times infinity is infinity.  However, what
	  happens if we integrate this?  

	  <equation id="eqn2">
	    <title>Sifting Property</title>
	    <m:math display="display">
	      <m:apply>
		<m:eq/>
		<m:apply>
		  <m:int/>
		  <m:bvar>
		    <m:ci>t</m:ci>
		  </m:bvar>
		  <m:lowlimit>
		    <m:apply>
		      <m:minus/>
		      <m:infinity/>
		    </m:apply>
		  </m:lowlimit>
		  <m:uplimit>
		    <m:infinity/>
		  </m:uplimit>
		  <m:apply>
		    <m:times/>
		    <m:apply>
		      <m:ci type="fn">f</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		    <m:apply>
		      <m:ci type="fn">δ</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:int/>
		  <m:bvar>
		    <m:ci>t</m:ci>
		  </m:bvar>
		  <m:lowlimit>
		    <m:apply>
		      <m:minus/>
		      <m:infinity/>
		    </m:apply>
		  </m:lowlimit>
		  <m:uplimit>
		    <m:infinity/>
		  </m:uplimit>
		  <m:apply>
		    <m:times/>
		    <m:apply>
		      <m:ci type="fn">f</m:ci>
		      <m:cn>0</m:cn>
		    </m:apply>
		    <m:apply>
		      <m:ci type="fn">δ</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:ci type="fn">f</m:ci>
		    <m:cn>0</m:cn>
		  </m:apply>
		  <m:apply>
		    <m:int/>
		    <m:bvar>
		      <m:ci>t</m:ci>
		    </m:bvar>
		    <m:lowlimit>
		      <m:apply>
			<m:minus/>
			<m:infinity/>
		      </m:apply>
		    </m:lowlimit>
		    <m:uplimit>
		      <m:infinity/>
		    </m:uplimit>
		    <m:apply>
		      <m:ci type="fn">δ</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">f</m:ci>
		  <m:cn>0</m:cn>
		</m:apply>
	      </m:apply>
	    </m:math>
	  </equation>
	  It quickly becomes apparent that what we end up with is simply
	  the function evaluated at zero.  Had we used
	  <m:math display="inline">
	    <m:apply>
	      <m:ci type="fn">δ</m:ci>
	      <m:apply>
		<m:minus/>
		<m:ci>t</m:ci>
		<m:ci>T</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:math>
	  instead of 
	  <m:math display="inline">
	    <m:apply>
	      <m:ci type="fn">δ</m:ci>
	      <m:ci>t</m:ci>
	    </m:apply>
	  </m:math>,
	  we could have "sifted out"
	  <m:math>
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:ci>T</m:ci>
	    </m:apply>
	  </m:math>.  This is what we call the <term>Sifting
	    Property</term> of the Dirac function, which is often used
	  to define the unit impulse.  
	</para>
	<para id="p23">
	  The Sifting Property is very useful in developing the idea
	  of <link document="m10085" strength="2">convolution</link>
	  which is one of the fundamental principles of signal
	  processing.  By using convolution and the sifting property
	  we can represent an approximation of any system's output if
	  we know the system's impulse response and input.  Click on
	  the convolution link above for more information on this.
	</para>
      </section>

      <section id="oth_props">
	<title>Other Impulse Properties</title>
	<para id="p1_oth">
	  Below we will briefly list a few of the other properties of
	  the unit impulse without going into detail of their proofs -
	  we will leave that up to you to verify as most are
	  straightforward.  Note that these properties hold for
	  continuous <emphasis>and</emphasis> discrete time.

	  <list id="props">
	    <title>Unit Impulse Properties</title>
	    <item>
	      <m:math>
		<m:apply>
		  <m:eq/>
		  <m:apply>
		    <m:ci type="fn">δ</m:ci>
		    <m:apply>
		      <m:times/>
		      <m:ci>α</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		  <m:apply>
		    <m:times/>
		    <m:apply>
		      <m:divide/>
		      <m:cn>1</m:cn>
		      <m:apply>
			<m:abs/>
			<m:ci>α</m:ci>
		      </m:apply>
		    </m:apply>
		    <m:apply>
		      <m:ci type="fn">δ</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:math>
	    </item>
	
	    <item>
	      <m:math>
		<m:apply>
		  <m:eq/>
		  <m:apply>
		    <m:ci type="fn">δ</m:ci>
		    <m:ci>t</m:ci>
		  </m:apply>
		  <m:apply>
		    <m:ci type="fn">δ</m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:math>
	    </item>

	    <item>
	      <m:math>
		<m:apply>
		  <m:eq/>
		  <m:apply>
		    <m:ci type="fn">δ</m:ci>
		    <m:ci>t</m:ci>
		  </m:apply>
		  <m:apply>
		    <m:diff/>
		    <m:bvar>
		      <m:ci>t</m:ci>
		    </m:bvar>
		    <m:apply>
		      <m:ci type="fn">u</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:math>, where  
	      <m:math><m:apply>
		  <m:ci type="fn">u</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:math> is the unit step.
	    </item>

	  </list>	  
	</para>
      </section>

    </section>


    <section id="sect3">
      <title>Discrete-Time Impulse (Unit Sample)</title>
      <para id="para5">
	The extension of the Unit Impulse Function to discrete-time
	becomes quite trivial.  All we really need to realize is that
	integration in continuous-time equates to summation in
	discrete-time.  Therefore, we are looking for a signal that
	sums to zero and is zero everywhere except at zero.  
	
	<equation id="eqn3">
	  <title>Discrete-Time Impulse</title>
	  <m:math display="display">
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn" class="discrete">δ</m:ci>
		<m:ci>n</m:ci>
	      </m:apply>
	      <m:piecewise>
		<m:piece>
		  <m:cn>1</m:cn>
		  <m:apply>
		    <m:eq/>
		    <m:ci>n</m:ci>
		    <m:cn>0</m:cn>
		  </m:apply>
		</m:piece>
		<m:otherwise>
		  <m:cn>0</m:cn>
		</m:otherwise>
	      </m:piecewise>
	    </m:apply>
	  </m:math>
	</equation>
      </para>

      <figure id="fig3">
	<media id="id15938361" alt=""><image src="impulsefunc3.png" mime-type="image/png"/></media>
	<caption>The graphical representation of the discrete-time impulse
	  function</caption>
      </figure>
      
      <para id="p2_dis">
	Looking at the discrete-time plot of any discrete signal one can
	notice that all discrete signals are composed of a set of
	scaled, time-shifted unit samples.  If we let the value of a
	sequence at each integer <m:math><m:ci>k</m:ci>
	</m:math> be denoted by 
	<m:math>
	  <m:apply>
	    <m:ci type="fn" class="discrete">s</m:ci><m:ci>k</m:ci>
	  </m:apply>
	</m:math> and the unit sample delayed that occurs at
	<m:math><m:ci>k</m:ci> </m:math> to be written as
	<m:math>
	  <m:apply>
	    <m:ci type="fn" class="discrete">δ</m:ci>
	    <m:apply>
	      <m:minus/>
	      <m:ci>n</m:ci><m:ci>k</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>, we can write any signal as the sum of delayed unit
	samples that are scaled by the signal value, or weighted
	coefficients.

	<equation id="eq2_dis">
	  <m:math>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn" class="discrete">s</m:ci><m:ci>n</m:ci>
	      </m:apply>
	      <m:apply>
		<m:sum/>
		<m:bvar>
		  <m:ci>k</m:ci>
		</m:bvar>
		<m:lowlimit>
		  <m:apply>
		    <m:minus/>
		    <m:infinity/>
		  </m:apply>
		</m:lowlimit>
		<m:uplimit>
		  <m:infinity/>
		</m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:ci type="fn" class="discrete">s</m:ci><m:ci>k</m:ci>
		  </m:apply>
		  <m:apply>
		    <m:ci type="fn" class="discrete">δ</m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:ci>n</m:ci><m:ci>k</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
	</equation>

	This decomposition is strictly a property of discrete-time
	signals and proves to be a very useful property.

	<note id="id12005505" type="note">
	  Through the above reasoning, we have formed <link target-id="eq2_dis" strength="3"/>, which is the fundamental
	  concept of <link document="m10087" strength="3">discrete-time convolution</link>.
	</note>

      </para>
    </section>

    <section id="imp_resp">
      <title>The Impulse Response</title>
      <para id="p1_ir">The <term>impulse response</term> is exactly what its name
	implies - the response of an LTI system, such as a filter,
	when the system's input is the unit impulse (or unit sample).
	A system can be completed described by its impulse response due
	to the idea mentioned above that all signals can be
	represented by a superposition of signals.  An impulse
	response gives an equivalent description of a system as a
	<link document="m0028" strength="3">transfer function</link>,
	since they are <link document="m10110" strength="2">Laplace
	Transforms</link> of each other.
          
      <note id="id15969855" type="notation"><label>Notation</label>
	Most texts use <m:math><m:apply><m:ci type="fn">δ</m:ci><m:ci>t</m:ci> </m:apply></m:math> and
	  <m:math><m:apply><m:ci type="fn" class="discrete">δ</m:ci><m:ci>n</m:ci></m:apply></m:math>
	  to denote the continuous-time and discrete-time impulse
	  response, respectively.
      </note>
      </para>
    </section>

  </content>
</document>

