離散畳み込み
関数
関数の値をN点でサンプリングすると
これを離散畳込みという。 素直に計算すると, N回積をとってN-1回その項の総和を取るので計算量は
また, これを0…N-1全てのnについて
高速フーリエ変換(FFT)を用いるとこれが
離散畳み込みの応用例
多項式乗算の高速化
n次のxに関する多項式, についてその積を とする。
このとき, , の 次の係数をそれぞれ , , として次が成り立つ。
これは畳み込みそのものである。相関関数の計算
信号, に対しての相関関数 は
離散化して
DFT(離散フーリエ変換)
離散的信号
ここで表記を簡単にするために回転因子
FFT(高速フーリエ変換)
高速フーリエ変換(FFT)とは離散フーリエ変換(DFT)を計算量
FFTは回転因子
計算の都合上, データ数を
また, データを偶数番目
こうしてDFTの定義式を変形すると
ここで
以上からデータ数
シグナルフロー図
例えば
手順としては左の
図からわかるようにある一点の

離散フーリエ逆変換
離散フーリエ変換の逆演算. つまり離散フーリエ変換を
次のように定義できる。
よって複素共役を取ることでFFTのアルゴリズムから計算ができる。
畳み込み with FFT
離散フーリエ変換の性質から
こうしてFFTから畳み込みが計算できる。
[証明]
上の式の両辺の
左辺(left) = 右辺(right)を示す。
(証明終)