« 会社を辞めるチャンス(辞職の理由に事欠かない) | トップページ | 係数1/8の一次IIIRフィルタのステップ応答、インパルス応答 »

2008年11月29日

簡単1次IIRフィルタに連続パルス入力入れた出力波形

超簡単な一次のIIRフィルタ

y(nT) = x(nT) - 1/16*y{(n-1)T} + y{(n-1)T}

    (式11)

に連続したパルスを入力してみる。計算の簡単化のために、係数1/16を使用している。サンプリング周期T=1msの場合、時定数τは約15msになる。設計の詳細については、前の記事

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

および、係数1/16の背景については、

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

を参照してほしい。

さて、整数演算のため、途中の1/16で桁落ちするので、パルスは127の大きさのパルスを入力する。横軸はサンプリングn、サンプリング周期T=1msの場合は時間[ms]になる。

■40ms周期でパルスを入力した場合の出力y(nT)

40ms毎に1msの127の値が入力されるので、平均値127*1ms/40msに、最終値16を掛けた値と比較している。

最終値については、記事

http://robotcontroller.cocolog-nifty.com/blog/2008/11/iirt1ms15ms-820.html

の中ほどを参照してほしい。

1_16_conti_pluse_40ms_integer

■20ms周期でパルスを入力した場合の出力y(nT)

平均値127*1ms/20msに対して、最終値16を掛けた値と比較している。

1_16_conti_pluse_20ms_integer

■10ms周期でパルスを入力した場合の出力y(nT)

平均値127*1ms/10msに対して、最終値16を掛けた値と比較している。

1_16_conti_pluse_10ms_integer

■5ms周期でパルスを入力した場合の出力y(nT)

平均値127*1ms/5msに対して、最終値16を掛けた値と比較している。

1_16_conti_pluse_5ms_integer

出力y(nT)は、ローパスフィルタが効いて、連続パルス入力の平均値を得ていることがわかる。読者のみなさん、使えそうですか?

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

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

Link: 

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

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

|

« 会社を辞めるチャンス(辞職の理由に事欠かない) | トップページ | 係数1/8の一次IIIRフィルタのステップ応答、インパルス応答 »

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

コメント

コメントを書く



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


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



トラックバック


この記事へのトラックバック一覧です: 簡単1次IIRフィルタに連続パルス入力入れた出力波形:

« 会社を辞めるチャンス(辞職の理由に事欠かない) | トップページ | 係数1/8の一次IIIRフィルタのステップ応答、インパルス応答 »