【IIRフィルタ】第5回:簡単一次IIRフィルタの正弦波入力応答波形

最近の記事では、一次のIIRフィルタで簡単なローパスフィルタを設計している。計算式は、しばらく前の記事から、

前回のおさらい

最近の記事では、一次のIIRフィルタで簡単なローパスフィルタを設計している。
計算式は、しばらく前の記事から、

$$y(nT) = x(nT) – (1-e^{-\frac{T}{\tau}}) * y((n-1)T) + y((n-1)T)   (式9)$$

である。計算の簡単化のために、係数1/16を使用して、時定数τは約15msである。

インパルス応答、ステップ応答は、先の記事で計算してみた。

今回は、正弦波入力$x(nT)$を入れた応答出力$y(nT)$を計算する。
いずれも、サンプリング周期T=1ms、横軸は時間[ms]である。

実数演算と整数演算を比較して示す。整数演算の場合の正弦波振幅は127として、整数に丸めた入力を使用している。同様に整数演算1/16の出力も整数に丸めている。また、いずれの波形においても、入力を16倍にした出力(理想波形出力)と比較している。16倍の16は、先の記事で書いたように最終値の定理で求められる。

周期1000ms の正弦波入力に対する出力

実数演算

整数演算

時定数15msのローパスフィルタに対して、1000ms周期を正弦波を入力した場合、出力の振幅、位相ともに入力に対して大きな変化がない。

実数計算、整数計算の大きな差もない。

差異の詳細については、追ってアップロードするエクセルファイルを見てください。

周期100ms の正弦波入力に対する出力

実数演算

整数演算

出力振幅は2032の期待に対して、実際は1454であり、約0.721になっている。位相は12msほど遅れている。周期100msに対して、位相遅れを計算すると、12ms/100ms*360°=43°程度になる。

後日、アップロード予定のゲイン特性の10Hz(周期100ms)計算値は、0.717であり、上記の約0.721と一致している。また、位相特性の100Hz計算値は、-42°で、上記の43°程度と一致している。

別の周波数の正弦波入力に対する出力波形は、次の記事で。