以下に、信号のパワースペクトルを計算する方法をコードで示します。
Fs=100;
n = length(x) (in my example always n=160);
whann = window(@hann,n).';
x = whann.*x';
xdft = fft(x);
xdft = (2/length(x))*xdft(1:length(x)/2+1);
xdft = abs(xdft);
xdft=xdft.^2;
freq = 0:Fs/length(x):Fs/2;
ここで、パワースペクトルの下の面積を計算したいと思いますが、周波数範囲は4〜6Hzのみです。ベクトル周波数の最初の32個の要素は次のようになります。
freq = [0,00 0,28 0,56 0,83 1,11 1,39 1,67 1,94 2,22 2,50 2,78 3,06 3,33 3,61 3,89 4,17 4,44 4,72 5,00 5,28 5,56 5,83 6,11 6,39 6,67 6,94 7,22 7,50 7,78 8,06 8,33]
したがって、4,17 Hz〜6,11Hzの領域しか見つかりません。
特定の周波数範囲(たとえば4〜6 Hz)のスペクトル下の面積を計算する方法を教えてください。
助けてくれてありがとう