• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:移動平均とローパスフィルタについて(matlab))

移動平均とローパスフィルタについて(matlab)

このQ&Aのポイント
  • 移動平均とは、一定の範囲のデータの平均値を計算する方法です。
  • ローパスフィルタは、高周波成分を除去し、低周波成分を通過させるフィルタです。
  • 移動平均プログラムと同様の結果が得られるようなローパスフィルタを設計する方法が知りたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • masudaya
  • ベストアンサー率47% (250/524)
回答No.4

ハードで実現する場合は,FPGAで行う場合シフトレジスタにためて,加算して,係数を掛ける格好になると思います. 100個の和になるので,そのまま加算する場合は桁上がりに注意が必要です.係数を掛けてから加算した方が良いかもしれません.添付のURLに4段の場合のVDHLが書かれていました.参考までに. 前の方もおっしゃっていましたが,100個の移動平均であれば,100個分の時間を待つ必要がありますので,その処理を入れておく必要があると思います.ご注意ください.

参考URL:
http://www.ie.u-ryukyu.ac.jp/~wada/cad05/avg/avg4.vhd

その他の回答 (3)

noname#221368
noname#221368
回答No.3

 まず100個で移動平均を取ると、100個の平均が0の周波数成分は全部消える訳ですよね?。100個で余りが出るものについては、少々端数が出ますが、そんなに大きくないでしょう。  そうすると概ね10Hzのハイカット(ローパス)と、そんなに変わらないのでは?。#2さんが妥当と思います。

mizore0623
質問者

補足

現在はプログラム上で行っていますが、今後ハードウェアで設計したいと考えています。そのため、常に過去100点分保持しておくような方法ではなく、フィルタのようにpoint by point でできる方法で実装したいと考えています。 簡単に変換することは可能でしょうか?

  • foobar
  • ベストアンサー率44% (1423/3185)
回答No.2

デジタルフィルタ(FIR)でしたら、そのまま、過去100点分のデータの平均を取る、で良いかと思います。 他の手法で、ですと、別途設計が必要になるかと思います。

mizore0623
質問者

補足

現在はプログラム上で行っていますが、今後ハードウェアで設計したいと考えています。そのため、常に過去100点分保持しておくような方法ではなく、フィルタのようにpoint by point でできる方法で実装したいと考えています。 簡単に変換することは可能でしょうか?

  • 178-tall
  • ベストアンサー率43% (762/1732)
回答No.1

ひとまず、参照 URL …   

参考URL:
http://www.heg.co.jp/dspnyuumon/dsp1-3.htm
mizore0623
質問者

補足

ありがとうございます!

関連するQ&A