【C言語】離散フーリエ変換(DFT)

C言語を用いて、データを離散フーリエ変換(DFT)する方法について紹介します。

離散フーリエ変換(C言語)

フーリエ変換(Fourier Transform)とは信号データを周波数解析するときに使う手法です。
フーリエ変換すると、信号に各周波数の正弦波がどのように含まれているか調べることが出来ます。
今回はC言語を用いてノコギリ波の信号をフーリエ変換してみました。

ソースコード

サンプルプログラムのソースコードは下記の通りです。


読み込んだCSVファイル:data.csv
※ノコギリ波のデータ

実行結果

プログラムの実行結果は下記の通りです。

フーリエ変換したデータ(fourier.csv)をExcelで開いてグラフ化しています。

横軸が周波数、縦軸が周波数の強さ(スペクトル)、赤線が実数成分、青線が虚数成分のデータです。

フーリエ変換することで、どの周波数が強いのかがわかります。

ft

コメント