畳み込みの直観
裏返して滑らせ、重なりを読む
上の図の金色の四角いパルスが入力 x(τ) で、青い曲線は応答 h を裏返して時刻 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 に近く、重なりが最大になる t = 1 の近くで出力は山の頂に届きました。畳み込みとは、裏返した応答を入力の上で滑らせながら、時刻ごとの重なった面積を集めて出力の曲線を組み立てることです。インパルス応答一つとこの演算一つがあれば、LTI システムのあらゆる出力を計算できます。
重なりの絵を手にしたので、次は数式に移す番です。次のユニット畳み込みの計算では、四角いパルスのような簡単な信号の畳み込みを区間ごとに直接積分し、図で見た山と裾がどんな式から出てくるかを手で確かめます。このユニットの図なら、0 ≤ t ≤ 1 では y = (1 − e−1.5t)/1.5 で満ちていき、t > 1 では指数的に静まります。裏返し · ずらし · 掛け算 · 積分の四つの動作が、区間を分ける境目をそのまま決めます。