logo

離散フーリエ変換 📂フーリエ解析

離散フーリエ変換

ビルドアップ1

$f$を特定の間隔で測定されるある物理的信号としよう。現実的な条件を考えた時、信号が測定され始める瞬間$t=0$と測定が終わる瞬間$t=\Omega$が存在するだろうから、$f$の関数値は$[0, \Omega]$を除くところで全て$0$と仮定することができる。

サンプリング定理

$\hat{f} \in L^{2}$であり、$f (t) = 0\ \text{for } t \in [0, 2\Omega]$と仮定しよう。それなら、$\hat{f}(\omega)$は$m\pi / \Omega (m=0, \pm 1, \pm 2, \dots)$の値で決まる。つまり、次が成り立つ。

$$ \hat{f}(\omega) = \sum \limits_{m = -\infty}^{\infty} \hat{f} \left( \dfrac{m\pi}{\Omega}\right) \dfrac{\sin (\Omega \omega -m\pi )}{\Omega \omega - m\pi} $$

そうすると、$f$の値が長さが$\Omega$の区間$[0,\Omega]$にのみ存在するので、サンプリング定理により、$\hat{f}$の値は離散間隔の$\hat{f} \left( \dfrac{\pi m}{\Omega/2} \right) = \hat{f} \left( \dfrac{2\pi m}{\Omega} \right)$によって決定されるとわかる。この値を計算すると、フーリエ変換の定義によって以下のようになる。

$$ \hat{f} \left( \dfrac{2\pi m}{\Omega} \right) = \int_{-\infty}^{\infty} f(x)e^{-i(2\pi m/ \Omega)x}dx = \int_{0}^{\Omega} f(x)e^{-i(2\pi m/ \Omega)x}dx $$

ここで、$[0, \Omega]$を$N$個の区間に分けると考えよう。そうすると、分けた区間の左端点は以下のようになる。

$$ 0, \dfrac{1\Omega}{N}, \dfrac{2\Omega}{N}, \dots, \dfrac{n\Omega}{N}, \dots, \dfrac{(N-1)\Omega}{N} $$

台形公式を考えると、上の点での関数値と各区間の長さ$\dfrac{\Omega}{N}$を掛けて全て足すと、積分値に似るだろうとわかる。

$$ \hat{f} \left( \dfrac{2\pi m}{\Omega} \right) = \int_{0}^{\Omega} f(x)e^{-i(2\pi m/ \Omega)x}dx \approx \sum_{n=0}^{N-1}e^{-i2\pi mn /N}f \left( \dfrac{n\Omega}{N} \right)\dfrac{\Omega}{N} $$

ここで、$a_{n} = f(n\Omega/N)$とすると、上の式は以下のようになる。

$$ \dfrac{N}{\Omega}\hat{f} \left( \dfrac{2\pi m}{\Omega} \right) \approx \sum_{n=0}^{N-1}e^{-i2\pi mn /N} a_{n} $$

今、$\hat{a}_{m}=\sum_{n=0}^{N-1}e^{-i2\pi mn /N} a_{n}$とすると、上の式は以下のようになる。

$$ \dfrac{N}{\Omega}\hat{f} \left( \dfrac{2\pi m}{\Omega} \right) \approx \hat{a}_{m} $$

ここで、$e^{-2\pi i n}=1$なので、

$$ e^{-2\pi i (m+N)n / N}=e^{-2\pi imn / N}e^{-2\pi in}=e^{-2\pi imn / N} $$

が成り立ち、$\hat{a}_{m}$は$N$の周期を持つ。

$$ \hat{a}_{m+N}=\hat{a}_{m} $$

これで自然に、$N$次元ベクタ$\mathbf{a} = (a_{0}, a_{1}, \dots, a_{N-1}) \in \mathbb{C}^{N}$から$N$次元ベクタ$\hat{\mathbf{a}} = (\hat{a}_{0}, \hat{a}_{1}, \dots, \hat{a}_{N-1}) \in \mathbb{C}^{N}$へのマッピングを考えることができる。$N$ポイント離散フーリエ変換discrete Fourier transform, DFTを次のように定義しよう。

定義

以下のように定義される線形変換 $\mathcal{F}_{N} : \mathbb{C}^{N} \to \mathbb{C}^{N}$を離散フーリエ変換という。

$$ \mathcal{F}_{N}(\mathbf{a}) = \hat{\mathbf{a}},\quad \hat{a}_{m}=\sum_{n=0}^{N-1}e^{-i2\pi mn /N} a_{n}\quad (0\le m < N) $$

この時、$\mathbf{a} = (a_{0}, a_{1}, \dots, a_{N-1})$と$\hat{\mathbf{a}} = (\hat{a}_{0}, \hat{a}_{1}, \dots, \hat{a}_{N-1}) \in \mathbb{C}^{N}$である。

説明

離散信号をよく扱う信号処理では、時間ドメインの信号を$x$、周波数ドメインの信号を$X$で表記することが一般的である。

$$ x[n] = x_{n} = \sum \limits_{k=0}^{N-1}X[k] $$

参照


  1. Gerald B. Folland, Fourier Analysis and Its Applications (1992), p249-251 ↩︎