■FFT解析とは
FFTは
”対象の信号がどのような周波数成分で構成されているか”
を調べることができる解析手法です。
例えば、信号にノイズがあってなんかうまくいかね、うまくいかなくね?
というときにFFT解析を行うと
60Hz近辺のレベルが若干高くてああハムノイズで劣化してるのね,とか
時間軸上での波形を見ただけでは分かり難いことが
容易に理解できたりします。ステキですね。
■FFTの注意点
FFTはよく使用される解析手法ですが
得たい結果にあわせて解析設定を指定しないと
妥当な解析結果を得ることができません。
また、正しい設定で得たFFT結果も
FFTの特性を踏まえた上で解釈しないと
間違った判断をしてしまう可能性もあります。
つまりFFT結果はグラフ表示できて一見理解し易い
がゆえに、間違いに気づきにくいんですね、
気をつけろ、俺!!ということです。
■解析用のsine波の生成
あらかじめ妥当なsine波を生成し、そのFFT解析を行うことで
scilabのFFT実行の説明を行います。
サンプリング周波数 : 10Hz
sine波周波数 : 1250Hz
sine波波高値 : -6[dBFS]
サンプル数 : 16個
sine波周波数は、FFTの周波数分解能に合わせてこの値を指定しています。
また、サンプル数16個にも理由があり、
FFTポイント数は2のべき乗としなさいってみんなが言ってるからじゃーウラー。
というわけで2の4乗で16としています。
ちなみに、べき乗の数を多くするほど周波数解析精度があがります。
■測定sineの生成
scilabに以下のコマンドを打ち込みsine波を生成します。
-->fs = 10000
fs =
10000.
-->f = 1250
f =
1250.
-->n = 0:1:15
n =
0. 1. 2. 3. 4. 5.
6. 7. 8. 9. 10. 11.
12. 13. 14. 15.
-->sine = 0.5 * sin(2*%pi*(f/fs)*n)
sine =
column 1 to 9
0. 0.3535534 0.5 0.3535534
6.123D-17 - 0.3535534 - 0.5 - 0.3535534 - 1.225D-16
column 10 to 16
0.3535534 0.5 0.3535534
1.837D-16 - 0.3535534 - 0.5 - 0.3535534
この生成したsine波をグラフで表すと以下の様になります。
波形がカクカクしてるのは、サンプリング周波数に対して
周波数が高いため、分解能が低くなってるためで、仕様です。
-->plot(sine)
imageプラグインエラー : ご指定のファイルが見つかりません。ファイル名を確認して、再度指定してください。 (sine_wave_for_fft.png)
最終更新:2009年07月26日 18:32