東北工業大学 工学部情報通信工学科 中川研究室


離散フーリエ変換(DFT)



初心者用DFT (離散フーリエ変換)解説

東北工業大学 情報通信工学科
中川朋子




周期関数を、いろんな周期のsinやcosの波の組み合わせで再現するフーリエ級数展開

大学の2年生くらいで習うことが多いです。
ここまではだいたいついてこられました。
だけど
実際にデータファイルをもらって「FFTして」って言われても、このデータをどうしたらいいのか。





FFTとDFTって
同じなの?



しょうがないから教科書とかウェブサイトで「フーリエ変換」を探すと、
 x(t) = ∫-∞ X(f) e 2pi f t df
 X(f) = ∫-∞ x(t) e -2pi f t dt
とかでてきちゃって嫌になっている皆さん。

フーリエ級数
フーリエ変換
同じ?違う?

周期が無限大になってるし、
積分の前についてた1/Tがなくなってるし、
sinやcosならわかるのに eix とか使ってるし、
デルタ関数δとか窓関数とかでてくるし、
積のフーリエ変換だから畳み込みとか言われても
何のことだか、、、


eix
オイラーの公式

たたみこみ
eixとかδとか
使わない説明

教科書で eix を使うことが多いのは、
式が短くてすむとか、
式の形が揃ってなんか嬉しいとかの理由ですが、
コンピュータープログラムにするときは
結局 sin( )とcos( ) に戻してることも多いです。
それなら最初から eix 使わなくてもいいじゃん、
とも思うよね。



デフォルトで
複素数が
使えるのは
fortran
難所1 また、
周期関数用の「フーリエ級数展開」から
何にでも使える「フーリエ変換」に持って行くとき
周期Tを無限大にするところで
Σを∫に変えるのに苦労して

ここで
推定5割脱落


難所2 わざわざ無限にした時間から
有限の長さのデータを切り取るとこでまた苦労
さらに
推定3割脱落

難所3 サンプリングのためにデルタ関数δをかける頃には

生き残っている人がほとんどいないのではないでしょうか。

フーリエ変換はとても役に立つ技で、 みんなが使えるようになったほうがいいのに 途中の説明が難しいために断念する人が多いのは残念です。
さらに
推定1割脱落


データ長を
1周期と思って
やっちゃえ
そこで、
周期を無限にする苦労と
   有限にする苦労を両方スキップして、
1周期分のデータN個を選び、これを周期関数だと思って フーリエ級数展開してはどうでしょうか。

数学的な厳密さは犠牲にしています。けど、 とりあえず感じをつかんでから、 詳しいことは後でじっくり 対処してもよいのではないでしょうか。





だいたい
わかってから
教科書も読むと

フーリエ級数展開の復習   DFTへすすむ

中川研HOME