「畳み込み(畳み込み積分):convolution」のできるだけ簡単な説明

「畳み込み(畳み込み積分):convolution」をできるだけ簡単に説明してみる。

畳み込みは電気回路の学習で必ず登場する次のようなもの。

関数f(t)と関数g(t)の畳み込みは∫f(τ)g(t-τ)dτで定義される。

覚えてしまえばそれまでだけど、そもそも「畳み込み」とは何なのか? 何のために使うのか。そして、なぜこのような式になるのだろうか?

□そもそも「畳み込み」とは何か
2つの異なる関数f(t)とg(t)から、新しい関数h(t)=∫f(τ)g(t-τ)dτを作る操作。

□何のために使うか
電気回路に信号を入力した時の応答関数を知るため。
別の言い方をすると、「電気回路に、ある信号を入力したら、どのような出力が得られるだろうか?」という問いに答えるため。
入力信号をf(t)、回路の単位インパルス応答(時刻0に値1を入力した時の応答)をg(t)で表すと、入力信号に対する応答関数が先ほど定義したh(t)で表される。
回路の単位インパルス応答がわかれば(これは簡単な実験ですぐにわかる)、あらゆる入力信号に対する応答関数が「畳み込み」でわかってしまう。すごい!便利。

□なぜ∫f(τ)g(t-τ)dτなのか
時刻0に大きさ1のインパルス入力があったとき、応答関数はg(t)。
時刻0に大きさaのインパルス入力があったとき、応答関数はg(t)を単にa倍して a・g(t)。
ある時刻τに大きさaのインパルス入力があったとき、応答関数はa・g(t)をτだけ時間シフトして a・g(t-τ)。

つまり、

ある時刻τに大きさf(τ)のインパルス入力があったとき、応答関数は f(τ)g(t-τ)で表される。

ここまでが準備

入力信号は時刻τにおける大きさf(τ)のインパルス入力の集合と見なすことができる。
したがって、時刻tにおける応答h(t)は、「時刻0から時刻tまでに入力されたインパルス信号」に対する応答の足し合わせと見なすことができる。
これは f(τ)g(t-τ)を0からtまで積分することに他ならないので、
h(t)=∫otf(τ)g(t-τ)dτ
一般に、τ<0, τ>tの範囲では、f(τ)g(t-τ)はゼロなので、積分区間は-∞から∞としてもかまわない。
入力信号をf(t)、回路の単位インパルス応答g(t)としたときの、応答関数h(t)が、畳み込みの定義式で表されることが示せた。


参考
・初心者用 畳み込み解説(東北工業大学 情報通信工学科 中川研究室)
http://www.ice.tohtech.ac.jp/~nakagawa/laplacetrans/convolution1.htm

・信号処理の基礎 2.1 畳み込み積分(Convolution)(Maeda Yutaka)
http://www.geocities.jp/maeda_hashimoto/math/sig_ch02pr00p01.htm

Wikipedia 畳み込み
http://ja.wikipedia.org/wiki/%E7%95%B3%E3%81%BF%E8%BE%BC%E3%81%BF

図解でわかるはじめての電気回路

図解でわかるはじめての電気回路

信号解析のための数学?ラプラス変換,z変換,DFT,フーリエ級数,フーリエ変換?

信号解析のための数学?ラプラス変換,z変換,DFT,フーリエ級数,フーリエ変換?