【フーリエ解析04】離散フーリエ変換(DFT)とは?【解説動画付き】
この記事はこんな人にオススメです.
  • 離散フーリエ変換について詳しく知りたい人
  • 高速フーリエ変換(FFT)を使用しているけど,内側の仕組みを詳しく理解できていない人
  • 信号処理に興味がある人

こんにちは.けんゆー(@kenyu0501_)です.
今日は,「離散フーリエ変換(DFT)」について詳しくやっていきます.
前回は連続のフーリエ変換についてやりましたので,そちらを理解したい人は以下をご覧ください.


ペンのすけ

複素フーリエ級数,連続フーリエ変換を理解しているのであればすぐに理解できるぞ!

離散フーリエ変換とは

離散フーリエ変換とは,離散データに関して行うフーリエ変換です.
フーリエ変換とは一般的に,時間領域のデータを周波数領域のデータに変換することです.
実験などでセンシングしたデータに関しては,飛び飛びの離散信号(ディジタル)になっているはずなので,そういったデータに関しては,離散フーリエ変換を扱います.
(アナログ信号からディジタル信号に変換するAD変換についてはこちらです.)

離散フーリエ変換は,有限の時間 \(T\) を扱うので,どっちかというと複素フーリエ級数に近いです.
前回やった連続のフーリエ変換は,-\(\infty\)から\(\infty\)までだったので,有限な区間という概念がありませんでしたね.

離散フーリエ変換は積分ができない

離散フーリエ変換は,ディジタル信号を扱っているので,積分ができません.
関数の面積という概念がないので当然っちゃ当然ですが,積分をすると0になります.
そのため,離散信号に関しては,ある工夫が必要です.

離散フーリエ変換で周波数領域に持っていく工夫

離散フーリエ変換では,複素フーリエ級数のように扱います.
上の図をご覧ください.
有限の時間 \(T\) に関して,それぞれの離散信号の数の分,複素正弦波に当てはめます.
上の例では,4つの信号があるので,4つの複素正弦波を使用しています.

こうして得られた式が,離散フーリエ変換の基本式になっています.

直交性に関して

先ほどの例では,4つの複素正弦波を使用しましたが,それらは直交しています.
複素フーリエ級数と同じですね.
\(x(t)\) というものを関数空間の1点としてみたて,それを直交する4つの複素正弦波の1次結合として表したものになります.

この基本式に対して,各サンプル時間の値を代入していきます.以下をご覧ください.

以上の連立方程式を解いて,離散信号 \(x_0 ~ x_3\) から,周波数情報 \(c_0 ~ c_3\) の関係を導出していきます.

周波数情報の導出

先ほどの4つの連立方程式を行列形式に変換します.
その後以下の操作を行って式の簡略化をします.

一般化したものが,上のものになります.
離散フーリエ変換とは, \(N\)個のディジタル信号 \({x_0, x_1, x_2, \cdots, x_{N-1}}\)と,そのデータ長に対応する複素正弦波の係数\({X_0, X_1, X_2, \cdots, X_{N-1}}\)を結びつける変換になります.

高速フーリエ変換への誘い

次回やりますが,高速フーリエ変換とは,変換行列である正方行列の規則性を上手く活用したものです.

逆離散フーリエ変換の導出

逆離散フーリエ変換も,離散フーリエ変換も結局は同じことですが,導出式(N=4の場合)を書いておきます.

解説動画