サイトのタイトル

OSD

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

手順10:CSVファイルを作る

  • 10-1. FilePutでファイル出力する



  • 新しいプログラムを追加してテスト波形を作成するためのプログラムを追加します
    CsvWriteフラグをONすることでCSVファイルを作成するプログラムを開始します
    書き込む文字列はWriteStrに格納するようにします
    最初の行にタイトル行を入れて、分解能(Resolution)の計算をしておきます

    ファイルには周波数,パワースペクトラムの2列を書き込んでいきます
    Stringの最大バイト数が1986byteの制限があるので大まかに100行ごとであれば収まるとして100行で1回書き出すことを繰り返して2048行書いたら書き込み終了とします

  • 10-2. 定周期タスクの追加

  • 書き込みデータを作るのにスキャンタイムが長くなるので別タスクを作ってそこで実行させます
    定周期タスク(優先度17)を追加します

  • 10-3. プログラムの割付設定

  • ファイル作成用のプログラムを10-2で追加したタスクに割付ます
    これで

手順11:データを取得します

  • 11-1. アナログデータをサンプリング

  • FFTStartをONしてアナログデータをサンプリングします
    サンプリングしてFFT演算したグラフはこんな感じです
    このFFTのデータをCsvWriteフラグをONしてCSVファイルに書き出します
    CSVファイルはSDカードに'PowerSpectrum.csv'というファイル名で作成されます

    ↓ アナロググラフ

手順12:Excelで開く

  • 12-1. SDカードのファイルをPCにコピー

  • 取得したデータのCSVファイルをPCにコピーしてExcelで開きます

    上で取得したCSVファイルはこちら → PowerSpectrum.csv

これでFFTの手順は終わりです

サンプリング周波数やデータ数とかフィルタなどを調整して取りたいデータにフォーカスを合わせてみてください

ダウンロード

これまで作ったプロジェクト
naviFFT.csm2