2018年4月26日木曜日

単位インパルス関数

\( t < 0 \) のとき 0 で、\( t \ge 0 \) のとき 1 となる関数を考えます。でも、これだと、下の図のように \( t = 0 \) のところで不連続になってしまいます。で、その右の図のように、0 から 1 に変化するところに幅 \( \varepsilon \) を持たせます。これで、一応連続になります。

\( \varepsilon \to 0 \) のように極限をとりますと、以下のようになります。これが単位ステップ関数というものです。 \begin{equation} u(t) = \lim_{\varepsilon \to 0} u_\varepsilon (t) \end{equation} ここで、上の右図に対して範囲を区切って微分します(\( t=0, t=\varepsilon \)では微分不可能)。 \begin{equation} \delta_\varepsilon (t) = \frac{{\rm d} u_\varepsilon (t)}{{\rm d} t} \end{equation} このとき、\( \delta_\varepsilon (t) \) として面積1の長方形を考えます(下図右)。そうしますと、 \begin{equation} \frac{1}{\varepsilon} ( 0 < t < \varepsilon )\\ 0 \ \ ( それ以外 ) \end{equation} となります。ここで、\( \varepsilon \to 0 \) のように極限をとりますと、以下のようになります。 \begin{equation} \delta (t) = \lim_{\varepsilon \to 0} \delta_\varepsilon (t) \end{equation} これが単位インパルス関数(ディラックのデルタ関数)です。\( \varepsilon \to 0 \)としたとき、\( \delta (t) \) は \( \infty \) になりますので、図では正確に書き表せません。で、便宜的に大きさ1の矢印とします(下図左)。

つまり、 \begin{equation} \int_{-\infty}^\infty \delta(t) dt = \lim_{\varepsilon \to 0} \int_0^\varepsilon \delta(t) dt = \lim_{\varepsilon \to 0} \int_0^\varepsilon \frac{1}{\varepsilon} dt = 1 \end{equation} ということです。関数 \( f(t) \) を考えた場合、\( f(0) \) は \begin{equation} \int_{-\infty}^\infty f(t) \delta(t) dt = f(0) \end{equation} となります。\( t = \tau \) であれば、単位インパルス関数 \( \delta (t) \) を \( \tau \) だけ平行移動した \( \delta (t - \tau ) \) を考えればよいのです。 \begin{equation} \int_{-\infty}^\infty f(t) \delta(t - \tau) dt = f(\tau) \end{equation}

で、単位ステップ関数 \( u(t) \) を、単位インパルス関数で表せば、次式となります。 \begin{equation} u (t) = \int_{-\infty}^\infty u(t) \delta( t - \tau ) dt = \int_0^\infty \delta (t-\tau) dt = \int_{-\infty}^t \delta(\tau) d\tau \end{equation}

2018年4月11日水曜日

畳み込み

信号処理の分野では畳み込み積分という重要な処理があります。「畳み込み」と言いますと、ディープラーニングの主要な構造の一つ、畳み込みニューラルネットワーク(CNN)でお馴染みかも知れません。ただ、CNNでは画像とフィルタの間の相関を表すものに近く、実際、画像の画素とフィルタのフィルタ係数との積和演算になっています。

位置\( (i, j) \)の画素の画素値を \( x_{ij} \) とし、位置\( (p, q) \)のフィルタのフィルタ係数を \( h_{pq} \) とすれば、その積和演算は以下のようになります。

\begin{equation} u_{ij} = \sum_{p=0}^{H-1} \sum_{q=0}^{H-1} x_{i+p,j+q} h_{pq} \end{equation}

この積和演算では、画像の中に、フィルタの濃淡パターンと似た濃淡パターンがどこにあるかを検出する働きがあります。したがって、フィルタが持つ濃淡の特徴を、画像から抽出していると考えることができます。で、その先に行く前に、この畳み込み積分をちゃんと理解しておきましょう。

信号処理では、システムとして線形で時間的に特性が変化しないものを考えることがあります。これを、線形時不変システムと呼びます。知りたいのは、システムに入力があったとき、出力がどうなるかということです。ただ、システムの特性は明示的にはわからないものとします。このとき、インパルス応答と入力の畳み込み積分によって、システムの出力が計算できるのです。インパルス応答というのは、システムに単位インパルス信号を入力したときの出力応答のことです。

ということで、まず、インパルス応答について知る必要がありますね。その詳細を次に書きます。