質問: 振幅を求めるのに最適な窓関数 サンプリング周期1usで収集した10万点(0.1秒間連続測定)のデータがあります。 これは正弦波信号+ノイズというもので、正弦波の周波数は約100khzです。 この正弦波の時間的なゆらぎを求めたいので、例えば5万点づつにデータを分割し、その5万点にdftを行ってピークとなる振幅を求める方法を考えました。 この場合5万点のデータ数だと周波数分解能は100hzとなるため、もし本来の周波数が例えば100.03khzだとするとその振幅情報は本来の振幅に比べてかなりずれてしまいます。 これは解析対象区間に含まれる正弦波の数が整数個でないことに起因するのですが、このような場合窓関数を使うように言われていますが、振幅の誤差が1%以下とするためにはどのような窓関数を使ったらよいでしょうか? または、別の方法で振幅を1%以下の精度で求められるという情報でも助かります。
回答: 私は化学屋ですが、nmrでフーリエ変換にお世話になって おりますので、答えてみます。 主成分周波数の振幅だけを求めたいのでしたら、 間違いなく方形窓でしょう。 参考urlでいくつかの窓関数の比較がされています。 ちなみに普段nmrでは、デフォルトでgaussianを使っております。 積分値がそれなりに正確に求まりますので、複数の位相の振幅を 求めるのであればガウス窓を用いるのがきっと良いのでしょう。 ところで誤差というのは振幅の誤差のことですよね? 周波数の誤差ではないですね?