実現したいこと
FIRフィルター(LPF)を元データに対して掛けるプログラムを作る
1)FIRフィルタリングするには、元データにおいてTAP数分進んだ時点から差分方程式を当てはめて計算するのですが、それ以前のデータにはその差分方程式が使えません。この場合どういった考え方をするのが妥当なのでしょうか? 例えば最初の(TAP数-1)分データは無視するのですか?
ちなみにFIRに類似の移動平均フィルターに関してMathWorksのマニュアルでは上記の場合、初めのデータ(0番目から平均値を算出するためのN-1)はN数を調整する(減らすという意味か)また端点は平滑化されないとありますので、FIRもなんらかの工夫があるのかもしれませんと考えての質問です。
2)同MathWorksマニュアルの移動平均フィルターに関して「平滑化するデータ点は範囲の中央になければなりません。」とあります。
参考⇒ https://jp.mathworks.com/help/curvefit/smoothing-data.html
すなわちTAP数に相当する総数は2N+1です。(NはYs(i)の片側の隣接データ点の数) FIRフィルターの場合は過去のTAP数を使うことになっているようで、私は混乱しました。重み付き移動平均という意味合いのFIRフィルターとしては、データ範囲に関して本来MathWorks法のほうが妥当なのではないかと感じました。なぜなら過去よりも現在のほうにより重みを付けるように差分方程式は考えられていますし、窓関数の意味合いからも両端の打ち切り誤差を少なくし重要な中央値が現在を表すのが妥当かと思います。どちらが正しいのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/06/05 23:56