簡単一次IIRローパスフィルタに±パルスを入力した応答波形を調べてみよう。
モータ制御していて、位置制御でサーボロックをかけたとき、このような現象が起こる。
フィルタの計算式は
$$y(nT) = x(nT) – \frac{1}{16} * y((n-1)T) + y((n-1)T) (式11)$$
この式の背景は
【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データ