【C言語】フーリエ変換でパワースペクトルを計算

C言語を用いてフーリエ変換による周波数解析を行い、パワースペクトルを求める方法について紹介します。

フーリエ変換でパワースペクトル(C言語)

パワースペクトルとは、信号の振幅と周波数の関係を示す指標です。

フーリエ変換(Fourier Transform)によりパワースペクトルを求めることができます。

今回はC言語を用いてノコギリ波のパワースペクトルを求めてみました。

【用いたノコギリ波のデータ】

data.csv

ソースコード

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

実行結果

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

フーリエ変換して得られたパワースペクトルのデータファイル(power_spectrum.csv)ファイルをExcelで開いてグラフ化しています。

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

下画像では、周波数が10と99のときにパワースペクトルが大きくなっています。

つまり、ノコギリ波には主に10Hzと99Hzの正弦波が含まれているということがわかります。

スペクトルの強さ

シェア&フォローお願いします!