時系列信号でものを言います。
フーリエ変換は時間領域を周波数領域に写像変換します。
例でみてみましょう。10Hzと30Hzの正弦波を合成します。
y = .5*sin(2*pi*10*t) + 2*sin(2*pi*30*t);
FFTをかけるとどうなるか?複素数に変換されます。
tt = linspace(0,2*pi,100);
plot(sin(tt),cos(tt),'--')
plot(cys./(abs(cys)),'o:')
上記のように複素共役の状態で出されます。
パワースペクトルとはフーリエスペクトルを
とすると
です。 ここで注意すべきは実効値の二乗でパワースペクトルは算出されるということです。
つまり振幅を A とすると
となります。 正規化して以下に示します。
P = abs(cy(1:ceil(length(cy)/2)))./(length(y)/2);
idx = knnsearch(f',[10;30]);
scatter(f(idx),P(idx),'o')
text(f(idx),P(idx)+0.1,cellstr(num2str(name)));
リーク誤差が発生していますが、上記のように求めることができました。
----
次はもっと簡単な方法を紹介します
ぶっちゃけ計算は1行で終わります。めちゃくちゃすごいです。
idx = knnsearch(f,[10;30]);
scatter(f(idx),p(idx),'o')
text(f(idx),p(idx)+0.1,cellstr(num2str(name)));
■Harmonic Ratio(HR)について
だと思います。