<?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="None">
  <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Multistage Multirate Systems</name>
  <metadata xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
  <md:version xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">1.1</md:version>
  <md:created xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2005/02/01 15:37:37 US/Central</md:created>
  <md:revised xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">2005/05/24 14:41:19 GMT-5</md:revised>
  <md:authorlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
      <md:author xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="dljones">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Douglas</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">L.</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Jones</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">dl-jones@uiuc.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="dljones">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Douglas</md:firstname>
      <md:othername xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">L.</md:othername>
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Jones</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">dl-jones@uiuc.edu</md:email>
    </md:maintainer>
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="charlet">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Charlet</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Reedstrom</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">charlet@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" id="kclarks">
      <md:firstname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Kyle</md:firstname>
      
      <md:surname xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Clarkson</md:surname>
      <md:email xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">kclarks@rice.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <md:keyword xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Multirate signal processing</md:keyword>
  </md:keywordlist>

  <md:abstract xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/"/>
</metadata>

  <content xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
    <para 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="para1">
      Multistage multirate systems are often more efficient.  Suppose
    one wishes to decimate a signal by an integer factor
    <m:math><m:ci>M</m:ci></m:math>, where
    <m:math><m:ci>M</m:ci></m:math> is a composite integer 
      <m:math>
	<m:apply>
	  <m:eq/>
	  <m:ci>M</m:ci>
	  <m:apply>
	    <m:times/>
	    <m:ci><m:msub>
		<m:mi>M</m:mi>
		<m:mn>1</m:mn>
	      </m:msub></m:ci>
	    <m:ci><m:msub>
		<m:mi>M</m:mi>
		<m:mn>2</m:mn>
	      </m:msub></m:ci>
	    <m:ci>…</m:ci>
	    <m:ci><m:msub>
		<m:mi>M</m:mi>
		<m:mi>p</m:mi>
	      </m:msub></m:ci>
	  </m:apply>
	  <m:apply>
	    <m:product/>
	    <m:bvar><m:ci>i</m:ci></m:bvar>
	    <m:lowlimit><m:cn>1</m:cn></m:lowlimit>
	    <m:uplimit><m:ci>p</m:ci></m:uplimit>
	    <m:ci><m:msub>
		<m:mi>M</m:mi>
		<m:mi>i</m:mi>
	      </m:msub></m:ci>
	  </m:apply>
	</m:apply>
      </m:math>.  A decimator can be implemented in a multistage
      fashion by first decimating by a factor
      <m:math>
	<m:ci><m:msub>
	    <m:mi>M</m:mi>
	    <m:mn>1</m:mn>
	  </m:msub></m:ci>
      </m:math>
      , then decimating this signal by a factor 
      <m:math>
	<m:ci><m:msub>
	    <m:mi>M</m:mi>
	    <m:mn>2</m:mn>
	  </m:msub></m:ci>
      </m:math>
      , <foreign xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">etc.</foreign> (<cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="fig1"/>)

      <figure 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="fig1">
	<name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Multistage decimator</name>
	<media xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="image/png" src="imag001.png"/>
      </figure>
     
      Multistage implementations are of significant practical interest
      only if they offer significant computational savings.  In fact,
      they often do!
    </para>

    <para 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="para2">
      The computational cost of a <emphasis xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">single-stage</emphasis>
      interpolator is: 
      <m:math display="block">
	<m:apply>
	  <m:times/>
	  <m:apply>
	    <m:divide/>
	    <m:ci>N</m:ci>
	    <m:apply>
	      <m:times/>
	      <m:ci>M</m:ci>
	      <m:ci><m:msub>
		  <m:mi>T</m:mi>
		  <m:mn>0</m:mn>
		</m:msub></m:ci>
	    </m:apply>
	  </m:apply>
	  <m:apply>
	    <m:divide/>
	    <m:ci>taps</m:ci>
	    <m:ci>sec</m:ci>
	  </m:apply>
	</m:apply>
      </m:math>
      The computational cost of a <emphasis xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">multistage</emphasis>
      interpolator is:
      <m:math display="block">
	<m:apply>
	  <m:plus/>
	  <m:apply>
	    <m:divide/>
	    <m:ci><m:msub>
		<m:mi>N</m:mi>
		<m:mn>1</m:mn>
	      </m:msub></m:ci>
	    <m:apply>
	      <m:times/>
	      <m:ci><m:msub>
		  <m:mi>M</m:mi>
		  <m:mn>1</m:mn>
		</m:msub></m:ci>
	      <m:ci><m:msub>
		  <m:mi>T</m:mi>
		  <m:mn>0</m:mn>
		</m:msub></m:ci>
	    </m:apply>
	  </m:apply>
	  <m:apply>
	    <m:divide/>
	    <m:ci><m:msub>
		<m:mi>N</m:mi>
		<m:mn>2</m:mn>
	      </m:msub></m:ci>
	    <m:apply>
	      <m:times/>
	      <m:ci><m:msub>
		  <m:mi>M</m:mi>
		  <m:mn>1</m:mn>
		</m:msub></m:ci>
	      <m:ci><m:msub>
		  <m:mi>M</m:mi>
		  <m:mn>2</m:mn>
		</m:msub></m:ci>
	      <m:ci><m:msub>
		  <m:mi>T</m:mi>
		  <m:mn>0</m:mn>
		</m:msub></m:ci>
	    </m:apply>
	  </m:apply>
	  <m:ci>…</m:ci>
	  <m:apply>
	    <m:divide/>
	      <m:ci><m:msub>
		  <m:mi>N</m:mi>
		  <m:mi>p</m:mi>
		</m:msub></m:ci>
	    <m:apply>
	      <m:times/>
	      <m:ci>M</m:ci>
	      <m:ci><m:msub>
		  <m:mi>T</m:mi>
		  <m:mn>0</m:mn>
		</m:msub></m:ci>
	    </m:apply>
	  </m:apply>
	</m:apply>
      </m:math>
      The first term is the most significant, since the rate is
      highest.  Since 
      <m:math>
	<m:apply>
	  <m:ci><m:mo>∝</m:mo></m:ci>
	  <m:ci><m:msub>
	      <m:mi>N</m:mi>
	      <m:mi>i</m:mi>
	    </m:msub></m:ci>
	  <m:ci><m:msub>
	      <m:mi>M</m:mi>
	      <m:mi>i</m:mi>
	    </m:msub></m:ci>
	</m:apply>
      </m:math> for a lowpass filter, it is not immediately clear that
      a multistage system should require less computation.  However,
      the multistage structure relaxes the requirements on the
      filters, which reduces their length and makes the overall
      computation less.
    </para>

    <section 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="sect1">
      <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Filter design for Multi-stage Structures</name>
      <para 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="para3">
	Ostensibly, the first-stage filter must be a lowpass filter
	with a cutoff at
	<m:math>
	  <m:apply>
	    <m:divide/>
	    <m:pi/>
	    <m:ci><m:msub>
		<m:mi>M</m:mi>
		<m:mn>1</m:mn>
	      </m:msub></m:ci>
	  </m:apply>
	</m:math>, to prevent aliasing after the downsampler.
	However, note that aliasing outside the <emphasis xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">final
	overall</emphasis> passband 
	<m:math>
	  <m:apply>
	    <m:lt/>
	    <m:apply>
	      <m:abs/>
	      <m:ci>ω</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:divide/>
	      <m:pi/>
	      <m:ci>M</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math> is of no concern, since it will be removed by later
	stages.  We only need prevent aliasing into the band 
	<m:math>
	  <m:apply>
	    <m:lt/>
	    <m:apply>
	      <m:abs/>
	      <m:ci>ω</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:divide/>
	      <m:pi/>
	      <m:ci>M</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>; thus we need only specify the passband over the interval
	<m:math>
	  <m:apply>
	    <m:lt/>
	    <m:apply>
	      <m:abs/>
	      <m:ci>ω</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:divide/>
	      <m:pi/>
	      <m:ci>M</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>, and the stopband over the intervals 
	<m:math>
	  <m:apply>
	    <m:in/>
	    <m:ci>ω</m:ci>
	    <m:interval>
	      <m:apply>
		<m:minus/>
		<m:apply>
		  <m:divide/>
		  <m:apply>
		    <m:times/>
		    <m:cn>2</m:cn>
		    <m:pi/>
		    <m:ci>k</m:ci>
		  </m:apply>
		  <m:ci><m:msub>
		      <m:mi>M</m:mi>
		      <m:mn>1</m:mn>
		    </m:msub></m:ci>
		</m:apply>
		<m:apply>
		  <m:divide/>
		  <m:pi/>
		  <m:ci>M</m:ci>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:plus/>
		<m:apply>
		  <m:divide/>
		  <m:apply>
		    <m:times/>
		    <m:cn>2</m:cn>
		    <m:pi/>
		    <m:ci>k</m:ci>
		  </m:apply>
		  <m:ci><m:msub>
		      <m:mi>M</m:mi>
		      <m:mn>1</m:mn>
		    </m:msub></m:ci>
		</m:apply>
		<m:apply>
		  <m:divide/>
		  <m:pi/>
		  <m:ci>M</m:ci>
		</m:apply>
	      </m:apply>
	    </m:interval>
	  </m:apply>
	</m:math>, for 
	<m:math>
	  <m:apply>
	    <m:in/>
	    <m:ci>k</m:ci>
	    <m:set>
	      <m:cn>1</m:cn>
	      <m:ci>…</m:ci>
	      <m:apply>
		<m:minus/>
		<m:ci>M</m:ci>
		<m:cn>1</m:cn>
	      </m:apply>
	    </m:set>
	  </m:apply>
	</m:math>.  (<cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="fig2"/>)

	<figure 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="fig2">
	  <media xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="image/png" src="imag002.png"/>
	</figure>

	Of course, we don't want <emphasis xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">gain</emphasis> in the
	transition bands, since this would need to be suppressed
	later, but otherwise we don't care about the response in those
	regions.  Since the transition bands are so large, the
	required filter turns out to be quite short.  The final stage
	has no "don't care" regions; however, it is operating at a low
	rate, so it is relatively unimportant if the final filter
	turns out to be rather long!
     </para>
    </section>

    <section 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="sec2">
      <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">L-infinity Tolerances on the Pass and Stopbands</name>
      <para 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="para6">
	The overall response is a cascade of multiple filters, so the
	worst-case overall passband deviation, assuming all the peaks
	just happen to line up, is 
	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:plus/>
	      <m:cn>1</m:cn>
	      <m:ci><m:msub>
		  <m:mi>δ</m:mi>
		  <m:msub>
		    <m:mi>p</m:mi>
		    <m:mi>ov</m:mi>
		  </m:msub>
		</m:msub></m:ci>
	    </m:apply>
	    <m:apply>
	      <m:product/>
	      <m:bvar><m:ci>i</m:ci></m:bvar>
	      <m:lowlimit><m:cn>1</m:cn></m:lowlimit>
	      <m:uplimit><m:ci>p</m:ci></m:uplimit>
	      <m:apply>
		<m:plus/>
		<m:cn>1</m:cn>
		<m:ci><m:msub>
		    <m:mi>δ</m:mi>
		    <m:msub>
		      <m:mi>p</m:mi>
		      <m:mi>i</m:mi>
		    </m:msub>
		  </m:msub></m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>

	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:minus/>
	      <m:cn>1</m:cn>
	      <m:ci><m:msub>
		  <m:mi>δ</m:mi>
		  <m:msub>
		    <m:mi>p</m:mi>
		    <m:mi>ov</m:mi>
		  </m:msub>
		</m:msub></m:ci>
	    </m:apply>
	    <m:apply>
	      <m:product/>
	      <m:bvar><m:ci>i</m:ci></m:bvar>
	      <m:lowlimit><m:cn>1</m:cn></m:lowlimit>
	      <m:uplimit><m:ci>p</m:ci></m:uplimit>
	      <m:apply>
		<m:minus/>
		<m:cn>1</m:cn>
		<m:ci><m:msub>
		    <m:mi>δ</m:mi>
		    <m:msub>
		      <m:mi>p</m:mi>
		      <m:mi>i</m:mi>
		    </m:msub>
		  </m:msub></m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
	So one could choose all filters to have equal specifications
	and require for each-stage filter.  For 
	<m:math>
	  <m:apply>
	    <m:ci><m:mo>≪</m:mo></m:ci>
	    <m:ci><m:msub>
		<m:mi>δ</m:mi>
		<m:msub>
		  <m:mi>p</m:mi>
		  <m:mi>ov</m:mi>
		</m:msub>
	      </m:msub></m:ci>
	    <m:cn>1</m:cn>
	  </m:apply>
	</m:math>, 

	<m:math display="block">
	  <m:apply>
	    <m:leq/>
	    <m:apply>
	      <m:plus/>
	      <m:cn>1</m:cn>
	      <m:ci><m:msubsup>
		  <m:mi>δ</m:mi>
		  <m:msub>
		    <m:mi>p</m:mi>
		    <m:mi>i</m:mi>
		  </m:msub>
		  <m:mo>+</m:mo>
		</m:msubsup></m:ci>
	    </m:apply>
	    <m:apply>
	      <m:approx/>
	      <m:apply>
		<m:root/>
		<m:degree><m:ci>p</m:ci></m:degree>
		<m:apply>
		  <m:plus/>
		  <m:cn>1</m:cn>
		  <m:ci><m:msub>
		      <m:mi>δ</m:mi>
		      <m:msub>
			<m:mi>p</m:mi>
			<m:mi>ov</m:mi>
		      </m:msub>
		    </m:msub></m:ci>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:plus/>
		<m:cn>1</m:cn>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:inverse/>
		    <m:ci>p</m:ci>
		  </m:apply>
		  <m:ci><m:msub>
		      <m:mi>δ</m:mi>
		      <m:msub>
			<m:mi>p</m:mi>
			<m:mi>ov</m:mi>
		      </m:msub>
		    </m:msub></m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
 
	<m:math display="block">
	  <m:apply>
	    <m:leq/>
	    <m:apply>
	      <m:minus/>
	      <m:cn>1</m:cn>
	      <m:ci><m:msubsup>
		  <m:mi>δ</m:mi>
		  <m:msub>
		    <m:mi>p</m:mi>
		    <m:mi>i</m:mi>
		  </m:msub>
		  <m:mo>-</m:mo>
		</m:msubsup></m:ci>
	    </m:apply>
	    <m:apply>
	      <m:approx/>
	      <m:apply>
		<m:root/>
		<m:degree><m:ci>p</m:ci></m:degree>
		<m:apply>
		  <m:minus/>
		  <m:cn>1</m:cn>
		  <m:ci><m:msub>
		      <m:mi>δ</m:mi>
		      <m:msub>
			<m:mi>p</m:mi>
			<m:mi>ov</m:mi>
		      </m:msub>
		    </m:msub></m:ci>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:cn>1</m:cn>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:inverse/>
		    <m:ci>p</m:ci>
		  </m:apply>
		  <m:ci><m:msub>
		      <m:mi>δ</m:mi>
		      <m:msub>
			<m:mi>p</m:mi>
			<m:mi>ov</m:mi>
		      </m:msub>
		    </m:msub></m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
	Alternatively, one can design later stages (at lower
	computation rates) to compensate for the passband ripple in
	earlier stages to achieve exceptionally accurate passband
	response.
      </para>

      <para 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="para7">
	<m:math>
	  <m:ci><m:msub>
	      <m:mi>δ</m:mi>
	      <m:mi>s</m:mi>
	    </m:msub></m:ci>
	</m:math>
	remains essentially unchanged, since the worst-case scenario
	is for the error to alias into the passband and undergo no
	further suppression in subsequent stages.
      </para>
    </section>

    <section 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="sec3">
      <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Interpolation</name>
      <para 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="para8">
	Interpolation is the flow-graph reversal of the multi-stage
	decimator.  The first stage has a cutoff at 
	<m:math>
	  <m:apply>
	    <m:divide/>
	    <m:pi/>
	    <m:ci>L</m:ci>
	  </m:apply>
	</m:math> (<cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="fig3"/>):  

	<figure 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="fig3">
	  <media xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="image/png" src="imag003.png"/>
	</figure>

	However, all subsequent stages have large bands without signal
	energy, due to the earlier stages (<cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="fig4"/>):

	<figure 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="fig4">
	  <media xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="image/png" src="imag004.png"/>
	</figure>

	The order of the filters is reversed, but otherwise the
	filters are identical to the decimator filters.
      </para>
    </section>

    <section 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="sec5">
      <name xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">Efficient Narrowband Lowpass Filtering</name>
      <para 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="para9">
	A very narrow lowpass filter requires a very long FIR filter
	to achieve reasonable resolution in the frequency
	response. However, were the input sampled at a lower rate, the
	cutoff frequency would be correspondingly higher, and the
	filter could be shorter!
      </para>

      <para 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="para10">
	The transition band is also broader, which helps as well.
	Thus, <cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="fig5"/> can be implemented as <cnxn xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" target="fig6"/>.

	<figure 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="fig5">
	  <media xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="image/png" src="imag005.png"/>
	</figure>

	<figure 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="fig6">
	  <media xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/" type="image/png" src="imag006.png"/>
	</figure>

	and in practice the inner lowpass filter can be coupled to the
	decimator or interpolator filters.  If the decimator and
	interpolator are implemented as multistage structures,
	the overall algorithm can be dramatically more efficient than
	direct implementation!
      </para>
    </section>
  </content>
  
</document>
