Welchのパワースペクトル密度推定の算出方法について
19 views (last 30 days)
Show older comments
200Hzでサンプリングした加速度波形について、スペクトラム解析を行っています。 welchの方法を用いて、1024 pointのHamming Windowを使用したスペクトラムの算出をしたいのですが、スクリプトの作成の仕方が分かりません。
Window = hamming(1024);
nfft = 200;
pxx = pwelch(x,window,noverlap,nfft)
だと思いますが、オーバーラップの部分はどのように決定すればよいのでしょうか?
また、横軸が周波数、縦軸がパワースペクトル密度でグラフ化したいのですが、方法が分かりません。
どなたかご教授いただけないでしょうか?
2 Comments
Akira Agata
on 27 Oct 2017
オーバーラップのサンプル点数 noverlap は、Window幅(今回のケースでは1024)以下の数とする必要があります。とくに指定する必要がない場合、 'noverlap' の部分を '[]' に置き換えれば良いかと思います(その場合、 pwelch 関数は自動的にWindow幅の半分の値をオーバーラップとして計算します)。
ちなみに、念のための確認ですが、 nfft の値は200で合ってますでしょうか(サンプリング周波数の200Hzと混同されていないでしょうか)?
Accepted Answer
Akira Agata
on 28 Oct 2017
Edited: Akira Agata
on 28 Oct 2017
オーバーラップのサンプル点数やフーリエ変換のサンプル点数を特に指定する必要がなければ、以下のようにして1024 pointのHamming Windowを使用したパワースペクトル密度(横軸:周波数、縦軸:スペクトル密度)を作成することができます。
window = hamming(1024);
fs = 200;
pwelch(x,window,[],[],fs);
ちなみにフーリエ変換のサンプル点数を特に指定しない場合、 pwelch 関数は自動的にWindowのサンプル点数を満たす2のN乗の値(今回の場合では1024)を使って計算します。詳細は pwelch関数のヘルプページ をご参照下さい。
More Answers (0)
See Also
Categories
Find more on パラメトリック スペクトル推定 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!