信号処理の際、窓関数の使用有無とフーリエ変換後の各周波数帯域ごとのパワーの算出はどのようにすべきですか?
16 ビュー (過去 30 日間)
古いコメントを表示
初心者です。 生体から得られた電気信号を解析しています。 得られたデータを再配列し、フィルター処理、リサンプリングは終了しています。 さぁここから解析していくところです。 ①フーリエ変換を実施する際、変換する前に窓関数を使用したほうが良いのでしょうか? ②フーリエ変換後、各周波数帯域(5Hz-15Hzなど)のそれぞれのパワーを算出するにはどのような式を用いれば良いのでしょうか? 簡単なところだと思いますが教えていただけるとありがたいです。
1 件のコメント
回答 (1 件)
Hiro Yoshino
2019 年 11 月 11 日
(1)
離散フーリエ変換は処理するデータが周期的であると仮定します。従って、今お持ちのデータの二倍の長さの測定を仮に実施したとすると、今お持ちのデータ二つ分が出てくるという仮定があります。つまり、データの始まりと終わりが同じ値であるはずですね。しかし通常のデータは、そんなに都合よく出来ていません。窓を使わずにそのまま解析してしまうと、この値のズレを補正するための辻褄合わせの高周波数成分が出てきてしまいます。窓関数はデータの始まりと終わりを一致させる役割を持っており、これにより高周波成分を防ぎます。従って、この恐れがあるなら窓関数を使ってください。ただ、その恐れがなければ、窓関数を使う事で副作用もありますので、使わない方が良いです。
(2)
離散フーリエ変換をすると各周波数に対応した複素数が得られます。
複素数なので、その絶対値を取ってパワーを計算します。係数等の細かい部分はご自身の流派に合わせて頂く(数学系と電気系だと違ったりします)として、パワーは
のようにabs関数で得ることができます。
0 件のコメント
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!