1章:高速フーリエ変換の基礎理論

  1. フーリエ変換一般式
     フーリエ変換一般式を下記に示します。

     また、フーリエ逆変換は


  2. 離散的フーリエ変換
     N個のデータf(k)(k=0〜N-1)が与えられた時、N個の有限列G(n)をf(k)の離散的フーリエ変換といい次式によって定義される。

     また、フーリエ逆変換は

     (5.4)式正規化定数1/Nは(5.3)式と(5.4)式のどちらかにいれる。または平方根にして両方にいれて良い。

  3. 高速フーリエ変換
     (5.3)式をつぎのように書く

     N=2、すなわちデータ数が2個の場合(5.5)式は以下のようになる。

     (5.7)式の演算においては、指数の項が消えて単純な和と差の項のみが残ります。
     これが、データ数N=2の場合のフーリエ変換の重要な特徴であり、演算時間の短縮を可能としています。
     また、(5.6)式のWNを回転子と呼びます。

  4. データ数N=8の場合の高速フーリエ変換
     データ数がN=8の場合について考えてみます。 (5.5)式は以下のようになります。

     ここで、nとkを2進数に分解します。

     そして(5.10)式を以下のように変形します。

     (5.13)式の右辺の和を外側から計算を実行します。

     ここで

     ゆえに

     回転子の定義から

     したがって

     となります。これはN=2のDFTそのものです。

     (5.13)式に(5.19)式を代入して

     (5.20)式を得ます。  { }の中のDTFをG1(n0,k1,k0)とおき、k1について整理すると

     (5.21)式より

     (5.22)式を得ます。これは、 G1(n0,k1,k0)に回転子W82k1n0をかけたものに対するN=2のDTFになっています。
      (5.22)式を(5.20)式に代入して

     (5.23)式を得ます。ふたたび{ }の中のDTFをG2(n0,n1,k0)とおき、また

     (5.24)式より


  5. データ数N=16の場合の高速フーリエ変換
     N=16のFFTの演算はさらに複雑になります。実用的にはNの数を大きく 設定する必要があります。
     FFTをDFTに分解するには、

     (5.5)式において、WNnkがどのように分解されるかを調べればよいのです。
     いきなりNの数を一般化するのは飛躍を伴いますので、N=16のFFTについて検討します。

     (5.26)式の性質を利用します。また、

     (5.27)式を用いて整理します。Nとkを2進数で表して

     (5.30)式において、アンダーバーの部分は下記ようにN=2のDFTに置き換えることができます。

     残りの項は途中の結果に掛け合わされる回転子となります。
     ここで、データ数NとDFT演算の段(m)とN=2のDFT演算子(kn)と回転子(arg)の関係を整理 してみましょう。

  6. 高速フーリエ変換の回転子表
     高速フーリエ変換の回転子を整理すると以下の表になります。



  7. 高速フーリエ変換の回転子の規則性
     上記表から回転子の規則性を見出します。

     上記の規則性を利用すれば、より大きなデータ数Nに対するFFTが可能です。



2章:プログラミングの課題に行く。

トップページに戻る。