OSD
2021/06/15
新しいプログラムを追加してテスト波形を作成するため下記のプログラムを追加します
dummyPowerは波形の大きさ、dummyFreqは周波数の値で任意に変更してテストデータを作成できます グローバル変数には高速アナログユニットの入力の代わりになる配列dummyAnalogInputValue_1_10とdummyAnalogInputValue_10_20に値を入れるようにします
テスト用のプログラムをプライマリタスクに追加します
高速アナログユニットの入力をコメントアウトして、テスト用のデータをアナログ入力に変更します Copy FOR cnt := 0 TO 9 BY 1 DO //AnalogInputData[cnt] := INT_TO_REAL(N1_Ch1_Analog_Input_Value_1_10[cnt]); AnalogInputData[cnt] := INT_TO_REAL(dummyAnalogInputValue_1_10[cnt]); END_FOR; FOR cnt := 0 TO 9 BY 1 DO //AnalogInputData[10 + cnt] := INT_TO_REAL(N1_Ch1_Analog_Input_Value_11_20[cnt]); AnalogInputData[10 + cnt] := INT_TO_REAL(dummyAnalogInputValue_11_20[cnt]); END_FOR;
FFTStartをONしてFFT演算した結果のグラフです 正常に1kHzのところのPowerSpectrumの値が大きくなっています ↓ アナロググラフ
テストデータのdummyFreqを2kHzに変更したグラフ 2ページ目を表示しています ↓ アナロググラフ
dummyFreqをハイパスフィルタのカットオフ周波数(100Hz)以下の50Hzに変更したグラフ かなり小さくなっています ↓ アナロググラフ
アナログデータの先頭500msのデータを表示しています 実際のアナログ入力では入力値をスケーリングしますが、取得するデータによって調整してください
取得した波形では、120Hz,240Hz,360Hz... 120Hzの倍音あたりが出ているように見えます あとは700Hzあたりが大きく出ています このようにどのような成分の波形が入っているか見ることができました