<?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:m="http://www.w3.org/1998/Math/MathML" xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:bib="http://bibtexml.sf.net/" id="m10125">
  
  <name>Signal Operations</name>

  <metadata>
  <md:version>2.8</md:version>
  <md:created>2001/06/21</md:created>
  <md:revised>2007/07/19 08:45:16.539 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="richb">
      <md:firstname>Richard</md:firstname>
      <md:othername>G.</md:othername>
      <md:surname>Baraniuk</md:surname>
      <md:email>richb@rice.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="richb">
      <md:firstname>Richard</md:firstname>
      <md:othername>G.</md:othername>
      <md:surname>Baraniuk</md:surname>
      <md:email>richb@rice.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:email>ricky@alumni.rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="jrom">
      <md:firstname>Justin</md:firstname>
      
      <md:surname>Romberg</md:surname>
      <md:email>jrom@ece.gatech.edu</md:email>
    </md:maintainer>
    <md:maintainer id="mjhaag">
      <md:firstname>Michael</md:firstname>
      
      <md:surname>Haag</md:surname>
      <md:email>mjhaag@gmail.com</md:email>
    </md:maintainer>
    <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:maintainer id="mhutch">
      <md:firstname>Matthew</md:firstname>
      
      <md:surname>Hutchinson</md:surname>
      <md:email>mhutch@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>signals</md:keyword>
    <md:keyword>time reversal</md:keyword>
    <md:keyword>time scaling</md:keyword>
    <md:keyword>time shifting</md:keyword>
  </md:keywordlist>

  <md:abstract>This module will look at two signal operations, time shifting
and time scaling.  Signal operations are operations on the time
variable of the signal.  These operations are very common
components to real-world systems and, as such, should be
understood thoroughly when learning about signals and systems.</md:abstract>
</metadata>

  <content>
    <para id="p1">
      This module will look at two signal operations, time shifting
      and time scaling.  Signal operations are operations on the time
      variable of the signal.  These operations are very common
      components to real-world systems and, as such, should be
      understood thoroughly when learning about signals and systems.
    </para>
    
    <section id="sec1">
      <name>Time Shifting</name>
      <para id="p2">
	Time shifting is, as the name suggests, the shifting of a
	signal in time.  This is done by adding or subtracting the
	amount of the shift to the time variable in the function.
	Subtracting a fixed amount from the time variable will shift
	the signal to the right (delay) that amount, while adding to
	the time variable will shift the signal to the left (advance).
      </para>
      <figure id="fig1" orient="vertical">
	<media type="image/png" src="sigops1.png"/>
	<caption>
	  <m:math display="inline">
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:apply>
		<m:minus/>
		<m:ci>t</m:ci>
		<m:ci>T</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:math>
	  moves (delays) 
	  <m:math display="inline">
	    <m:ci>f</m:ci>
	  </m:math> 
	  to the right by 
	  <m:math display="inline">
	    <m:ci>T</m:ci>
	  </m:math>.
	</caption>
      </figure>
    </section>

    <section id="sec2">
      <name>Time Scaling</name>
      <para id="p3">
	Time scaling compresses and dilates a signal by multiplying
	the time variable by some amount.  If that amount is greater
	than one, the signal becomes narrower and the operation is
	called compression, while if the amount is less than one, the
	signal becomes wider and is called dilation.  It often takes
	people quite a while to get comfortable with these operations,
	as people's intuition is often for the multiplication by an
	amount greater than one to dilate and less than one to
	compress.
      </para>

      <figure id="fig2" orient="vertical">
	<media type="image/png" src="sigops2.png"/>
	<caption>
	  <m:math display="inline">
	    <m:apply>
	      <m:ci type="fn">f</m:ci>
	      <m:apply>
		<m:times/>
		<m:ci>a</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:math>
	  compresses 
	  <m:math display="inline"> 
	    <m:ci>f</m:ci> 
	  </m:math> by 
	  <m:math display="inline"> 
	    <m:ci>a</m:ci> 
	  </m:math>.
	</caption>
      </figure>
    </section>

    <example id="exam1">
      <para id="p4">
	Actually plotting shifted and scaled signals can be quite
	counter-intuitive.  This example will show a fool-proof way to
	practice this until your proper intuition is developed.
      </para>
      <para id="p5">
	Given 
	<m:math display="inline">
	  <m:apply>
	    <m:ci type="fn">f</m:ci>
	    <m:ci>t</m:ci>
	  </m:apply>
	</m:math>
	, plot
	<m:math display="inline">
	  <m:apply>
	    <m:ci type="fn">f</m:ci>
	    <m:apply>
	      <m:minus/>
	      <m:apply>
		<m:times/>
		<m:ci>a</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>.
      </para>
      <figure id="fig3" orient="horizontal">
	<subfigure id="fig4">
	  <media type="image/png" src="sigops4.png"/>
	  <caption>Begin with
	    <m:math display="inline">
	      <m:apply>
		<m:ci type="fn">f</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	    </m:math>
	  </caption>
	</subfigure>
	<subfigure id="fig5">
	  <media type="image/png" src="sigops5.png"/>
	  <caption>Then replace
	    <m:math display="inline">
	      <m:ci>t</m:ci>
	    </m:math>
	    with
	    <m:math display="inline">
	      <m:apply>
		<m:times/>
		<m:ci>a</m:ci>
		<m:ci>t</m:ci>
	      </m:apply>
	    </m:math>
	    to get
	    <m:math display="inline">
	      <m:apply>
		<m:ci type="fn">f</m:ci>
		<m:apply>
		  <m:times/>
		  <m:ci>a</m:ci>
		  <m:ci>t</m:ci>
		</m:apply>
	      </m:apply>
	    </m:math>
	  </caption>
	</subfigure>
	<subfigure id="fig6">
	  <media type="image/png" src="sigops6.png"/>
	  <caption>Finally, replace
	    <m:math display="inline">
	      <m:ci>t</m:ci>
	    </m:math>
	    with
	    <m:math display="inline">
	      <m:apply>
		<m:minus/>
		<m:ci>t</m:ci>
		<m:apply>
		  <m:divide/>
		  <m:ci>b</m:ci>
		  <m:ci>a</m:ci>
		</m:apply>
	      </m:apply>
	    </m:math>
	    to get
	    <m:math display="inline">
	      <m:apply>
		<m:eq/>
		<m:apply>
		  <m:ci type="fn">f</m:ci>
		  <m:apply>
		    <m:times/>
		    <m:ci>a</m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:ci>t</m:ci>
		      <m:apply>
			<m:divide/>
			<m:ci>b</m:ci>
			<m:ci>a</m:ci>
		      </m:apply>
		    </m:apply>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">f</m:ci>
		  <m:apply>
		    <m:minus/>
		    <m:apply>
		      <m:times/>
		      <m:ci>a</m:ci>
		      <m:ci>t</m:ci>
		    </m:apply>
		    <m:ci>b</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:math>
	  </caption>
	</subfigure>
      </figure>
    </example>

    <section id="sec4">
      <name>Time Reversal</name>
      <para id="p7">
	A natural question to consider when learning about time
	scaling is: What happens when the time variable is multiplied
	by a negative number?  The answer to this is time reversal.
	This operation is the reversal of the time axis, or flipping
	the signal over the y-axis.
      </para>
      <figure id="fig7">
	<media type="image/png" src="sigops3.png"/>
	<caption>Reverse the time axis</caption>
      </figure><para id="element-302"><media type="application/x-labviewrpvi80" src="TDSignalOps.llb">
		<param name="lvfppviname" value="TD Signal Ops.vi"/>
		<param name="width" value="760"/>
		<param name="height" value="455"/>
	</media></para>



    </section>
  </content>
</document>
