2021/06/15

概略

ここでは高速アナログ入力ユニット(NX-HAD???)を使って振動などの周期的なデータをFFT解析して表示器NAシリーズにグラフ表示するまでの手順を説明します。

アナログデータを解析したFFTのグラフをNA表示器で表示
FFTグラフ NA表示器

その後アナログ入力データとFFT解析したデータをSDカードへcsv出力するまでの手順も説明します。

準備

計測対象

周期性のある波形が計測対象になります
フーリエ変換は周期性のある波形を複数の単純なSin波に分解するのですが、一般的には周期性のある波形をある一定期間(数ミリ秒から数秒)を切り取って計算します。 周期性のある波形とはモータが同じ回転数で回っているときのようなウーーンとかブーーンとかキーーンとかいう音や振動、または物体をハンマーで叩いた時の音や振動のことです。 計算対象を切り取る一定期間内にモータの回転数が変わったり、ノックのように複数回叩いたりすると周波数がバラついた計算結果になってしまうので注意してください。

周波数

計測したい周波数がどれぐらいなのかを大まかに決めます。 可聴帯域内であればこんな感じの音を目安にします。

  • 30Hz
  • 50Hz
  • 100Hz
  • 440Hz 国際標準ピッチ(♪ラの音)
  • 10kHz テレビのテストトーン
  • 15kHz

サンプリング周波数

サンプリング周波数(アナログ値を取得する周期)によって観測できる周波数が変わります。 サンプリング周波数を高速にすると高周波を観測できますが振動センサなど接続するセンサの性能より低い周波数でサンプリングすることになります。 FFTの計算をする時にサンプリング周波数の半分の周波数をナイキスト周波数といい、この周波数以上は折り返したデータとなるため無視します

NOTE
サンプリング周波数を高くするとFFTの演算にかかる時間が長くなりスキャンタイムが長くるのでタスク周期を長くするとかイベントタスクで実行するとか工夫が必要になります

サンプリング周波数と観測可能な周波数の関係
サンプリング周波数(Hz)FFT計算後の最大周波数(Hz)
1k500
2k1k
5k2.5k
10k5k
20k10k
100k50k

データ数

フーリエ変換の計算をするデータ数を2のn乗にすることで高速に計算できるFFT(高速フーリエ変換)での計算が可能になります。

NOTE
サンプリングするデータ数を多くすると分解能が細かくなりますが、収集時間が長くなります

データ数と収集時間と分解能の関係(サンプリング周波数=10kHzの場合)
データ数収集にかかる時間分解能
51251.2ms19.53Hz
1024102.4ms9.77Hz
2048204.8ms4.88Hz
4096409.6ms2.44Hz
8192819.2ms1.22Hz
163841638.4ms0.61Hz

次のページからは

アナログデータを取得してFFT計算をする手順を説明します

ダウンロード

ここで作るプロジェクトを先にダウンロードしたい人は

この記事へのコメント