信号処理の際、窓関数​の使用有無とフーリエ​変換後の各周波数帯域​ごとのパワーの算出は​どのようにすべきです​か?

5 views (last 30 days)
yuki suda
yuki suda on 15 Jul 2018
Answered: Hiro Yoshino on 11 Nov 2019
初心者です。 生体から得られた電気信号を解析しています。 得られたデータを再配列し、フィルター処理、リサンプリングは終了しています。 さぁここから解析していくところです。 ①フーリエ変換を実施する際、変換する前に窓関数を使用したほうが良いのでしょうか? ②フーリエ変換後、各周波数帯域(5Hz-15Hzなど)のそれぞれのパワーを算出するにはどのような式を用いれば良いのでしょうか? 簡単なところだと思いますが教えていただけるとありがたいです。
  1 Comment
michio
michio on 16 Jul 2018
もし Signal Processing Toolbox が利用いただけるのであればこのページが参考になるかもしれません。

Sign in to comment.

Answers (1)

Hiro Yoshino
Hiro Yoshino on 11 Nov 2019
(1)
離散フーリエ変換は処理するデータが周期的であると仮定します。従って、今お持ちのデータの二倍の長さの測定を仮に実施したとすると、今お持ちのデータ二つ分が出てくるという仮定があります。つまり、データの始まりと終わりが同じ値であるはずですね。しかし通常のデータは、そんなに都合よく出来ていません。窓を使わずにそのまま解析してしまうと、この値のズレを補正するための辻褄合わせの高周波数成分が出てきてしまいます。窓関数はデータの始まりと終わりを一致させる役割を持っており、これにより高周波成分を防ぎます。従って、この恐れがあるなら窓関数を使ってください。ただ、その恐れがなければ、窓関数を使う事で副作用もありますので、使わない方が良いです。
(2)
離散フーリエ変換をすると各周波数に対応した複素数が得られます。
複素数なので、その絶対値を取ってパワーを計算します。係数等の細かい部分はご自身の流派に合わせて頂く(数学系と電気系だと違ったりします)として、パワーは
のようにabs関数で得ることができます。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!