ケィオスの時系列解析メモランダム

時系列解析,生体情報学,数学・物理などの解説です.

デルタ関数,単位インパルス関数は,どこに立っている?

ディラック (Dirac)のデルタ関数や,単位インパルス関数(単に,インパルス関数と呼ぶことも)は,分野によって立っている位置が違うので,一つの定義にこだわっていると,計算結果に納得できないことがあります.「デルタ関数と単位インパルス関数は同じモノだよ」と明確に書かれている教科書がありますが,分野によって定義が微妙に違い,その違いを理解することが重要というのが今回のお話です.
 
 以下では,デルタ関数,あるいは,単位インパルス関数を\delta(t)とします.\delta(t)の基本性質

 \begin{eqnarray}\int_{-\infty}^{\infty} \! \delta(t) \, dt &=& 1 \\
\int_{-\infty}^{\infty} \! f(t) \, \delta(t) \, dt &=& f(0) \\
\int_{-\infty}^{\infty} \! f(t) \, \delta(t-a) \, dt &=& f(a) \end{eqnarray}

を満たすことは,以下のどの場合も共通です.

私が最初に出会ったDiracデルタ関数

 私は物理学科出身なので,デルタ関数を以下の図を使って理解していました.

デルタ関数の定義

 つまり,上の図のように,時刻t=0について軸対称な長方形を考えます.幅\varepsilon ,高さ\displaystyle \frac{1}{\varepsilon }とするので,面積は1です.この長方形について,\varepsilon \to 0の極限をとったものがデルタ関数\delta(t)です.

 この考えた方だと,

 \begin{eqnarray} \int_{0}^{\infty} \! \delta(t)\, dt &=& \frac{1}{2} \\
\int_{0}^{\infty} \! f(t)\, \delta(t)\, dt &=& \frac{1}{2}\, f(0) \end{eqnarray}

になりそうです.実際,いくつかの教科書では,このように書かれています.

 たまに,

 \begin{eqnarray} \delta(t)=\left\{\begin{array}{cc}
0 &(t \neq 0) \\
\infty &(t=0)
\end{array}\right. \end{eqnarray}

などと,強調して書いてあることがあります.しかし,\delta(t)は,積分の中に登場して初めて意味をもつのであって,こう書いても何の意味もないし,何の役にも立たないと思います.このことは,どこかの本で読んだのか,どこかの講義で聴いたのか忘れましたが,私は経験からもそう感じるようになりました.\delta(t)は,線ではなく,幅と有限な面積をもつものです.

工学系の教科書で出会った単位インパルス関数

 私が,\delta(t)の定義に違和感を覚えたのは,線形システムのインパルス応答を計算したときです.つまり,\delta(t)ラプラス変換(片側ラプラス変換)の計算です.

 \delta(t)ラプラス変換では,

 \displaystyle \int_{0}^{\infty} \! \delta(t) \, e^{-st}\, dt

を計算します.上の図をイメージすると,t \ge 0では,デルタ関数が半分しか含まれないので,結果に\frac{1}{2}が付くよね?と考えてしまいます.

 しかし,一般的な結果は,

 \displaystyle \int_{0}^{\infty} \! \delta(t) \, e^{-st}\, dt = 1

です.

 何で?と,私はしばらく悩んだ経験があります.私は\frac{1}{2}が正しいと思い込み,さんざん世間に不平不満を言ったあげくに,\delta(t)は,上とは違う図 (t=0で軸対称ではない)で定義されているということを知りました.つまり,下の図です.

単位インパルスの定義

 この図では,t=0の右側 (t \ge 0)に長方形を置き,左端を固定して右から押しつぶしていいます.「デルタ関数と単位インパルス関数は同じモノ」とか,言わないでほしかったです.個人ごとの都合に合わせて,\delta(t)の定義は変わるよ,と最初から注意しておいてほしかったです.

 結局,この定義だと,

 \begin{eqnarray}\int_{0}^{\infty} \! \delta(t) \, dt &=& 1 \\
\int_{0}^{\infty} \! f(t) \, \delta(t) \, dt &=& f(0) \end{eqnarray}

ということです.つまり,物理よく使う\delta(t)とは違うものです.

単位インパルス関数は t > 0に立っててほしい (私の願望)

 上の単位インパルス関数\delta(t)の定義を使っても,線形システムのインパルス応答を考えるときに,私には気持ち悪さが残っています.この気持ち悪さを消すために,私としては,下の図の右のように\delta(t)を,t > 0に置いてほしいです (このように\delta(t)を定義している教科書も存在します).

\delta(t)を,t  = 0 (左)じゃなくて,t > 0 (右)に立てほしい.

 
 \delta(t)を,t > 0に置くというのは,下の図で言えば,(b)か(c)のパターンです.どの場合も,\varepsilon \to 0としたものが,\delta(t)です.

\delta(t)はどこに立っているのか?

 (b)か(c)のパターンで\delta(t)を定義すると,\delta(0)の値はどうなるの?と言われそうです.上の図の(b),(c)では,\delta(0) = 0です.おいおい,\delta(0)=\inftyだろうと,口撃されそうです.上の図の(b),(c)を使った定義では,\delta(t) = \inftyとなるtの値を明示できません.

 最初の方でも言いましたが,\delta(0)\delta(t)の値なんて考えても,何の意味もないし,何の役にも立たないと思います.私は数学者ではないので詳しいことは知りませんが,\delta(t)は数学的には関数じゃないそうです (面積をもつ不思議な線).関数っぽく書くから,\delta(0)の値を覚えて満足する人が出てくるのだと思います.

 \delta(t)が,t > 0に立っていて,面積をもっているのであれば,明確に

 \begin{eqnarray}\int_{0}^{\infty} \! \delta(t) \, dt &=& 1 \\
\int_{0}^{\infty} \! f(t) \, \delta(t) \, dt &=& f(0) \end{eqnarray}

です.単純バカの私としては,この形で話をしてほしいです.

まとめ

 \delta(t)積分の中でこそ輝くし,\delta(t)の面積が,どこに立っているのかを意識して区別しないと直感的に理解できないというのが,私の考えです.最後に注意しておきますが,今回の説明はあくまで私の個人的感想ですので,数学的な正しさは保証できません.