<?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="m10815">
  <name>Multirate Filtering: Filter-Design Exercise in MATLAB (日本語 - Japanese)</name>
  <metadata>
  <md:version>1.3</md:version>
  <md:created>2004/07/10 21:57:09 GMT-5</md:created>
  <md:revised>2005/08/17 14:12:18 GMT-5</md:revised>
  <md:authorlist>
      <md:author id="dljones">
      <md:firstname>Douglas</md:firstname>
      <md:othername>L.</md:othername>
      <md:surname>Jones</md:surname>
      <md:email>dl-jones@uiuc.edu</md:email>
    </md:author>
      <md:author id="appadwed">
      <md:firstname>Swaroop</md:firstname>
      
      <md:surname>Appadwedula</md:surname>
      <md:email>appadwed@uiuc.edu</md:email>
    </md:author>
      <md:author id="mjberry">
      <md:firstname>Matthew</md:firstname>
      <md:othername>J.</md:othername>
      <md:surname>Berry</md:surname>
      <md:email>mjberry@uiuc.edu</md:email>
    </md:author>
      <md:author id="markhaun">
      <md:firstname>Mark</md:firstname>
      <md:othername>A.</md:othername>
      <md:surname>Haun</md:surname>
      <md:email>markhaun@uiuc.edu</md:email>
    </md:author>
      <md:author id="jake">
      <md:firstname>Jake</md:firstname>
      
      <md:surname>Janevitz</md:surname>
      <md:email>jake@janovetz.com</md:email>
    </md:author>
      <md:author id="kramer">
      <md:firstname>Michael</md:firstname>
      <md:othername>L.</md:othername>
      <md:surname>Kramer</md:surname>
      <md:email>kramer@ifp.uiuc.edu</md:email>
    </md:author>
      <md:author id="moussa">
      <md:firstname>Dima</md:firstname>
      
      <md:surname>Moussa</md:surname>
      <md:email>dmoussa@uiuc.edu</md:email>
    </md:author>
      <md:author id="dsachs">
      <md:firstname>Daniel</md:firstname>
      <md:othername>Grobe</md:othername>
      <md:surname>Sachs</md:surname>
      <md:email>sachs@uiuc.edu</md:email>
    </md:author>
      <md:author id="bwade">
      <md:firstname>Brian</md:firstname>
      
      <md:surname>Wade</md:surname>
      <md:email>bwade@uiuc.edu</md:email>
    </md:author>
      <md:author id="jpfrantz">
      <md:firstname>Patrick</md:firstname>
      
      <md:surname>Frantz</md:surname>
      <md:email>jpfrantz@rice.edu</md:email>
    </md:author>
      <md:author id="emi">
      <md:firstname>Emiko</md:firstname>
      
      <md:surname>Yamai</md:surname>
      <md:email>eyamai@hotmail.com</md:email>
    </md:author>
      <md:author id="takaryo">
      <md:firstname>Hironori</md:firstname>
      
      <md:surname>Takaryo</md:surname>
      <md:email>s043105@ishikawa-nct.ac.jp</md:email>
    </md:author>
      <md:author id="yyama">
      <md:firstname>Yoji</md:firstname>
      
      <md:surname>Yamada</md:surname>
      <md:email>yyama@ishikawa-nct.ac.jp</md:email>
    </md:author>
  </md:authorlist>

  <md:maintainerlist>
    <md:maintainer id="jpfrantz">
      <md:firstname>Patrick</md:firstname>
      
      <md:surname>Frantz</md:surname>
      <md:email>jpfrantz@rice.edu</md:email>
    </md:maintainer>
    <md:maintainer id="emi">
      <md:firstname>Emiko</md:firstname>
      
      <md:surname>Yamai</md:surname>
      <md:email>eyamai@hotmail.com</md:email>
    </md:maintainer>
    <md:maintainer id="takaryo">
      <md:firstname>Hironori</md:firstname>
      
      <md:surname>Takaryo</md:surname>
      <md:email>s043105@ishikawa-nct.ac.jp</md:email>
    </md:maintainer>
    <md:maintainer id="yyama">
      <md:firstname>Yoji</md:firstname>
      
      <md:surname>Yamada</md:surname>
      <md:email>yyama@ishikawa-nct.ac.jp</md:email>
    </md:maintainer>
  </md:maintainerlist>
  
  <md:keywordlist>
    <md:keyword>anti-aliasing</md:keyword>
    <md:keyword>anti-imaging</md:keyword>
    <md:keyword>downsample</md:keyword>
    <md:keyword>DSP</md:keyword>
    <md:keyword>filter design</md:keyword>
    <md:keyword>MATLAB</md:keyword>
    <md:keyword>multirate</md:keyword>
    <md:keyword>sample-rate compressor</md:keyword>
    <md:keyword>sample-rate expander</md:keyword>
    <md:keyword>upsample</md:keyword>
    <md:keyword>zero-placement</md:keyword>
  </md:keywordlist>

  <md:abstract>z平面に零点を直接配置する手法により、MATLABを用いて低域通過FIRフィルタを設計します。設計したフィルタは、マルチレートシステムにおけるアンチエリアジング・フィルタおよびイメージ成分除去フィルタとして利用することができます。</md:abstract>
</metadata>




  <content>
      <section id="sec2b">
	<name>フィルタ設計演習</name>
	<para id="p6">　零点直接配置方式により、<cnxn document="m12359" target="fig1">Multirate Filtering: Introduction</cnxn>に示したマルチレートシステムのためのFIRフィルタを設計して下さい。
インパルス応答長<m:math>
	  <m:ci>N</m:ci>
	</m:math>のFIRフィルタの伝達関数は次式に示す
          <m:math>
	  <m:apply>
	    <m:power/>
	    <m:ci>z</m:ci>
	    <m:cn>-1</m:cn>
	  </m:apply>
	</m:math>の多項式であり、この多項式が
         <m:math>
	  <m:apply>
	    <m:minus/>
	    <m:ci>N</m:ci>
	    <m:cn>1</m:cn>
	  </m:apply>
	</m:math>個の根により因数分解できることを思い出して下さい。　
      </para>
      <equation id="eqn3">
	<m:math>
	  <m:apply>
	    <m:eq/>
	    <m:apply>
	      <m:ci type="fn">H</m:ci>
	      <m:ci>z</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:plus/>
	      <m:ci><m:msub>
		  <m:mi>h</m:mi>
		  <m:mn>0</m:mn>
		</m:msub></m:ci>
	      <m:apply>
		<m:times/>
		<m:ci><m:msub>
		    <m:mi>h</m:mi>
		    <m:mn>1</m:mn>
		  </m:msub></m:ci>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:cn>-1</m:cn>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:times/>
		<m:ci><m:msub>
		    <m:mi>h</m:mi>
		    <m:mn>2</m:mn>
		  </m:msub></m:ci>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:cn>-2</m:cn>
		</m:apply>
	      </m:apply>
	      <m:ci>⋯</m:ci>
	    </m:apply>
	    <m:apply>
	      <m:times/>
	      <m:apply>
		<m:minus/>
		<m:ci><m:msub>
		    <m:mi>z</m:mi>
		    <m:mn>1</m:mn>
		  </m:msub></m:ci>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:cn>-1</m:cn>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:ci><m:msub>
		    <m:mi>z</m:mi>
		    <m:mn>2</m:mn>
		  </m:msub></m:ci>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:cn>-1</m:cn>
		</m:apply>
	      </m:apply>
	      <m:apply>
		<m:minus/>
		<m:ci><m:msub>
		    <m:mi>z</m:mi>
		    <m:mn>3</m:mn>
		  </m:msub></m:ci>
		<m:apply>
		  <m:power/>
		  <m:ci>z</m:ci>
		  <m:cn>-1</m:cn>
		</m:apply>
	      </m:apply>
	      <m:ci>⋯</m:ci>
	    </m:apply>
	  </m:apply>
	</m:math>
      </equation>

      <para id="p7">　この関係式を用いて、低域通過フィルタ(LPF:low pass filter)を設計して下さい(このフィルタは、マルチレートシステムにおけるアンチエリアジング・フィルタおよびイメージ除去フィルタとして利用できます)。ただし、以下に示す12個の複素零点
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:times/>
		<m:cn>3</m:cn>
		<m:pi/>
	      </m:apply>
	      <m:cn>8</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>,
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:pi/>
	      <m:cn>2</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>,
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:times/>
		<m:cn>5</m:cn>
		<m:pi/>
	      </m:apply>
	      <m:cn>8</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>, 
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:times/>
		<m:cn>3</m:cn>
		<m:pi/>
	      </m:apply>
	      <m:cn>4</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>, 
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:times/>
		<m:cn>7</m:cn>
		<m:pi/>
	      </m:apply>
	      <m:cn>8</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>および 
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:pi/>
	  </m:apply>
	</m:math>を単位円上に配置するものとします。ここで設計したフィルタは、FIR1とFIR3の両方のフィルタとして利用できます。間引き後のレートで動作するFIR2は、
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:pi/>
	      <m:cn>4</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>および 
	<m:math>
	  <m:apply>
	    <m:mo>±</m:mo>
	    <m:apply>
	      <m:divide/>
	      <m:apply>
		<m:times/>
		<m:cn>3</m:cn>
		<m:pi/>
	      </m:apply>
	      <m:cn>4</m:cn>
	    </m:apply>
	  </m:apply>
	</m:math>からなる単位円上に等間隔に配置した４つの零点を用いて下さい。また、これらのフィルタのゲインがいかなる周波数においても１を超えないように、上記の手順により算出したフィルタ係数の大きさを必ずスケーリングして下さい。　
      </para>

      <para id="p8">　上記で示した零点配置を有するフィルタのフィルタ係数値を算出するMATLABスクリプトを書き、フィルタを設計して下さい。MATLABの<code>poly</code>関数は、この作業でとても役に立ちます。MATLABのコマンドウインドウで<code>help poly</code>とタイプすると、<code>poly</code>関数の説明を参照できます。
      </para>

      <para id="p9">　フィルタの係数値が算出できたら、MATLABの<code>freqz</code>関数を用いることにより設計したフィルタの周波数特性を表示して下さい。フィルタ係数値をスケーリングする前の段階では、設計したフィルタは大きな利得を有していることがわかるかと思います。フィルタ係数値を適切な値で割ることにより、フィルタの利得の最大値が確実に１以下になるようにして下さい。設計したフィルタの振幅特性は、z平面での零点の配置から予想される結果となっているでしょうか？
      </para>
    </section>
  </content>
  
</document>
