위그너빌레 분포의 유도에 대한 계산 메모

5477 단어 matlab신호 처리

소개



시간 주파수 분석의 일종 인 위그너빌레 분포의 장점 단점과 스펙트로 그램과의 비교는 과거 기사에서 설명했다.
이번에는 그 도출 방법을 기록해 둡니다.

공부를 위해 기사를 쓴 것이고, 잘못된 설명도 있을지도 모르기 때문에, 코멘트등 받을 수 있으면 도움이 됩니다.

입력 신호 정보



처리 할 신호는 분석 신호 $ z (t) $입니다.
분석 신호는 음의 주파수를 갖지 않는 신호이며 matlab는 함수 hilbert에서 구한다.

hilbert - MATLAB & Simulink - MathWorks 한국
Fs = 1000;
t = 0:1/Fs:1;
f = 100;
s = sin(2*pi*f*t); % 実数信号
z = hilbert(s); % 解析信号
matlab 노르마를 달성했기 때문에 matlab 태그 붙여도 허용됩니까?

그건 그렇고, $ s (t) $의 분석 신호 $ z (t) $는
z(t)=\mathcal{A}(s(t))=s(t)+j \mathcal{H}(s(t))

에서 요구되고, 이 $\mathcal{H}(\cdot)$ 가 힐버트 변환이고, matlab 에서는 $\mathcal{A}(\cdot)$ 가 hilbert 어쨌든.

스펙트럼



$ z (t) $의 주파수가 $ f_c $라고 가정하면 스펙트럼은 다음과 같습니다.


이 스펙트럼은 델타 함수 $\delta (\cdot) $를 사용하여 다음과 같이 표현됩니다.
Z(f) = \delta ( f - f_c )

델타 함수 $\delta(x)$는 $x\not = 0$이고 $\delta(x)=0$, $\int ^ {\infty } _ {-\infty }\delta (x) dx = 1 $이되고,
이번에는 $ f = f_ {c} $ 일 때 델타 함수의 내용이 $ 0 $가되어 흠뻑 서있는 느낌이다.

순간 스펙트럼



그런 다음 스펙트럼이 시간에 따라 변할 때 확장됩니다. 스펙트럼이 가끔씩 변하기 때문에 이것을 순간 스펙트럼이라고합니다.



순시 주파수를 $f_i(t)$로 하고, 순시 스펙트럼은,
\rho _z (t,f)=\delta ( f - f_i(t) )

된다. 이것의 역 푸리에 변환을 요구하면,
\begin{align}
K_z(t,\tau)&=\mathcal{F}^{-1}_{\tau \leftarrow f} ( \rho _z (t,f) )\\
&=\mathcal{F}^{-1}_{\tau \leftarrow f} ( \delta ( f - f_i(t) ))\\
&=\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{align}

시간 변수 $ t $는 이미 사용되었으므로 대신 $\tau $를 사용했습니다.
또한 위상 $\phi (t) $로서, 그것을 미분 한 것이 순간 주파수가되는 것은 과거 기사에서 설명했다.
f_i(t) = \frac{1}{2 \pi } \frac{d \phi }{dt} (t)\\
\frac{d \phi }{dt} (t) = \phi ' (t) = 2 \pi f_i (t)

이제 $\phi '(t) $는 $\phi (t) $를 사용하여 다음과 같이 쓸 수 있습니다.
\phi ' (t) = \lim_{\tau \to 0} \frac{\phi (t + \frac{\tau}{2} ) - \phi (t - \frac{\tau}{2} )} {\tau}

그림으로 하면 이런 느낌.


자, 여기서 과감히 다음과 같이 근사해 본다.
\phi ' (t) =  \frac{\phi (t + \frac{\tau}{2} ) - \phi (t - \frac{\tau}{2} )} {\tau}

이 근사는 $\phi '(t) $가 1 차 함수 일 때, 즉 $\phi (t) $가 2 차 함수 또는 1 차 함수 일 때 정확하게 보인다.

이것을 $K_z(t,\tau)$로 되돌리고,
\begin{align}
K_z(t,\tau)&= \mathrm{e}^ {j \phi ' (t) \tau}\\
&=\mathrm{e}^ {j ( \phi (t + \frac{\tau}{2} ) - \phi (t - \frac{\tau}{2}) )}\\
&=\mathrm{e}^ {j  \phi (t + \frac{\tau}{2} )} \mathrm{e}^ {-j  \phi (t - \frac{\tau}{2} )}\\
&=z\left(t+\frac{\tau}{2}\right) z^* \left(t-\frac{\tau}{2}\right)
\end{align}

이것을 $\tau\to f $로 푸리에 변환합니다.
\begin{align}
W(t,f) &= \int ^{\infty} _{- \infty} K_z(t,\tau) \mathrm{e}^{-j 2 \pi f \tau} d\tau\\
&= \int ^{\infty} _{- \infty} z\left(t+\frac{\tau}{2}\right) z^* \left(t-\frac{\tau}{2}\right) \mathrm{e}^{-j 2 \pi f \tau} d\tau\\
\end{align}


라고 쓰면, 이 $W(t, f)$가 위그너빌레 분포가 된다.

요약



이번에는 시간 주파수 표현의 대답입니다.
\rho _z (t,f)=\delta ( f - f_i(t) )

역방향으로 위그너빌레 분포를 구했다.

위그너빌레 분포에서는 시간 같은 변수 $\tau$가 나왔지만, 구하는 방법에 따라서는 주파수 같은 변수 $\nu$도 나온다.
$ K_z (t,\tau) $를 $ t\to\nu $로 푸리에 변환하면 모호도 함수 $ A (\nu,\tau) $가 결정됩니다. 애매도 함수, $(\nu,\tau)$평면에서 처리를 하면 뭔가 기쁜 일이 있는 것 같지만, 이쪽은 아직 공부중이며, 추후 기사를 쓰고 싶은 곳이다.
또, matlab 실장도 가는 것은 해 가고 싶지만・・・?

좋은 웹페이지 즐겨찾기