畳み込みと線形時不変システム
システムの出力をインパルス応答ひとつで完全に予測できる理由を、LTI 性・重ね合わせ・畳み込みの原理から解き明かし、因果性と安定性の判定まで腑に落とします。
- 1.線形時不変(LTI)システムは、インパルス応答 h ひとつで挙動が完全に決まる。任意入力を単位インパルスの重ね合わせに分解し、各応答を足し合わせた結果が畳み込み y = x * h である。
- 2.畳み込みは離散では和 y[n] = Σ x[k]·h[n-k]、連続では積分で表す。線形性(重ね合わせ)と時不変性の2条件が揃って初めてこの表現が成り立つ。
- 3.因果性はインデックスが負の h が 0 であること、BIBO 安定性はインパルス応答が絶対総和(絶対可積分)であることと同値。どちらも h の形だけで判定できる。
なぜ「インパルス応答ひとつ」で全部わかるのか
信号処理と制御工学の土台にある最も強力な事実は、あるクラスのシステムは「単位インパルスを入れたときの出力」だけで挙動が完全に決まるというものです。この便利さの正体が線形時不変(LTI: Linear Time-Invariant)性であり、それを式にした演算が**畳み込み(convolution)**です。本記事では、なぜLTIならインパルス応答だけで十分なのか、畳み込みがどこから出てくるのか、そして因果性・安定性がどう判定できるのかを、離散時間を主軸に原理から追います。記号は LaTeX を使わず、添字つきのプレーンな式で表します。
システムを、入力信号 x を受け取り出力信号 y を返す写像 T と考えます。y = T{x} と書くと、T は無数の入力に対する応答の集まりであり、本来これを全部知るのは不可能です。ところが T が LTI であれば、たった1本の信号 —— 単位インパルスへの応答 —— を測るだけで T 全体が再構成できます。この「圧縮」がLTI理論の核心です。
LTI の2条件:線形性と時不変性
LTI は名前どおり2つの性質の連言です。両方を満たすシステムだけが、以降で導く畳み込み表現を持ちます。
**線形性(重ね合わせの原理)**は、入力の一次結合に対する出力が、各出力の同じ一次結合になる性質です。入力 x1 の出力を y1、x2 の出力を y2 とすると、任意の定数 a, b について次が成り立ちます。
線形性: T{a·x1 + b·x2} = a·T{x1} + b·T{x2}
これは「加法性(足してから通す=通してから足す)」と「斉次性(定数倍が素通りする)」をまとめたものです。
時不変性は、入力を時間方向に d だけ遅らせると、出力も同じ d だけ遅れるだけで波形が変わらない性質です。
時不変性: T{x[n]} = y[n] ならば T{x[n-d]} = y[n-d]
2つは別物で、どちらか一方だけを満たすシステムはいくらでもあります。たとえば y[n] = n·x[n](時刻で利得が変わる)は線形だが時変です。y[n] = x[n]^2(二乗)は時不変だが非線形です。畳み込み表現が使えるのは両方を満たすときだけで、片方でも欠ければ以降の議論は崩れます。実システムを扱う際は、まずこの2点を確認するのが出発点です。
任意信号を単位インパルスに分解する
畳み込みを導く鍵は、どんな離散信号も、ずらして重み付けした単位インパルスの和に分解できることです。単位インパルス(クロネッカーのデルタ)を、n = 0 でだけ 1、他で 0 の信号 delta[n] と定義します。すると任意の x[n] は次のように書けます。
x[n] = Σ_k x[k]·delta[n-k] k は全整数にわたる和
delta[n-k] は「時刻 k にだけ立つ棒」で、それに実際の値 x[k] を重みとして掛けています。つまり x は、各時刻の値を高さに持つインパルスを並べたものだ、という当たり前の事実を式にしただけです。しかしこの分解が、次のステップで威力を発揮します。
分解+LTI = 畳み込み
delta[n] を入力したときの出力をインパルス応答 h[n] = T{delta[n]} と定義します。ここで分解した x をシステムに通し、LTIの2条件を順に適用します。
y[n] = T{ Σ_k x[k]·delta[n-k] }
= Σ_k x[k]· T{delta[n-k]} ← 線形性(和と定数倍を外に出す)
= Σ_k x[k]· h[n-k] ← 時不変性(delta[n-k]→h[n-k])
こうして得られる式が**畳み込み和(convolution sum)**であり、y = x * h と書きます。導出を見ればわかるとおり、線形性で総和と重みを演算子の外に出し、時不変性で delta[n-k] の応答を h[n-k] に置き換えている——この2手それぞれがLTIの片方の条件に対応しています。だからLTIでなければ畳み込みにはなりません。
離散(畳み込み和): y[n] = Σ_k x[k]·h[n-k] = Σ_k h[k]·x[n-k]
連続(畳み込み積分): y(t) = ∫ x(τ)·h(t-τ) dτ = ∫ h(τ)·x(t-τ) dτ
連続時間では単位インパルスがディラックのデルタ関数、総和が積分に置き換わるだけで、構造は完全に同じです。インパルス応答 h さえ手元にあれば、任意入力に対する出力が畳み込み一発で計算できる——これがLTIシステムを「h ひとつで完全記述できる」と言う理由です。
上式の右側にあるとおり、x * h = h * x が成り立ちます。導出では x を分解しましたが、h の側を分解しても同じ結果に至るためです。変数変換 m = n - k を入れると和のインデックスが入れ替わることからも確認できます。可換・結合・分配則がすべて成り立つので、直列に並んだLTIシステムは順序を入れ替えても、まとめて1つの合成インパルス応答 h1 * h2 で表しても等価です。
畳み込みの「反転してずらす」直観
畳み込み和 Σ_k h[k]·x[n-k] は、機械的には次の手順で計算します。時間反転 → シフト → 要素ごとの積 → 総和の4段です。この「反転」が、後述する因果性や、相互相関との違いを理解する鍵になります。
1. 反転 : h[k] を k について反転し h[-k] を作る
2. シフト: それを n だけずらして h[n-k] にする
3. 積 : 各 k で x[k]·h[n-k] を掛ける
4. 総和 : k について全部足すと y[n] が1点だけ求まる
| 性質 | 畳み込み (convolution) | 相互相関 (cross-correlation) |
|---|---|---|
| 定義式 | y[n] = Σ x[k]·h[n-k] | r[n] = Σ x[k]·h[k+n] |
| カーネルの扱い | 反転してからずらす | 反転せずにずらす |
| 可換性 | 可換 (x*h = h*x) | 非可換 |
| LTI 出力との関係 | システム出力そのもの | 類似度・遅延の検出に使う |
ディープラーニング の畳み込み層が計算しているのは、上表の右列——カーネルを反転しない相互相関です。カーネルは学習で決まるため反転の有無は表現力に影響せず、慣習的に「畳み込み」と呼んでいるだけです。信号処理・制御で言う厳密な畳み込み(反転あり)とは定義が異なる点に注意してください。
因果性:未来を先取りしないか
システムが**因果的(causal)**とは、時刻 n の出力が「その時刻までの入力」だけで決まり、未来の入力に依存しないことを言います。畳み込み和で y[n] = Σ_k h[k]·x[n-k] を見ると、未来の入力 x[n-k](k が負のとき n-k が n より大きい)を参照しないための条件は、インパルス応答のインデックスが負の部分がすべて 0 であることだと即座に読み取れます。
因果的 ⇔ h[n] = 0 (すべての n が 0 未満で)
リアルタイムに動くフィルタや制御器は物理的に未来を知り得ないため、因果的でなければ実装できません。逆に、収録済みデータをオフラインで処理する場合は非因果的フィルタ(前後両方向を参照)も使え、位相ひずみを避けられる利点があります。
安定性:入力が有界なら出力も有界か(BIBO)
実用上もっとも重要な安定性の基準が BIBO 安定性(Bounded-Input Bounded-Output)です。あらゆる有界入力に対して出力が必ず有界にとどまるとき、システムはBIBO安定と言います。LTIシステムでは、この性質がインパルス応答の絶対総和(連続系では絶対可積分)という、h だけで書ける明快な条件と同値になります。
BIBO 安定 ⇔ Σ_n |h[n]| < ∞ (離散: 絶対総和可能)
BIBO 安定 ⇔ ∫ |h(t)| dt < ∞ (連続: 絶対可積分)
なぜこの形になるのか。入力の大きさを |x[n]| ≤ B(有界)と置くと、出力は三角不等式で次のように抑えられます。
|y[n]| = | Σ_k h[k]·x[n-k] |
≤ Σ_k |h[k]|·|x[n-k]|
≤ B · Σ_k |h[k]|
右辺が有限であるためには Σ|h[k]| が有限であればよく、これが十分条件です。さらに、x[n-k] を h[k] の符号に合わせて ±B に取る入力を構成すると出力が B·Σ|h[k]| に到達するため、必要条件でもあることが示せます。ゆえに絶対総和可能性はBIBO安定性と過不足なく一致します。
- LTI の2条件:線形性(重ね合わせ)と時不変性。両方揃って初めて畳み込み表現が成立。
- 畳み込みの導出:任意信号を
Σ x[k]·delta[n-k]に分解し、線形性と時不変性を順に適用してΣ x[k]·h[n-k]を得る。 - 可換性:
x * h = h * x。直列LTIは合成インパルス応答にまとめられる。 - 因果性:
h[n] = 0(n が 0 未満)と同値。リアルタイム実装の必須条件。 - BIBO 安定性:インパルス応答が絶対総和可能(
Σ|h[n]| < ∞)と同値。十分性は三角不等式、必要性は最悪入力の構成で示す。
まとめ
LTIシステムがこれほど扱いやすいのは、任意入力を単位インパルスの重ね合わせに分解し、線形性と時不変性を適用するだけで、出力がインパルス応答との畳み込みに帰着するからです。要点は、(1) LTIは線形性(重ね合わせ)と時不変性の連言であり両方が必須であること、(2) 分解と2条件から畳み込み和 y = x * h(連続では畳み込み積分)が一意に導かれ、h ひとつでシステムが完全記述できること、(3) 畳み込みは可換・結合・分配で、直列システムを合成できること、(4) 因果性は「負インデックスの h が 0」、BIBO安定性は「h の絶対総和が有限」と、いずれも h の形だけで判定できること。インパルス応答という1本の信号に、システムのすべての情報が凝縮されている——これがLTI理論の到達点です。
信号処理・制御 Article
畳み込みと線形時不変システムを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
畳み込み
比較で見る軸
難易度: advanced / カテゴリ: 信号処理・制御 / タグ数: 5
導入後に効く点
畳み込みは離散では和 y[n] = Σ x[k]·h[n-k]、連続では積分で表す。線形性(重ね合わせ)と時不変性の2条件が揃って初めてこの表現が成り立つ。
先に潰すリスク
用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。
- 難易度
- advanced
- カテゴリ
- 信号処理・制御
- タグ数
- 5
判断チェックリスト
- 自社の用途が「畳み込み / LTIシステム」に近いか確認する。
- 強みである「線形時不変(LTI)システムは、インパルス応答 h ひとつで挙動が完全に決まる。任意入力を単位インパルスの重ね合わせに分解し、各応答を足し合わせた結果が畳み込み y = x * h である。」が本当に評価軸になるか確認する。
- 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。