質問: 加速度計の重力加速度とノイズの除去 200hzで得られた3軸加速度データの重力加速度とノイズの除去は、どのように行えばよいのでしょうか? バンドパス、ハイパス、ローパス、バタワースなど様々なフィルターがあるのは分かったのですが、 カットオフ周波数や何次のフィルターをかければ良いのかということが分かりません。 matlabに関してはまったくの素人ですが、ご教授いただければ幸いです。 よろしくお願いいたします。
回答: 除去したいノイズの周波数特性は把握していますか? フィルタというものは、特定の周波数を増幅させたり減衰させたりするものなので、ノイズをフィルタで除去したいのであれば、ノイズの周波数特性を把握する必要があります。同時に信号成分(ここでは加速度信号)もフィルタの影響を受けることに注意しなければなりません。 ノイズが全周波数帯域に渡って存在する、いわゆるホワイトノイズのようなものだったり、得たい信号と同じ周波数帯域だったりすると、フィルタでは除去することができません。 そういったことから加速度センサのノイズを除去するには、複数センサー信号を使って補完する相補フィルタや、状態推定からノイズをキャンセルするカルマンフィルタなどが使用されます。(後者のほうが高度です。) このページに特徴が説明してあります。 https://sites.google.com/site/yamagajin/home/filter カルマンフィルタの例題がdsp system toolboxにあります。 https://www.mathworks.com/help/releases/r2018b/dsp/examples/radar-tracking.html 通常のフィルタを使うのあれば、まずiirフィルタを使うかfirフィルタを使うかを決めます。 iirは位相特性が非線形たなめ位相が乱れますが、振幅特性は急峻な特性が得られます。 firは位相が線形となる特長があるので、位相成分を気にするようであればこちらを使います。 フィルターデザイナーを使うと様々なフィルタタイプを試行錯誤して、特性を確認しながら設計できます。 > filterdesigner または アプリタブにフィルターデザイナーのアイコンがあります。 念のため、filterdesignerはsignal processing toolboxかdsp system toolboxが無いと使えないと思います。