ここでは高速アナログ入力ユニット(NX-HAD???)を使って振動などの周期的なデータをFFT解析して表示器NAシリーズにグラフ表示するまでの手順を説明します。
その後アナログ入力データとFFT解析したデータをSDカードへcsv出力するまでの手順も説明します。
周期性のある波形が計測対象になります
フーリエ変換は周期性のある波形を複数の単純なSin波に分解するのですが、一般的には周期性のある波形をある一定期間(数ミリ秒から数秒)を切り取って計算します。
周期性のある波形とはモータが同じ回転数で回っているときのようなウーーンとかブーーンとかキーーンとかいう音や振動、または物体をハンマーで叩いた時の音や振動のことです。
計算対象を切り取る一定期間内にモータの回転数が変わったり、ノックのように複数回叩いたりすると周波数がバラついた計算結果になってしまうので注意してください。
計測したい周波数がどれぐらいなのかを大まかに決めます。 可聴帯域内であればこんな感じの音を目安にします。
サンプリング周波数(アナログ値を取得する周期)によって観測できる周波数が変わります。 サンプリング周波数を高速にすると高周波を観測できますが振動センサなど接続するセンサの性能より低い周波数でサンプリングすることになります。 FFTの計算をする時にサンプリング周波数の半分の周波数をナイキスト周波数といい、この周波数以上は折り返したデータとなるため無視します
NOTE
サンプリング周波数を高くするとFFTの演算にかかる時間が長くなりスキャンタイムが長くるのでタスク周期を長くするとかイベントタスクで実行するとか工夫が必要になります
| サンプリング周波数(Hz) | FFT計算後の最大周波数(Hz) |
|---|---|
| 1k | 500 |
| 2k | 1k |
| 5k | 2.5k |
| 10k | 5k |
| 20k | 10k |
| 100k | 50k |
フーリエ変換の計算をするデータ数を2のn乗にすることで高速に計算できるFFT(高速フーリエ変換)での計算が可能になります。
NOTE
サンプリングするデータ数を多くすると分解能が細かくなりますが、収集時間が長くなります
| データ数 | 収集にかかる時間 | 分解能 |
|---|---|---|
| 512 | 51.2ms | 19.53Hz |
| 1024 | 102.4ms | 9.77Hz |
| 2048 | 204.8ms | 4.88Hz |
| 4096 | 409.6ms | 2.44Hz |
| 8192 | 819.2ms | 1.22Hz |
| 16384 | 1638.4ms | 0.61Hz |
アナログデータを取得してFFT計算をする手順を説明します