FFT の前に確かめること
- サンプリング周波数: 1 秒あたりの点の数です。記録の間隔が 0.001 秒なら 1000 Hz です。
- 調べられる周波数の上限(ナイキスト周波数): サンプリング周波数の半分までです。1000 Hz で記録したデータでは 500 Hz まで。それより高い成分は、低い周波数に化けて(折り返して)見えます。
- 周波数の細かさ: おおよそ「1 ÷ 計算に使う時間」です。10 秒ぶんのデータなら約 0.1 Hz ごとに分かれます。
- 記録の間隔がそろっていること: FFT は等間隔のデータが前提です。欠測や時刻の飛びがあると、周波数がずれて見えます。
Excel で FFT をするとき
Excel では、分析ツール(アドイン)の「フーリエ解析」で FFT ができます。ただし、次の点で手間がかかります。
- データの個数は 2 のべき乗(1024・2048 など)で、最大 4096 個までです。長い記録は切り出して使います。
- 結果は複素数で出るので、IMABS 関数などで大きさに直し、周波数の列も自分で作ります。
- 窓関数をかけるときは、別の列で計算しておく必要があります。
一度だけ確かめるなら Excel でも十分です。何本もの系列を見比べたり、時間の範囲を変えて調べ直したりするなら、FFT の機能を持つソフトのほうが早く済みます。
窓関数と表示量の選び方
| 窓関数 | 向いている使い方 |
|---|---|
| Hann | ふだんの使い方。迷ったらこれ |
| Flat top | 振幅を数値として正しく読みたいとき(山の幅は広がる) |
| 矩形(窓なし) | 区間の長さがちょうど周期の整数倍になっている信号 |
縦軸には、何を読みたいかで量を選びます。正弦波の大きさを読むなら振幅(0-p)や実効値(RMS)、雑音の大きさを比べるならPSD(パワースペクトル密度)です。PSD は計算に使う点の数によらないので、長さの違うデータどうしでも比べられます。区間ごとに計算して平均する Welch 法を使うと、雑音の部分がなめらかになり、読みやすくなります。
LOGADEC で FFT をする手順
- ブラウザで今すぐ試すから起動するか、無償版をダウンロードして、展開した HTML ファイルを Google Chrome か Microsoft Edge で開きます。
- [CSV/Excel]で CSV を読み込み、[系列]タブで調べたい系列にチェックを入れます。
- ツールバーの[FFT]を押します。系列ごとに段を分けてスペクトルを表示し、段の名前にいちばん大きい成分の周波数を出します。
- [解析]タブの「FFT表示」で、表示量(振幅・実効値・PSD など)と窓関数を選びます。
- 一部の時間だけを調べるときは、対象を「現在表示レンジ」にします。時系列の表示(統合・縦列)でその時間を表示してから[FFT]に戻ると、その範囲だけで計算します。
X軸の単位がミリ秒のデータでも、秒に直して Hz で表示します。周波数の時間変化は STFT やウェーブレット、特定の周波数を取り除くにはフィルタ(ローパス・ノッチなど)を使います。くわしくは説明書の周波数の解析をご覧ください。
計算の決まり(知っておくと安心)
- 計算に使う値は、グラフに描いている値(単位換算とフィルタをかけた後)です。
- 点の数が 65,536 点を超えるときは、折り返しを抑える平均をかけてから点を減らして計算します。高い周波数の成分は小さくなるので、段の名前に注意の印が付きます。高い周波数を正しく見たいときは、時間を区切って「現在表示レンジ」で計算します。
- X が戻る箇所や同じ X が続く箇所があるときは、等間隔の 1 本の列として扱えないので計算しません。記録の間隔のばらつきが大きいときは、注意の印を付けて計算します。