POINT
フーリエ変換のその他の性質:フーリエ変換の公式と導出 - Notes_JP
- 相関関数と畳み込みの比較.
- フーリエ変換を使って計算する方法
定義
ここでは積分変数$t$を時間とみなす.相互相関関数も畳み込み積分も,「①2つの関数$f, g$のうち一方を時間軸上で$\tau$だけずらし,②2つを掛け合わせて,③積分する」操作になっている.時間軸でどれだけずらしたかを表す$\tau$が変数である.
ただし,畳み込み積分は片方の関数を時間軸で反転させて積分するのに対し,相互相関関数は反転させずに掛け合わせる点が異なる.
相互相関関数 (Cross-correlation):
\begin{aligned}
(f \star g) (\tau)
& = \int_{-\infty}^{\infty}
\bar{f} (\textcolor{red}{t}) g(\textcolor{red}{t} + \tau)
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
\bar{f} (\textcolor{red}{t} - \tau) g(\textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
\bar{f} (\textcolor{red}{t} - \tau/2) g(\textcolor{red}{t} + \tau/2)
\,\mathrm{d}\textcolor{red}{t}
\end{aligned}
(f \star g) (\tau)
& = \int_{-\infty}^{\infty}
\bar{f} (\textcolor{red}{t}) g(\textcolor{red}{t} + \tau)
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
\bar{f} (\textcolor{red}{t} - \tau) g(\textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
\bar{f} (\textcolor{red}{t} - \tau/2) g(\textcolor{red}{t} + \tau/2)
\,\mathrm{d}\textcolor{red}{t}
\end{aligned}
畳み込み積分 (Convolution):
\begin{aligned}
(f \ast g) (\tau)
& = \int_{-\infty}^{\infty}
f(\textcolor{red}{t}) g(\tau - \textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
f(\textcolor{red}{t} + \tau/2) g(\tau/2 - \textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
f(\tau - \textcolor{red}{t}) g(\textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
f(\tau/2 - \textcolor{red}{t}) g(\tau/2 + \textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t}
\end{aligned}
(f \ast g) (\tau)
& = \int_{-\infty}^{\infty}
f(\textcolor{red}{t}) g(\tau - \textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
f(\textcolor{red}{t} + \tau/2) g(\tau/2 - \textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
f(\tau - \textcolor{red}{t}) g(\textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t} \\
& = \int_{-\infty}^{\infty}
f(\tau/2 - \textcolor{red}{t}) g(\tau/2 + \textcolor{red}{t})
\,\mathrm{d}\textcolor{red}{t}
\end{aligned}
畳み込み積分の意味
畳み込みの意味は,離散化して考え,$g$を時系列データと考えるとわかりやすいです.畳み込みの定義式を離散化すると
\begin{aligned}
(f*g)(\textcolor{red}{n})
=\sum_{m=-\infty}^{\infty} f(m) g(\textcolor{red}{n}-m)
\end{aligned}
となります.つまり「 $n$を基準として$m$個前のデータに重み$f(m)$を乗じて足し合わせる」ことを意味しています.(f*g)(\textcolor{red}{n})
=\sum_{m=-\infty}^{\infty} f(m) g(\textcolor{red}{n}-m)
\end{aligned}
例えば,
\begin{aligned}
f(m) =
\begin{cases}
\, 1/N &(m=0,...,N-1)\\
\, 0 &(\text{otherwise})
\end{cases}
\end{aligned}
としたときに得られるf(m) =
\begin{cases}
\, 1/N &(m=0,...,N-1)\\
\, 0 &(\text{otherwise})
\end{cases}
\end{aligned}
\begin{aligned}
(f*g)(n)
=\frac{1}{N} \sum_{m=0}^{N-1} g(n-m)
\end{aligned}
は,「$g$の移動平均」を表しています.つまり,「$n$を含む$N$個前までのデータの平均値を求める操作」になっています.(f*g)(n)
=\frac{1}{N} \sum_{m=0}^{N-1} g(n-m)
\end{aligned}
フーリエ変換を使った計算方法
相互相関関数と畳み込み積分は,次のようにフーリエ変換を使って計算できる.フーリエ変換を使った計算方法1
\begin{aligned}
f \ast g
& = \mathcal{F}^{-1} \Bigl[\mathcal{F} [f] \cdot \mathcal{F} [g] \Bigr] \\
f \star g
& = \mathcal{F}^{-1} \Bigl[\overline{\mathcal{F} [f]} \cdot \mathcal{F} [g] \Bigr]
\end{aligned}
f \ast g
& = \mathcal{F}^{-1} \Bigl[\mathcal{F} [f] \cdot \mathcal{F} [g] \Bigr] \\
f \star g
& = \mathcal{F}^{-1} \Bigl[\overline{\mathcal{F} [f]} \cdot \mathcal{F} [g] \Bigr]
\end{aligned}
\begin{aligned}
&\mathcal{F}
\bigg[\int_{-\infty}^{\infty} f(t) g(\tau \pm t) \,\mathrm{d} t \biggr] (\omega) \\
&= \int_{-\infty}^{\infty}
\bigg[\int_{-\infty}^{\infty} f(t) g(\tau \pm t) \,\mathrm{d} t \biggr]
e^{-i\omega \tau} \,\mathrm{d}\tau \\
&= \int_{-\infty}^{\infty} f(t) e^{\pm i\omega t} \,\mathrm{d} t \\
&\qquad
\times
\int_{-\infty}^{\infty}
g(\tau \pm t) e^{-i\omega (\tau \pm t)} \,\mathrm{d}(\tau \pm t) \\
&=
\begin{cases}
\, \overline{\mathcal{F} [\bar{f}]}(\omega) \cdot \mathcal{F} [g](\omega) \\
\, \mathcal{F} [f](\omega) \cdot \mathcal{F} [g](\omega)
\end{cases}
\end{aligned}
より示された.//&\mathcal{F}
\bigg[\int_{-\infty}^{\infty} f(t) g(\tau \pm t) \,\mathrm{d} t \biggr] (\omega) \\
&= \int_{-\infty}^{\infty}
\bigg[\int_{-\infty}^{\infty} f(t) g(\tau \pm t) \,\mathrm{d} t \biggr]
e^{-i\omega \tau} \,\mathrm{d}\tau \\
&= \int_{-\infty}^{\infty} f(t) e^{\pm i\omega t} \,\mathrm{d} t \\
&\qquad
\times
\int_{-\infty}^{\infty}
g(\tau \pm t) e^{-i\omega (\tau \pm t)} \,\mathrm{d}(\tau \pm t) \\
&=
\begin{cases}
\, \overline{\mathcal{F} [\bar{f}]}(\omega) \cdot \mathcal{F} [g](\omega) \\
\, \mathcal{F} [f](\omega) \cdot \mathcal{F} [g](\omega)
\end{cases}
\end{aligned}
また,フーリエ変換を2回行ったときの関係式
\begin{aligned}
&\mathcal{F} \bigl[\mathcal{F}[f] \bigr] (\tau) \\
&= \int_{-\infty}^{\infty}
\biggl[\int_{-\infty}^{\infty} f(t) e^{-i\omega t} \,\mathrm{d} t \biggr]
e^{-i\tau \omega} \,\mathrm{d} \omega \\
&= \int_{-\infty}^{\infty} f(t)
\underbrace{\biggl[\int_{-\infty}^{\infty} e^{-i\omega (t + \tau)} \,\mathrm{d} \omega \biggr]}_{=2\pi\delta(t + \tau)}
\,\mathrm{d} t \\
&= 2\pi f(- \tau)
\end{aligned}
を使うと,次で表すこともできる:&\mathcal{F} \bigl[\mathcal{F}[f] \bigr] (\tau) \\
&= \int_{-\infty}^{\infty}
\biggl[\int_{-\infty}^{\infty} f(t) e^{-i\omega t} \,\mathrm{d} t \biggr]
e^{-i\tau \omega} \,\mathrm{d} \omega \\
&= \int_{-\infty}^{\infty} f(t)
\underbrace{\biggl[\int_{-\infty}^{\infty} e^{-i\omega (t + \tau)} \,\mathrm{d} \omega \biggr]}_{=2\pi\delta(t + \tau)}
\,\mathrm{d} t \\
&= 2\pi f(- \tau)
\end{aligned}
フーリエ変換を使った計算方法2
\begin{aligned}
(f \ast g) (\tau)
& = \frac{1}{2\pi} \mathcal{F} \Bigl[\mathcal{F} [f] \cdot \mathcal{F} [g] \Bigr] (-\tau) \\
(f \star g) (\tau)
& = \frac{1}{2\pi} \mathcal{F} \Bigl[\overline{\mathcal{F} [f]} \cdot \mathcal{F} [g] \Bigr] (-\tau)
\end{aligned}
(f \ast g) (\tau)
& = \frac{1}{2\pi} \mathcal{F} \Bigl[\mathcal{F} [f] \cdot \mathcal{F} [g] \Bigr] (-\tau) \\
(f \star g) (\tau)
& = \frac{1}{2\pi} \mathcal{F} \Bigl[\overline{\mathcal{F} [f]} \cdot \mathcal{F} [g] \Bigr] (-\tau)
\end{aligned}