【IIRフィルタ】第11回:簡単一次IIRフィルタに±パルスを入力した応答波形

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

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

フィルタの計算式は

$$y(nT) = x(nT) – \frac{1}{16} * y((n-1)T) + y((n-1)T)   (式11)$$

この式の背景は

あわせて読みたい
【IIRフィルタ】第1回:インパルス不変法による一次IIRフィルタ設計(基本、初歩) さて、FIRフィルタの次は、IIRフィルタを設計してみる。 FIRフィルタに関しては【FIRフィルタ】シリーズに詳しく書いてあります。 https://primemotion.com/filter FIR...
あわせて読みたい
【IIRフィルタ】第2回:一次IIRフィルタの簡単お手軽な実装 前回のおさらい 一次遅れのIIRフィルタの計算式は $$y(nT) = x(nT) +  e^{-\frac{T}{\tau}} * y((n-1)T)    (式8)$$ となる。 さて、係数の$e^{-\frac{T}{\...

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

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

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

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

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

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

飽和している値は15。1/16の整数計算をしているので、15が1/16でゼロになってしまい、残ってしまう。

詳細の記事は、インパルス応答の記事

あわせて読みたい
【IIRフィルタ】第3回:簡単一次IIRフィルタのインパルス応答波形 前回のおさらい 1次のIIRローパスフィルタは、以下の式で実現できる。 $$y(nT) = x(nT) - (1-e^{-\frac{T}{\tau}}) * y((n-1)T) + y((n-1)T)   (式9)$$ ここで、例...

を参照してください。

エクセルのデータはこちら
簡単一次IIRフィルタに±パルスを入力した応答波形 Excelデータ