<?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/">Efficient Multirate Filter Structures</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/01/31 09:56:24 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:31:39 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">
      Rate-changing appears expensive computationally, since for both
      decimation and interpolation the lowpass filter is implemented
      at the higher rate.  However, this is not necessary.
    </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="sec1">
      <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="para2">
	For the interpolator, most of the samples in the upsampled
	signal are zero, and thus require no computation. (<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">
	  <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>

	For 
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:ci>m</m:ci>
	    <m:apply>
	      <m:plus/>
	      <m:apply>
		<m:times/>
		<m:ci>L</m:ci>
		<m:apply>
		  <m:floor/>
		  <m:apply>
		    <m:divide/>
		    <m:ci>m</m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
              <m:apply>
                <m:rem/>
                <m:ci>m</m:ci>
                <m:ci>L</m:ci>
              </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math> and 
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:ci>p</m:ci>
            <m:apply>
              <m:rem/>
              <m:ci>m</m:ci>
              <m:ci>L</m:ci>
            </m:apply> 
	  </m:apply>
	</m:math>, 

	<equation 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="eqn1">
	  <m:math>
	    <m:apply>
	      <m:eq/>
	      <m:apply>
		<m:ci type="fn"><m:msub>
		    <m:mi>x</m:mi>
		    <m:mn>1</m:mn>
		  </m:msub></m:ci>
		<m:ci>m</m:ci>
	      </m:apply>
	      <m:apply>
		<m:sum/>
		<m:bvar><m:ci>m</m:ci></m:bvar>
		<m:lowlimit>
		  <m:ci><m:msub>
		      <m:mi>N</m:mi>
		      <m:mn>1</m:mn>
		    </m:msub></m:ci>
		</m:lowlimit>
		<m:uplimit>
		  <m:ci><m:msub>
		      <m:mi>N</m:mi>
		      <m:mn>2</m:mn>
		    </m:msub></m:ci>
		</m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:ci type="fn"><m:msub>
			<m:mi>h</m:mi>
			<m:mrow>
			  <m:mi>L</m:mi>
			  <m:mi>p</m:mi>
			</m:mrow>
		      </m:msub></m:ci>
		    <m:mi>m</m:mi>
		  </m:apply>
		  <m:apply>
		    <m:ci type="fn">y</m:ci>
		    <m:ci>m</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>

	      <m:apply>
		<m:sum/>
		<m:bvar><m:ci>k</m:ci></m:bvar>
		<m:lowlimit>
		  <m:apply>
		    <m:divide/>
		    <m:ci><m:msub>
			<m:mi>N</m:mi>
			<m:mn>1</m:mn>
		      </m:msub></m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:lowlimit>
		<m:uplimit>
		  <m:apply>
		    <m:divide/>
		    <m:ci><m:msub>
			<m:mi>N</m:mi>
			<m:mn>2</m:mn>
		      </m:msub></m:ci>
		    <m:ci>L</m:ci>
		  </m:apply>
		</m:uplimit>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:ci type="fn"><m:msub>
			<m:mi>g</m:mi>
			<m:mi>p</m:mi>
		      </m:msub></m:ci>
		    <m:mi>k</m:mi>
		  </m:apply>
		  <m:apply>
		    <m:ci type="fn"><m:msub>
			<m:mi>x</m:mi>
			<m:mn>0</m:mn>
		      </m:msub></m:ci>
		    <m:apply>
		      <m:minus/>
		      <m:apply>
			<m:floor/>
			<m:apply>
			  <m:divide/>
			  <m:ci>m</m:ci>
			  <m:ci>L</m:ci>
			</m:apply>
		      </m:apply>
		      <m:ci>k</m:ci>
		    </m:apply>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:math>
	</equation>

	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn"><m:msub>
		  <m:mi>g</m:mi>
		  <m:mi>p</m:mi>
		</m:msub></m:ci>
	      <m:mi>n</m:mi>
	    </m:apply>
	    <m:apply>
	      <m:ci type="fn">h</m:ci>
	      <m:apply>
		<m:plus/>
		<m:apply>
		  <m:times/>
		  <m:ci>L</m:ci>
		  <m:ci>n</m:ci>
		</m:apply>
		<m:ci>p</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
	Pictorially, this can be represented as in <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>
	
	These are called <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">polyphase structures</term>, and the 
	<m:math>
	  <m:apply>
	    <m:ci type="fn"><m:msub>
		<m:mi>g</m:mi>
		<m:mi>p</m:mi>
	      </m:msub></m:ci>
	    <m:mi>n</m:mi>
	  </m:apply>
	</m:math>

	are called <term xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">polyphase filters</term>.
      </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="para3">
	<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/">Computational cost</name>
	If 
	<m:math>
	  <m:apply>
	    <m:ci type="fn">h</m:ci>
	    <m:ci>m</m:ci>
	  </m:apply>
	</m:math> is a length-<m:math><m:ci>N</m:ci></m:math> filter:
	<list 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="list1">
	  <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
	    No simplification: 
	    <m:math>
	      <m:apply>
		<m:eq/>
		<m:apply>
		  <m:divide/>
		  <m:ci>N</m:ci>
		  <m:ci><m:msub>
		      <m:mi>T</m:mi>
		      <m:mn>1</m:mn>
		    </m:msub></m:ci>
		</m:apply>
		  <m:apply>
		  <m:times/>
		  <m:apply>
		    <m:divide/>
		    <m:apply>
		      <m:times/>
		      <m:ci>L</m:ci>
		      <m:ci>N</m:ci>
		    </m:apply>
		    <m:ci><m:msub>
			<m:mi>T</m:mi>
			<m:mn>0</m:mn>
		      </m:msub></m:ci>
		  </m:apply>
		  <m:apply>
		    <m:divide/>
		    <m:ci>computations</m:ci>
		    <m:ci>sec</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:math>
	  </item>

	  <item xmlns:md="http://cnx.rice.edu/mdml/0.4" xmlns:m="http://www.w3.org/1998/Math/MathML" xmlns:bib="http://bibtexml.sf.net/">
	    Polyphase structure:
	    <m:math>
	      <m:apply>
		<m:eq/>
		<m:apply>
		  <m:times/>
		  <m:apply>
		    <m:times/>
		    <m:ci>L</m:ci>
		    <m:apply>
		      <m:divide/>
		      <m:ci>L</m:ci>
		      <m:ci>N</m:ci>
		    </m:apply>
		    <m:apply>
		      <m:divide/>
		      <m:cn>1</m:cn>
		      <m:ci><m:msubsup>
			  <m:mi>T</m:mi>
			  <m:mn>0</m:mn>
                          <m:mi>o</m:mi>
			</m:msubsup></m:ci>
		    </m:apply>
		  </m:apply>
		  <m:apply>
		    <m:divide/>
		    <m:ci>computations</m:ci>
		    <m:ci>sec</m:ci>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:divide/>
		  <m:ci>N</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:math>
	    where <m:math><m:ci>L</m:ci></m:math> is the number of filters, 
	    <m:math>
	      <m:apply>
		<m:divide/>
		<m:ci>N</m:ci>
		<m:ci>L</m:ci>
	      </m:apply>
	    </m:math> is the taps/filter, and 
	    <m:math>
	      <m:apply>
		<m:divide/>
		<m:cn>1</m:cn>
		<m:ci><m:msub>
		    <m:mi>T</m:mi>
		    <m:mn>0</m:mn>
		  </m:msub></m:ci>
	      </m:apply>
	    </m:math> is the rate.
	  </item>
	</list>
	Thus we save a factor of <m:math><m:ci>L</m:ci></m:math> by
	not being dumb.
	<note 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="note">
	  For a given precision, <m:math><m:ci>N</m:ci></m:math> is
	  proportional to <m:math><m:ci>L</m:ci></m:math>, (why?), so
	  the computational cost does increase with the interpolation
	  rate.
	</note>
	<note 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="question">
	  Can similar computational savings be obtained with IIR
	  structures?
	</note>
      </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/">Efficient Decimation 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="para4">
	We only want every <m:math><m:ci>M</m:ci></m:math>th output,
	so we compute only the outputs of interest. (<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"/>)

	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn"><m:msub>
		  <m:mi>x</m:mi>
		  <m:mn>1</m:mn>
		</m:msub></m:ci>
	      <m:ci>m</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:sum/>
	      <m:bvar><m:ci>k</m:ci></m:bvar>
	      <m:lowlimit>
		<m:ci><m:msub>
		    <m:mi>N</m:mi>
		    <m:mn>1</m:mn>
		  </m:msub></m:ci>
	      </m:lowlimit>
	      <m:uplimit>
		<m:ci><m:msub>
		    <m:mi>N</m:mi>
		    <m:mn>2</m:mn>
		  </m:msub></m:ci>
	      </m:uplimit>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:ci type="fn"><m:msub>
		      <m:mi>x</m:mi>
		      <m:mn>0</m:mn>
		    </m:msub></m:ci>
		  <m:apply>
		    <m:minus/>
		    <m:apply>
		      <m:times/>
		      <m:ci>L</m:ci>
		      <m:mi>m</m:mi>
		    </m:apply>
		    <m:ci>k</m:ci>
		  </m:apply>
		</m:apply>
		<m:apply>
		  <m:ci type="fn">h</m:ci>
		  <m:ci>k</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>

	<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">
	  <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/">Polyphase Decimation Structure</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="imag003.png"/>
	</figure>
	The decimation structures are flow-graph reversals of the
	interpolation structure.  Although direct implementation of
	the full filter for every <m:math><m:ci>M</m:ci></m:math>th
	sample is obvious and straightforward, these polyphase
	structures give some idea as to how one might evenly partition
	the computation over <m:math><m:ci>M</m:ci></m:math> cycles.
      </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/">Efficient L/M rate changers</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="para5">
	Interpolate by <m:math><m:ci>L</m:ci></m:math> and decimate by
	<m:math><m:ci>M</m:ci></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="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>

	Combine the lowpass filters (<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"/>).

	<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>

	We can couple the lowpass filter either to the interpolator or
	the decimator to implement it efficiently (<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="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>

	Of course we only compute the polyphase filter output selected
	by the decimator.
      </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="para6">
	<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/">Computational Cost</name>
	Every 
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:ci><m:msub>
		<m:mi>T</m:mi>
		<m:mn>1</m:mn>
	      </m:msub></m:ci>
	    <m:apply>
	      <m:times/>
	      <m:apply>
		<m:divide/>
		<m:ci>M</m:ci>
		<m:ci>L</m:ci>
	      </m:apply>
	      <m:ci><m:msub>
		  <m:mi>T</m:mi>
		  <m:mn>0</m:mn>
		</m:msub></m:ci>
	      <m:ci>seconds</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>, compute one polyphase filter of length
	<m:math>
	  <m:apply>
	    <m:divide/>
	    <m:ci>N</m:ci>
	    <m:ci>L</m:ci>
	  </m:apply>
	</m:math>, or 
	<m:math display="block">
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:divide/>
		<m:ci>N</m:ci>
		<m:ci>L</m:ci>
	      </m:apply>
	      <m:ci><m:msub>
		  <m:mi>T</m:mi>
		  <m:mn>1</m:mn>
		</m:msub></m:ci>
	    </m:apply>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:divide/>
		<m:ci>N</m:ci>
		<m:ci>L</m:ci>
	      </m:apply>
	      <m:apply>
		<m:times/>
		<m:apply>
		  <m:divide/>
		  <m:ci>M</m:ci>
		  <m:ci>L</m:ci>
		</m:apply>
		<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: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>multiplies</m:ci>
		<m:ci>second</m:ci>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
	However, note that <m:math><m:ci>N</m:ci></m:math> is
	proportional to
	<m:math>
	  <m:apply>
	    <m:max/>
	    <m:ci>L</m:ci>
	    <m:ci>M</m:ci>
	  </m:apply>
	</m:math>.
      </para>
    </section>
  </content>
  
</document>
