3.3 Winograd DFT アルゴリズム

 多次元の Winograd DFT アルゴリズムの基本的な考え方は, 一次元のときと全く同じで, 多次元 DFT の加算と乗算のブロックを交換して乗算部を一つにする というものです.これにより乗算回数を減らすことができます.ただし, この交換を行うためには一次元の DFT が加算ブロックと乗算ブロックに 分離されているという仮定が必要で,通常は一次元の WFTA を拡張して 用いることになります.例えば,二次元の WFTA のブロック図は次のように なります.

図3.3-1. 長さ N の一次元 WFTA
図3.3-2. 二次元 Row-Column 法
図3.3-3. 二次元 WFTA

WFTA の乗算部の係数はあらかじめ計算しておくことで一段になります. これにより乗算回数を減らすことができます.例えば,5 x 5 の二次元 DFT の 場合は,Row-Column 法では 50 回の実数と複素数を掛ける乗算が必要なのに 対して,WFTA では 36 回に減ります.一方,加算回数は Row-Column 法では 160 回必要になるのに対して,WFTA では 176 回と増加してしまいます. WFTA は Vector-Radix FFT とは異なり,加算回数の増加の犠牲を払って 乗算回数を減らしていることになります.したがって WFTA の実際の応用は, 乗算が加算に比べて非常に高くつく場合に限ります.


目次へ戻る