« 開ループ伝達関数 | トップページ | 久し振りに知り合いに会ったら »

2008年11月26日

簡単一次IIRフィルタに±パルスを入力した応答波形

簡単一次IIRローパスフィルタに±パルスを入力した応答波形を調べてみよう。

モータ制御していて、位置制御でサーボロックをかけたとき、このような現象が起こる。

フィルタの計算式は

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

    (式11)

この式の背景は、

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

および

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

の記事を参照してください。

整数演算で1/16を行っているため、桁落ちが発生する。この影響を小さくするために、+127、-127のパルスを入力している。

サンプリング周期T=1msの場合、時定数τは約15msになる。

■40ms毎、+127、-127のパルスを入力した場合の出力(整数演算)

横軸はサンプリング。サンプリング周期T=1msの場合、時間[ms]になる。

1_16_conti_pluse_both_40ms_integer

■80ms毎、+127、-127のパルスを入力した場合の出力(整数演算)

1_16_conti_pluse_both_80ms_integer

飽和している値は15。1/16の整数計算をしているので、15が1/16でゼロになってしまい、残ってしまう。詳細の記事は、インパルス応答の記事

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

を参照してください。

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

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

Link: 

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

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

|

« 開ループ伝達関数 | トップページ | 久し振りに知り合いに会ったら »

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

コメント

コメントを書く



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


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



トラックバック


この記事へのトラックバック一覧です: 簡単一次IIRフィルタに±パルスを入力した応答波形:

« 開ループ伝達関数 | トップページ | 久し振りに知り合いに会ったら »