畳み込みの直観
裏返して滑らせ、重なりを読む
上の図は固定された入力 x(τ) と、裏返して時刻 t へ滑らせた応答 h(t−τ) だ。二つが重なった緑の面積がそのまま出力 y(t) だ。下はその出力曲線だ。スライド位置 t を動かし、面積がいつ最大になるか探せ。
出力は重なりの面積
ある時刻 t の出力を求めるには四段階を踏む。応答を裏返し(h(−τ))、時刻 t へ滑らせ(h(t−τ))、入力と掛け(x(τ)·h(t−τ))、その積を積分する。積が 0 でない区間が重なりで、その面積が y(t) だ。裏返す·滑らせる·掛ける·積分する、これが畳み込みのすべてだ。
なぜ裏返すのか
前のユニットで、時刻 τ の入力インパルス x(τ) は出力に x(τ)·h(t−τ) を残した。遅延が t−τ だったからだ。時刻 t の出力はすべての τ が残したこの寄与を足したもので、y(t) = ∫ x(τ) h(t−τ) dτ。積分変数 τ に対し h の引数が t−τ で符号が反転するため、図では h が左右に裏返って見える。裏返しは遅延の自然な帰結だ。
交換法則と離散畳み込み
畳み込みは交換法則を満たす。x ∗ h = h ∗ x なので入力と応答のどちらを裏返しても結果は同じだ。結合法則も成り立ち、直列接続されたシステムを一つにまとめられる。離散信号では積分が和に変わり y[n] = Σ x[k] h[n−k] となり、デジタルフィルタは各サンプルでまさにこの和を計算する。
最初の画面に戻ると
スライド位置を動かすたびに緑の面積が変わり、その面積が下の出力曲線のその時刻の値とぴったり等しかった。重なりがほとんどない所では出力は 0 に近く、重なりが最大の所では出力は頂点に届いた。畳み込みは裏返した応答を入力の上に滑らせ、各時刻の重なりの面積を集めて出力曲線を作る。インパルス応答一つとこの一つの演算で、LTI システムのすべての出力を計算できる。
重なりの絵を手にした今、それを数に移す番だ。次のユニット畳み込みの計算では、矩形パルスのような簡単な信号の畳み込みを区間ごとに積分し、図で見た頂点と裾がどんな式で出るかを手で確かめる。裏返す·滑らせる·掛ける·積分するの四動作が、区間を分ける境目をそのまま決める。