概略

高速フーリエ変換(FFT)アルゴリズムを使って離散フーリエ変換(DFT)を計算します
離散フーリエ変換は入力信号が周期的であると仮定して計算するので、周期的でない信号では意味のない計算になってしまいます

フーリエ変換とは

大雑把に説明すると「入力信号を周波数ごとに分ける」計算をします
例えば下図のような入力信号は5Hz+20Hz+100Hzの周波数に分解することができます

FFTによる周波数分解の説明図
入力信号を周波数成分に分解する例

利用例

モーターなどの異常を早期に発見することを期待します
正常運転時の振動データをFFT変換して、常に現在のFFT変換データと照らし合わせて違いが出てきたら警告を出すなど

FFTを用いたモーター振動解析の例
FFTを用いたモーター振動解析の例

シンボル

FFT

FFTの計算をします

入出力
Data
サンプリングデータ
入力
WindowType
窓関数
出力
Out
パワースペクトル

窓関数(WindowType)

窓関数
0ハニング窓
1ハン窓
2ブラックマン窓
それ以外矩形窓

サンプリングデータの取り方

サンプル数

サンプリングデータ(Data)は512,1024,2048,4096,8192,16384個のいずれかの要素数を持つ配列に入れてください
サンプリングデータ数が多いほど分解能が上がりますが、計算時間は長くなります
8192,16384個を追加しました(Ver0.0.3)

サンプリング周期

サンプリング周波数の半分の周波数まで観測ができます
例えば、サンプリング周波数が1kHzなら500Hzまで、10kHzなら5kHzまで観測できます

FFTを連続で計算するときの実行タイミング

サンプリングデータ数のデータがそろえばFFTの計算を実行するようにします
FFTの計算は時間がかかるため連続してサンプリングデータを取りたい場合は、下図のように一杯になったサンプリングデータ1のFFTの計算をしながら、サンプリングデータ2を別のメモリに格納していきます
連続する必要がなければFFT計算後にサンプリングを始めたり、頻繁にFFT計算を行いたい場合はサンプリング1とサンプリング2を被せてサンプリング3、サンプリング4・・・と作ることも可能です

FFT連続実行時のサンプリングイメージ

よくある質問

FFTとは何ですか?

FFTは高速フーリエ変換のことで、 時間波形データを周波数成分へ変換するアルゴリズムです。

なぜサンプル数を2のべき乗にするのですか?

FFTアルゴリズムが効率よく計算できるためです。

サンプリング周波数はどう決めますか?

観測したい最高周波数の2倍以上に設定します。

FFTで異常検知はできますか?

モーターやベアリングの振動解析で広く利用されています。

関連ページ

使い方ナビ

FFT解析の手順

ダウンロード

この記事へのコメント