サイトのタイトル

OSD

アナログ入力をFFT解析してグラフ表示する手順 (4/5)

手順7:テストデータを作る

  • 7-1. テストデータ作成

  • 新しいプログラムを追加してテスト波形を作成するため下記のプログラムを追加します

    dummyPowerは波形の大きさ、dummyFreqは周波数の値で任意に変更してテストデータを作成できます
    グローバル変数には高速アナログユニットの入力の代わりになる配列dummyAnalogInputValue_1_10とdummyAnalogInputValue_10_20に値を入れるようにします

  • 7-2. プログラムの割付設定

  • テスト用のプログラムをプライマリタスクに追加します

  • 7-3. アナログ値の取り込み部分の変更

  • 高速アナログユニットの入力をコメントアウトして、テスト用のデータをアナログ入力に変更します

手順8:テストデータをグラフ表示

  • 8-1. 周波数1kHzのFFT計算結果

  • FFTStartをONしてFFT演算した結果のグラフです
    正常に1kHzのところのPowerSpectrumの値が大きくなっています

    ↓ アナロググラフ

  • 5-2. 2kHzのグラフ

  • テストデータのdummyFreqを2kHzに変更したグラフ
    2ページ目を表示しています

    ↓ アナロググラフ

  • 5-2. 50Hzのグラフ

  • dummyFreqをハイパスフィルタのカットオフ周波数(100Hz)以下の50Hzに変更したグラフ
    かなり小さくなっています

    ↓ アナロググラフ

テストデータのグラフ表示の完了

これでテストデータをFFT演算した結果のグラフ表示とアナロググラフを表示することができました
実際のアナログ入力からの結果を手順9で紹介します


手順9:アナログ入力で実際に取得したデータ

  • 9-1. アナログからの入力データ

  • アナログデータの先頭500msのデータを表示しています
    実際のアナログ入力では入力値をスケーリングしますが、取得するデータによって調整してください

  • 9-2. FFT計算結果

  • 取得した波形では、120Hz,240Hz,360Hz... 120Hzの倍音あたりが出ているように見えます
    あとは700Hzあたりが大きく出ています
    このようにどのような成分の波形が入っているか見ることができました

次のページは

次のページでは、FFTの演算結果をcsv形式のファイルに出力してExcelに取り込みたいと思います