<?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="upsampling">

  <name>Upsampling</name>

  <metadata>
  <md:version>2.15</md:version>
  <md:created>2001/11/19</md:created>
  <md:revised>2005/10/18 16:23:13.190 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="schniter">
      <md:firstname>Phil</md:firstname>
      
      <md:surname>Schniter</md:surname>
      <md:email>schniter@ee.eng.ohio-state.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="jago">
      <md:firstname>Adan</md:firstname>
      
      <md:surname>Galvan</md:surname>
      <md:email>jago@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="emaloney">
      <md:firstname>Erin</md:firstname>
      
      <md:surname>Maloney</md:surname>
      <md:email>emaloney@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="schniter">
      <md:firstname>Phil</md:firstname>
      
      <md:surname>Schniter</md:surname>
      <md:email>schniter@ee.eng.ohio-state.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>interpolation</md:keyword>
    <md:keyword>upsampler</md:keyword>
    <md:keyword>upsampling</md:keyword>
  </md:keywordlist>

  <md:abstract>(Blank Abstract)</md:abstract>
</metadata>

  <content>
    <section id="sec1">
      <name>Upsampling</name>
      <para id="para1">
	The operation of <term>upsampling</term> by factor
	<m:math>
	  <m:apply>
	    <m:in/>
	    <m:ci>L</m:ci>
	    <m:naturalnumbers/>
	  </m:apply>
	</m:math>
	describes the insertion of 
	<m:math>
	  <m:apply>
	    <m:minus/>
	    <m:ci>L</m:ci>
	    <m:cn>1</m:cn>
	  </m:apply>
	</m:math>
	zeros between every sample of the input signal. This is
	denoted by
	"<m:math>
	  <m:apply>
	    <m:ci><m:mo>↑</m:mo></m:ci>
	    <m:ci>L</m:ci>
	  </m:apply>
	</m:math>" in block diagrams, as in <cnxn target="figure1" strength="9"/>.

      </para>

      <figure id="figure1">
	<media type="image/png" src="m10403fig1.png"/>
      </figure>

      <para id="para2">
	Formally, upsampling can be expressed in the time domain as

	<m:math display="block">
	  <m:apply>
	    <m:eq/> 
	    <m:apply>
	      <m:ci type="fn" class="discrete">y</m:ci>
	      <m:ci>n</m:ci>
	    </m:apply>
	    <m:piecewise>
	      <m:piece>
		<m:apply>
		  <m:ci type="fn" class="discrete">x</m:ci>
		  <m:apply>
		    <m:divide/>
		    <m:ci>n</m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:apply>

		<m:apply>
		  <m:in/>
		  <m:apply>
		    <m:divide/>
		    <m:ci>n</m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		  <m:integers/>
		</m:apply>
	      </m:piece>
	      <m:otherwise>
		<m:cn>0</m:cn>
	      </m:otherwise>
	    </m:piecewise>
	  </m:apply>
	</m:math>

	In the <m:math><m:ci>z</m:ci></m:math>-domain,

	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn">Y</m:ci>
	      <m:ci>z</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:sum/>
	      <m:domainofapplication>
		<m:ci>n</m:ci>
	      </m:domainofapplication>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn" class="discrete">y</m:ci>
		  <m:ci>n</m:ci>
		</m:apply>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:apply>
		    <m:minus/>
		    <m:ci>n</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	    <m:apply>
	      <m:sum/>
	      <m:domainofapplication><m:ci>n</m:ci></m:domainofapplication>
	      <m:condition>
		<m:apply>
		  <m:in/>
		  <m:apply>
		    <m:divide/>
		    <m:ci>n</m:ci><m:ci>L</m:ci>
		  </m:apply>
		  <m:integers/>
		</m:apply>
	      </m:condition>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn" class="discrete">x</m:ci>
		  <m:apply>
		    <m:divide/>
		    <m:ci>n</m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:apply>
		    <m:minus/>
		    <m:ci>n</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>

	    <m:apply>
	      <m:sum/>
	      <m:domainofapplication>
		<m:ci>k</m:ci>
	      </m:domainofapplication>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn" class="discrete">x</m:ci>
		  <m:ci>k</m:ci>
		</m:apply>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:apply>
		    <m:times/>
		    <m:apply>
		      <m:minus/>
		      <m:ci>k</m:ci>
		    </m:apply>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>

	    <m:apply>
	      <m:ci type="fn">X</m:ci>
	      <m:apply>
		<m:power/>
		<m:ci>z</m:ci>
		<m:ci>L</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
	
	and substituting 
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:ci>z</m:ci>
	    <m:apply>
	      <m:exp/>
	      <m:apply>
		<m:times/>
		<m:imaginaryi/>
		<m:ci>ω</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>

	for the DTFT,

	<equation id="eq1">
	  <m:math>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn">Y</m:ci>
		<m:apply>
		  <m:exp/>
		  <m:apply>
		    <m:times/>
		    <m:imaginaryi/>
		    <m:ci>ω</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:ci type="fn">X</m:ci>
		<m:apply>
		  <m:exp/>
		  <m:apply>
		    <m:times/>
		    <m:imaginaryi/>
		    <m:ci>ω</m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
	</equation>

	As shown in <cnxn target="figure2" strength="9"/>, upsampling
	compresses the DTFT by a factor of
	<m:math><m:ci>L</m:ci></m:math> along with the
	<m:math><m:ci>ω</m:ci></m:math> axis.
      </para>

      <figure id="figure2">
	<media type="image/png" src="m10403fig2.png"/>
      </figure>
     
    </section> 

  </content>
</document>
