「FIRフィルタとIIRフィルタ」の編集履歴(バックアップ)一覧はこちら
「FIRフィルタとIIRフィルタ」(2012/10/20 (土) 23:02:55) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**巡回形と非巡回形
フツーのシステムを考えると、因果関係から
$$y[k]=\sum_{m=0}^M a_m x[k-m]+\sum_{n=1}^N b_n y[k-n]\cdots (1)$$
として一般的な差分方程式が書けます。つまり時間$$k$$の出力が、それ以降の$$k+1$$とかの時間の影響を受けないということです。
ここで式(1)について右辺の$$\sum_{n=1}^N b_n y[k-n]$$が無いような場合を考えます。これは要するにフィードバックがないシステムということで
$$y[k]=\sum_{m=0}^M a_m x[k-m]\cdots(2)$$
という風になります。このようなシステムを&bold(){非巡回形}と言います。対してフィードバックがある式(1)のような形を&bold(){巡回形}と言います。
式(2)をz変換すると
$$ Y(z)=\sum_{m=0}^M a_m z^{-m} X(z)$$
のようになるんで、伝達関数は
$$ H(z)=\sum_{m=0}^M a_m z^{-m} $$
のような$$z^{-1}$$の多項式として表すことができます。
次に式(1)をz変換して整理すると
$$ H(z)=\frac{\sum_{m=0}^M a_m z^{-m}}{1-\sum_{n=1}^N b_n z^{-n}} $$
**FIR/IIRフィルタ
普通のフィルタだとインパルスをパッと入れてしばらく待ってると出力は無くなりそうです。
一瞬しか入れてないのにずっとなんか出てきたら怖いですよね。
このように、インパルス応答の継続時間が有限であるようなフィルタを&bold(){FIRフィルタ}といいます。
こういう風に特別に名前を付けるということは理論上継続時間が無限であるようなフィルタもあるということです。
このようなフィルタを&bold(){IIRフィルタ}と言います。
じゃあどうするとIIRフィルタになるのかというと・・・前項でやったようなフィードバックを掛けてやれば実現できそうですね。
#javascript(){{
<!-- admax -->
<script type="text/javascript" src="http://adm.shinobi.jp/s/2378325e5782e4336b0932b16cb17597"></script>
<!-- admax -->
}}
**巡回形と非巡回形
フツーのシステムを考えると、因果関係から
$$y[k]=\sum_{m=0}^M a_m x[k-m]+\sum_{n=1}^N b_n y[k-n]\cdots (1)$$
として一般的な差分方程式が書けます。つまり時間$$k$$の出力が、それ以降の$$k+1$$とかの時間の影響を受けないということです。
ここで式(1)について右辺の$$\sum_{n=1}^N b_n y[k-n]$$が無いような場合を考えます。これは要するにフィードバックがないシステムということで
$$y[k]=\sum_{m=0}^M a_m x[k-m]\cdots(2)$$
という風になります。このようなシステムを&bold(){非巡回形}と言います。対してフィードバックがある式(1)のような形を&bold(){巡回形}と言います。
式(2)をz変換すると
$$ Y(z)=\sum_{m=0}^M a_m z^{-m} X(z)$$
のようになるんで、伝達関数は
$$ H(z)=\sum_{m=0}^M a_m z^{-m} $$
のような$$z^{-1}$$の多項式として表すことができます。
次に式(1)をz変換して整理すると
$$ H(z)=\frac{\sum_{m=0}^M a_m z^{-m}}{1-\sum_{n=1}^N b_n z^{-n}} $$
という形で持って、巡回型の伝達関数が表せることが分かります。
**FIR/IIRフィルタ
普通のフィルタだとインパルスをパッと入れてしばらく待ってると出力は無くなりそうです。
一瞬しか入れてないのにずっとなんか出てきたら怖いですよね。
このように、インパルス応答の継続時間が有限であるようなフィルタを&bold(){FIRフィルタ}といいます。
こういう風に特別に名前を付けるということは理論上継続時間が無限であるようなフィルタもあるということです。
このようなフィルタを&bold(){IIRフィルタ}と言います。
じゃあどうするとIIRフィルタになるのかというと・・・前項でやったようなフィードバックを掛けてやれば実現できそうですね。
#javascript(){{
<!-- admax -->
<script type="text/javascript" src="http://adm.shinobi.jp/s/2378325e5782e4336b0932b16cb17597"></script>
<!-- admax -->
}}