前回の続きで、一次IIRローパスフィルタに正弦波を入力して、その入力と出力の比較波形をしめす。
ディジタルフィルタの計算式は、
$$y(nT) = x(nT) – \frac{1}{16} * y((n-1)T) + y((n-1)T) (式11)$$
横軸はサンプリングn、サンプリング周期T=1msなら、時間[ms]となる。サンプリング周期T=1msのとき、時定数が約15msのローパスフィルタになる。
細かい条件は、こちらの記事を参照して下さい。
入力する正弦波の周期は 20ms、10ms、5msの3パターンを考える。
実数演算
整数演算
出力振幅は2032の期待に対して、408くらいであり、約1/5になっている。また、位相は4msほど遅れている。周期20msに対して、位相遅れを計算すると、4ms/20ms*360°=72°程度になる。
後日、アップロード予定のゲイン特性の50Hz(周期20ms)計算値は、0.20であり、上記の約1/5と一致している。位相特性の50Hz計算値は、-69°で、上記の72°程度と一致している。
実数演算
整数演算
振幅は2032の期待に対して、313くらいであり、約0.15倍になっている。位相は2msほど遅れている。周期10msに対して、位相遅れを計算すると、2ms/10ms*360°=72°程度になる。
後日、アップロード予定のゲイン特性の100Hz(周期10ms)計算値は、0.10であり、上記の約0.15と一致している。周期が短くなって、波形が粗くなってくるので、これくらいの誤差はある。位相特性の100Hz計算値は、-66°で、上記の72°程度と一致している。
実数演算
整数演算
周期5msなので、1周期内に5サンプリングしかない状態で、非常に粗い波形になっている。
振幅は2032の期待に対して、104くらいであり、約0.05倍になっている。位相は0.5msほど遅れている。周期5msに対して、位相遅れを計算すると、0.5ms/5ms*360°=36°程度になる。
後日、アップロード予定のゲイン特性の200Hz(周期5ms)計算値は、0.055であり、上記の約0.05倍と一致している。位相特性の200Hz計算値は、-51°で、上記の36°程度に近い。
今回使用したエクセルの計算データは、こちら
簡単一次IIRフィルタの正弦波入力応答波形 Excelデータ
※圧縮してあります。