« 係数1/8の一次IIIRフィルタの周波数特性 | トップページ | ブルー・オーシャン戦略 »

2008年12月 3日

一次IIIRローパスフィルタの簡単実装まとめ

インパルス不変法で一次IIRローパスフィルタを設計して、

 y(nT) = x(nT) +  e^(-T/τ)*y{(n-1)T}

   (式8)

のフィルタ計算式を得た。

詳細の導出については、以下の記事を参照。

http://robotcontroller.cocolog-nifty.com/blog/2008/11/iir-8a20.html

このブロック図は、以下となる。

1stiir_const1

これを置き換えると、

1stiir_const2_2

となる。係数1-Aを右シフト演算で置き換えると

1stiir_const4_2   

となる。

この右シフト回数nと、時定数τ、最終値の関係を表に示す。この表では、サンプリング周期T=1msとしている。

Motion_oyaji_time_constant

例えば、右シフト回数が4回、したがって、1/2^4=1/16=1-Aのとき、時定数τは約15.5msとなる。

この係数のときのインパルス応答は、0に漸近しないで、15に落ち着いてしまうことに注意したい。これは1/16の整数演算で、15が桁落ちで後段に伝搬しないことによる。詳細は、以下の記事を参照されたい。

http://robotcontroller.cocolog-nifty.com/blog/2008/11/iir-ad59.html

また、右シフト回数が4回、1/16演算をすると、フィルタ出力の最終値が分母の値16になることにも注意したい。

上記表のエクセルはこちら

「motion_oyaji_time_constant_table.xls」をダウンロード

次に、サンプリング周期Tを変えたら、どのような時定数τが得られるか表に示す。

Motion_oyaji_time_constant_vart

右シフト回数n=4にて、サンプリング周期T=2msならば、時定数τ=31msになる。

エクセルのデータはこちら

「motion_oyaji_time_constant_table_varT.xls」をダウンロード

この表の時定数で満足できないときは、以下の計算ブロック図を試してみてほしい。つまり、B=1/8(右シフト3回)、C=1/16(右シフト4回)とすれば、中間の時定数が得られる。、

1stiir_const3_2

Link: 

「モーションおやじ」のプライムモーション社(みんなで手軽にWindowsリアルタイムIO制御)

プライムモーション(Windowsで手軽にリアルタイムIO制御)

|

« 係数1/8の一次IIIRフィルタの周波数特性 | トップページ | ブルー・オーシャン戦略 »

技術フィルタ」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 一次IIIRローパスフィルタの簡単実装まとめ:

« 係数1/8の一次IIIRフィルタの周波数特性 | トップページ | ブルー・オーシャン戦略 »