FFT

相変わらずMATLABのマニュアルが分かりづらいのでまとめておきます。コードはまとめてコマンドウィンドウに貼り付けてOK。

想定読者

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

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

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

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

    なお、それぞれの列の計算式は下記の通りです。

    • B列 "=SIN(2*PI()*A2)"
    • C列 "=SIN(2*PI()*3*A2)"
    • D列 "=SIN(2*PI()*10*A2)"
    • E列 "=SUM(B2:D2)"

    コピペすればExcelにそのまま貼り付けられるようになっています。また、私のGithubにもExcelファイルをアップしておくのでそちらもご利用下さい。
    https://github.com/buono/MATLAB_FFT

    MATLABでデータインポート

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

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

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

    信号を設定し、プロット

    今回は下記コードで0.002秒間隔で4秒までの信号を作った。

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

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

    YouTube動画もアップしました!

    基本的には同じ内容ですが、データの作り方など、少し細かく紹介しています。

    こちらも是非チェックしてみてください!

    YouTubeでも配信中!