yProcessingClub

すみません、許してください

Signal Kernelの計算方法


66-67ページから解説.



ある時間信号z(t)の時間-周波数表現\rho_z(t,f)があるとして,\rho_z(t,f)を逆フーリエ変換したものをK_z(t,\tau)と書く.ここでK_z(t,\tau)をSignal Kernelと呼ぶことにする.K_z(t,\tau)フーリエ変換すると\rho_z(t,f)になるわけだから,数式で書くと,

\rho_z(t,f) = \int K_z(t,\tau) \mathrm{e}^{-j 2 \pi f \tau} d\tau


ここでK_z(t,\tau)はどのような形になるか.

ある信号z(t)の例として,解析信号z(t)=\mathrm{e}^{j \phi (t)}を考える.

瞬時周波数f_i (t) = \frac{\phi ' (t)}{2 \pi}より,

\rho_z(t,f) = \delta (f - f_i(t))である.

例えば5秒時点において100Hzの部分にスペクトルがあるとすれば\rho_z(5,100) = 1となるわけである.

K_z(t,\tau)\rho_z(t,f) = \delta (f - f_i(t))の逆フーリエ変換なので,

\begin{eqnarray*}
K_z(t,\tau) &=& \int \rho_z(t,f) \mathrm{e}^{j 2 \pi f \tau} df\\
&=& \int  \delta (f - f_i(t)) \mathrm{e}^{j 2 \pi f \tau} df\\
&=&  \mathrm{e}^{j 2 \pi f_i(t) \tau}\\
&=&  \mathrm{e}^{j \phi ' (t) \tau}\\
\end{eqnarray*}

ここの計算は \mathcal{F}^{-1} [ \delta (f - f_0) ] = \mathrm{e}^{j 2 \pi f_0 \tau}を使えば行ける.

さて,瞬時周波数\phi ' (t)だが,

\displaystyle
\phi ' (t) = \lim _{\tau \to 0} \frac{ \phi(t + \tau / 2) - \phi(t - \tau / 2)}{\tau}
と書ける.これは中心有限差分などで検索すると色々出てくるが,ある点 \phi(t)における傾き( =\phi ' (t))は, \phi(t)の前後の2 \phi(t + \tau / 2)及び\phi(t - \tau / 2)を通る直線の傾きに等しい(\tau \to 0において)と言える.ここで\phi ' (t) が直線ならば、言い換えると\phi ' (t) が一次式(または定数)ならば,さらに言い換えると \bf {\phi (t)}が二次式(または一次式)ならば\tau \to 0でなくても傾きは等しくなる.つまり,

 \phi ' (t) \approx  \frac{ \phi(t + \tau / 2) - \phi(t - \tau / 2)}{\tau} \ \ (\mathrm{if} \ \  \phi (t) \mathrm{\ \ is \ \ quadratic \ \ or \ \ linear})

これを代入すると,

\begin{eqnarray*}
K_z(t,\tau) &=&  \mathrm{e}^{j \phi ' (t) \tau}\\
&=&  \mathrm{e}^{j(\phi(t + \tau / 2) - \phi(t - \tau / 2))}\\
&=&  \mathrm{e}^{j\phi(t + \tau / 2)}\mathrm{e}^{-j\phi(t + \tau / 2)}\\
&=&  z(t+\tau / 2)z^*(t-\tau / 2)
\end{eqnarray*}


よって,

\begin{eqnarray*}
\rho_z(t,f) &=& \int K_z(t,\tau) \mathrm{e}^{-j 2 \pi f \tau} d\tau\\
&=& \int z(t+\tau / 2)z^*(t-\tau / 2) \mathrm{e}^{-j 2 \pi f \tau} d\tau\\
\end{eqnarray*}

この形はなんじゃらほいと考えると,まさしくウィグナービレ分布なわけである.

くどいようだが,この話が正しくなる条件として\phi ' (t) が直線である必要がある.そうでなければ極限の近似が上手くいかないからである.