|
初心者用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へすすむ
|