移動平均とFIRフィルタ

Written on 2018-10-13

センサからの信号を処理する時など、ノイズ低減の目的で移動平均フィルタを使うことがある。 アルゴリズムが理解しやすく(平均は小学生でもわかる)、実装が簡単で(コツもあるが)、ある程度の効果もある。 しかし、大学ではFIRなどのフィルタを習う。どっちがいいのだろうか?Jupyter Notebook の結果を GitHub Pages に貼る実験も兼ねて計算してみた。

結果はリンク先の記事(Gist)を見ていただければわかるとおり。

  • 7タップまでは移動平均で十分。
  • 9タップ以上だとFIRフィルタを設計する価値が出てくる。
  • これぐらいのタップ数だと32ビット整数演算でもそれほど精度を損なわない。

ただし、最も言いたいことは、これらの結果ではない。

こんなにも簡単に確認できるのだから、自分の設計について、推測や過去の踏襲で済ませずに、必ずこのように定量的な比較検討を行い、レポートを残そう。

Jupyter Notebook は現代の電卓でありエクセルだ。