畳み込み

POINT

  • 畳み込み(合成積・convolution・コンボリューション)の定義・意味・性質について.

作成中...

定義

畳み込み
\begin{align}
(f*g)(t)
&=\int_{-\infty}^{\infty} f(\tau) g(t-\tau) \,\mathrm{d}\tau
\end{align}

意味

畳み込みの意味は,離散化して考え,$g$を時系列データと考えるとわかりやすいです.

畳み込みの定義式を離散化すると
\begin{align}
(f*g)(\color{red}{n})
=\sum_{m=-\infty}^{\infty} f(m) g(\color{red}{n}-m)
\end{align}となります.つまり「$g(n)$を基準として$m$個前のデータに重み$f(m)$を乗じて足し合わせる」ことを意味しています.

例えば,
\begin{align}
f(m) =
\begin{cases}
\, 1/N &(m=0,...,N-1)\\
\, 0 &(\text{otherwise})
\end{cases}
\end{align}としたときに得られる
\begin{align}
(f*g)(n)
=\frac{1}{N} \sum_{m=0}^{N-1} g(n-m)
\end{align}は,「$g$の移動平均」を表しています.つまり,「$n$を含む$N$個前までのデータの平均値を求める操作」になっています.

応用

性質

交換律

交換律
\begin{align}
(f*g)(t)
&=(g*f)(t)
\end{align}
【証明】
畳み込みの定義式
\begin{align}
(f*g)(t)
&=\int_{-\infty}^{\infty} f(\tau) g(t-\tau) \,\mathrm{d}\tau \\
\end{align}において$\tau^\prime = t-\tau$とすると,
\begin{align}
(f*g)(t)
&=-\int_{\infty}^{-\infty} f(t-\tau^\prime) g(\tau^\prime) \,\mathrm{d}\tau^\prime \\
&=\int_{-\infty}^{\infty} g(\tau) f(t-\tau) \,\mathrm{d}\tau \\
&=(g*f)(t)
\end{align}となる.//

フーリエ変換

畳み込みのフーリエ変換は,各関数のフーリエ変換の積になります(フーリエ変換についてはフーリエ変換の公式と導出 - Notes_JPを参照).

但し,フーリエ変換が
\begin{align}
\mathcal{F}[f](\omega) =\int_{-\infty}^\infty f(t)e^{-i\omega t} \,\mathrm{d}t
\end{align}で定義される記法を用います.

フーリエ変換
\begin{align}
\mathcal{F}[f*g]
&=\mathcal{F}[f]\cdot \mathcal{F}[g]
\end{align}
【証明】
\begin{align}
&\mathcal{F}[f*g](\omega) \\
&=\int_{-\infty}^\infty (f*g)(t)e^{-i\omega t} \,\mathrm{d}t \\
&=\int_{-\infty}^\infty \,\mathrm{d}t\,
\biggl(\int_{-\infty}^{\infty} f(\tau) g(t-\tau) \,\mathrm{d}\tau\biggr) e^{-i\omega (t-\tau)}e^{-i\omega \tau} \\
&=\int_{-\infty}^{\infty} f(\tau) e^{-i\omega \tau} \,\mathrm{d}\tau
\cdot
\int_{-\infty}^\infty g(t-\tau) e^{-i\omega (t-\tau)}\,\mathrm{d}(t-\tau) \\
&=\mathcal{F}[f](\omega)\cdot\mathcal{F}[g](\omega)
\end{align}となる.//