<?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="new0">
  <name>Low-Pass Fitler Implementation: Filter Specification</name>
  <metadata>
  <md:version>2.8</md:version>
  <md:created>2003/02/22</md:created>
  <md:revised>2003/08/01 10:24:22.333 GMT-5</md:revised>
  <md:authorlist>
    <md:author id="butala">
      <md:firstname>Mark</md:firstname>
      <md:othername>D.</md:othername>
      <md:surname>Butala</md:surname>
      <md:email>butala@uiuc.edu</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="butala">
      <md:firstname>Mark</md:firstname>
      <md:othername>D.</md:othername>
      <md:surname>Butala</md:surname>
      <md:email>butala@uiuc.edu</md:email>
    </md:maintainer>
    <md:maintainer id="rlmorris">
      <md:firstname>Robert</md:firstname>
      <md:othername>L.</md:othername>
      <md:surname>Morrison</md:surname>
      <md:email>rlmorris@uiuc.edu</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  

  <md:abstract/>
</metadata>



  <content>
    <section id="s1">
      <name>Filter Specification</name>


      <figure id="filterfig">
	<name>Depiction of the filter specifications.</name>
        <media type="image/png" src="spec.png"/>
      </figure>
      
      <table id="filterspec">
        <name>Filter specifications</name>
        <tgroup cols="2">
	  <tbody>
            <row>
              <entry align="center">
                <m:math>
                  <m:ci><m:msub>
                    <m:mi>f</m:mi>
                    <m:mn>p</m:mn>
                  </m:msub></m:ci>
                </m:math>
              </entry>
              <entry align="center">0.1</entry>
            </row>
            <row>
              <entry align="center">
                <m:math display="inline">
                  <m:ci><m:msub>
                    <m:mi>f</m:mi>
                    <m:mn>s</m:mn>
                  </m:msub></m:ci>
                </m:math>
              </entry>
              <entry align="center">0.12</entry>
            </row>
            <row>
              <entry align="center">
                <m:math>
                  <m:ci><m:msub>
                    <m:mi>δ</m:mi>
                    <m:mn>p</m:mn>
                  </m:msub></m:ci>
                </m:math>
              </entry>
              <entry align="center">0.5 dB</entry>
            </row>
            <row>
              <entry align="center">
                <m:math>
                  <m:ci><m:msub>
                    <m:mi>δ</m:mi>
                    <m:mn>s</m:mn>
                  </m:msub></m:ci>
                </m:math>
              </entry>
              <entry align="center">-60 dB</entry>
            </row>
            <row>
              <entry align="center">
                <m:math>
		  <m:apply>
		    <m:mo>Δ</m:mo>
		    <m:ci><m:msub>
			<m:mi>τ</m:mi>
			<m:mn>g</m:mn>
		      </m:msub></m:ci>
		  </m:apply>
                </m:math>
              </entry>
              <entry align="center">
                <m:math>
                  <m:apply>
		    <m:forall/>
		    <m:bvar>
		      <m:ci>f</m:ci>
		    </m:bvar>
		    <m:condition>
		      <m:apply>
			<m:leq/>
			<m:apply>
			  <m:abs/>
			  <m:ci>f</m:ci>
			</m:apply>
			<m:ci><m:msub>
			    <m:mi>f</m:mi>
			    <m:mi>p</m:mi>
			  </m:msub></m:ci>
		      </m:apply>
		    </m:condition>
		    <m:apply>
		      <m:leq/>
		      <m:apply>
			<m:abs/>
			<m:apply>
			  <m:mo>Δ</m:mo>
			  <m:ci><m:msub>
			      <m:mi>τ</m:mi>
			      <m:mi>g</m:mi>
			    </m:msub></m:ci>
			</m:apply>
		      </m:apply>
		      <m:cn>9</m:cn>
		    </m:apply>
		  </m:apply>
                </m:math>
              </entry>
            </row>
	  </tbody>
        </tgroup>
      </table>


      <para id="p1">
        Please refer to <cnxn target="filterfig">Pictoralial filter
        specification</cnxn> for a pictorial description of how the
        various filter constraints correspond to the frequency
        response of a low-pass filter.  Note that the <cnxn target="filterfig">Pictoralial filter specification</cnxn>
        does not imply that the system response must be equiripple.
        The constraints on the system response, to be discussed
        shortly, are on the maximum allowable peak errors.  However,
        in general, an equiripple solution to a given filter
        specification will require the lowest filter order.
      </para>

      <para id="p1b">
        The full filter specification is given in <cnxn target="filterspec">filter specifications</cnxn>.  The
        parameters
        <m:math>
          <m:ci><m:msub>
            <m:mi>f</m:mi>
            <m:mn>p</m:mn>
          </m:msub></m:ci>
        </m:math> and 
        <m:math>
          <m:ci><m:msub>
	      <m:mi>f</m:mi>
	      <m:mn>s</m:mn>
	    </m:msub></m:ci>
	</m:math> define the end of the pass-band and the beginning of
        the stop-band, respectively, on the frequency axis that has
        been normalized to 1.  The parameters
        <m:math>
          <m:ci><m:msub>
	      <m:mi>δ</m:mi>
	      <m:mn>p</m:mn>
	    </m:msub></m:ci>
        </m:math> and 
        <m:math>
          <m:ci><m:msub>
	      <m:mi>δ</m:mi>
	      <m:mn>s</m:mn>
	    </m:msub></m:ci>
        </m:math> define the maximum allowable ripple, in Decibels, in
        the pass-band and the stop-band, respectively.  The parameter
        <m:math>
	  <m:apply>
	    <m:forall/>
	    <m:bvar>
	      <m:ci>f</m:ci>
	    </m:bvar>
	    <m:condition>
	      <m:apply>
		<m:leq/>
		<m:apply>
		  <m:abs/>
		  <m:ci>f</m:ci>
		</m:apply>
		<m:ci><m:msub>
		    <m:mi>f</m:mi>
		    <m:mi>p</m:mi>
		  </m:msub></m:ci>
	      </m:apply>
	    </m:condition>
	    <m:apply>
	      <m:leq/>
	      <m:apply>
		<m:abs/>
		<m:apply>
		  <m:mo>Δ</m:mo>
		  <m:ci><m:msub>
		      <m:mi>τ</m:mi>
		      <m:mi>g</m:mi>
		    </m:msub></m:ci>
		</m:apply>
	      </m:apply>
	      <m:cn>9</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math> defines the maximum allowable deviation from a group
        delay of 9 in the pass-band.  The parameter
        <m:math>
          <m:ci><m:msub>
	      <m:mi>τ</m:mi>
	      <m:mn>g</m:mn>
	    </m:msub></m:ci>
	</m:math> is the <emphasis>group delay</emphasis> of the
        system and is defined by the following:
      </para>

      <equation id="eq1">
        <m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci><m:msub>
		  <m:mi>τ</m:mi>
		  <m:mi>g</m:mi>
		</m:msub></m:ci>
	      <m:ci>ω</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:minus/>
	      <m:apply>
		<m:diff/>
		<m:bvar>
		  <m:ci>x</m:ci>
		</m:bvar>
		<m:apply>
		  <m:arg/>
		  <m:apply>
		    <m:ci>H</m:ci>
		    <m:ci>ω</m:ci>
		  </m:apply>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>

      <para id="p2a">
        The parameter 
        <m:math>
	  <m:apply>
	    <m:mo>Δ</m:mo>
	    <m:ci><m:msub>
		<m:mi>τ</m:mi>
		<m:mi>g</m:mi>
	      </m:msub></m:ci>
	  </m:apply>
        </m:math> is defined as: 
      </para>
      
      <equation id="eq2a">
        <m:math>
          <m:apply>
            <m:eq/>
            <m:apply>
	      <m:apply>
		<m:mo>Δ</m:mo>
		<m:ci><m:msub>
                    <m:mi>τ</m:mi>
                    <m:mi>g</m:mi>
                  </m:msub></m:ci>
	      </m:apply>
              <m:ci>ω</m:ci>
            </m:apply>
            <m:apply>
	      <m:minus/>
	      <m:apply>
		<m:max/>
		<m:condition>
		  <m:apply>
		    <m:leq/>
		    <m:apply>
		      <m:abs/>
		      <m:ci>ω</m:ci>
		    </m:apply>
		    <m:ci><m:msub>
			<m:mi>ω</m:mi>
			<m:mi>p</m:mi>
		      </m:msub></m:ci>
		  </m:apply>
		</m:condition>
		<m:apply>
		  <m:ci><m:msub>
		      <m:mi>τ</m:mi>
		      <m:mi>g</m:mi>
		    </m:msub></m:ci>
		  <m:ci>ω</m:ci>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:min/>
		<m:condition>
		  <m:apply>
		    <m:leq/>
		    <m:apply>
		      <m:abs/>
		      <m:ci>ω</m:ci>
		    </m:apply>
		    <m:ci><m:msub>
			<m:mi>ω</m:mi>
			<m:mi>p</m:mi>
		      </m:msub></m:ci>
		  </m:apply>
		</m:condition>
		<m:apply>
		  <m:ci><m:msub>
		      <m:mi>τ</m:mi>
		      <m:mi>g</m:mi>
		    </m:msub></m:ci>
		  <m:ci>ω</m:ci>
		</m:apply>
	      </m:apply>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>

      <para id="p2">
        Thus, 
        <m:math>
	  <m:apply>
	    <m:forall/>
	    <m:bvar>
	      <m:ci>f</m:ci>
	    </m:bvar>
	    <m:condition>
	      <m:apply>
		<m:leq/>
		<m:apply>
		  <m:abs/>
		  <m:ci>f</m:ci>
		</m:apply>
		<m:ci><m:msub>
		    <m:mi>f</m:mi>
		    <m:mi>p</m:mi>
		  </m:msub></m:ci>
	      </m:apply>
	    </m:condition>
	    <m:apply>
	      <m:leq/>
	      <m:apply>
		<m:abs/>
		<m:apply>
		  <m:mo>Δ</m:mo>
		  <m:ci><m:msub>
		      <m:mi>τ</m:mi>
		      <m:mi>g</m:mi>
		    </m:msub></m:ci>
		</m:apply>
	      </m:apply>
	      <m:cn>9</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math> states that the group delay is not allowed to
        deviate more than 9 samples in the pass-band.  A system that
        has constant group delay will have a phase response that is
        generalized linear-phase.  Thus, deviation from constant group
        delay is a measure of the deviation of the phase response from
        linear. The MATLAB command <code>grpdelay</code> computes the
        group delay of a system as a function of frequency given the
        filter coefficients
        <m:math>
          <m:ci>a</m:ci>
        </m:math> and
        <m:math>
          <m:ci>b</m:ci>
        </m:math>.  
	
        <note type="Question">
        For which of the three techniques discussed in <cnxn document="m11057">filtering techniques</cnxn> must we verfiy
        explicitly that the group delay specification is met?  All of
        them, some of them, or none of them?
        </note>

        <note type="Question">
         Why do we only specify the filter coefficients for only the
         positive frequencies?  What are we assuming?  What does this
         imply about the coefficients
          <m:math>
	    <m:ci>a</m:ci>
	  </m:math> and
	  <m:math>
	    <m:ci>b</m:ci>
	  </m:math> of the low-pass filter?
        </note>
      </para>

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