FFT

相変わらずMATLABのマニュアルが分かりづらいのでまとめておきます。

想定読者

  • MATLABでFFT解析をしたい方
  • Excelでデータの用意

    ここでは例として、Excelでそれぞれ周波数の異なるsinカーブを3つ用意。
    今回は1Hz, 3Hz, 10Hzとした。
    それを足し合わせたE列の信号(黄色)を解析対象とする。

    スクリーンショット 2018 07 30 21 00 05

    A列とE列だけ残し、CSVファイルとして保存する。

    MATLABでデータインポート

    MATLABで下記の通り、tとsumをそれぞれ配列としてインポート。

    スクリーンショット 2018 07 30 21 05 22

    スクリーンショット 2018 07 30 21 06 23

    信号を設定し、プロット

    今回は0.002秒間隔で4秒までの信号を作った。

    T = 0.002; % サンプル周期
    L = 2001; % 信号のポイント数(時間じゃないので注意!)
    t = (0:L-1)*T; % 時間ベクトル

    Y = fft(sum);
    P2 = abs(Y/L);
    P1 = P2(1:L/2+1);
    P1(2:end-1) = 2*P1(2:end-1);

    Fs = 1/T;
    F = Fs*(0:(L/2))/L;
    plot(F,P1);

    下記の通り、1Hz, 3Hz, 10Hzにピークがあるのが分かる。

    スクリーンショット 2018 07 30 22 06 06

    おすすめの記事