지난 글에서 cepstrum에 대해 알아보았다.(cepstrum(켑스트럼)의 정의 ) 켑스트럼은 수학적으로 보면 별것이 없다. 어려운점이라면 로그 복소수를 사용한다는 점이다. 이번에는 켑스트럼을 왜 하는지를 보기 위해 켑스트럼과 에코의 관계를 보도록 하겠다. 많은 직관을 주니까 보면 좋겠다.
켑스트럼과 에코의 관계를 보기 위하여 가장 간단한 에코모델을 보도록 하자.
간단한 에코 모델
$x(t)$를 신호라고 하면 다음과 같은 간단한 에코모델을 생각할 수 있다.
$$y(t) = x(t) + \alpha x(t-\tau)$$
$x(t)$라는 신호에 $\alpha$만큼 신호가 $\tau$만큼 지체되어서 중첩되는 것을 표현한다.
power spectrum 을 관찰
unit impulse response가 $h(t) = \delta(t) + \alpha \delta(t-\tau)$이므로 $y$의 power spectrum density는 아래와 같다.
$$\Phi_{yy}(j\Omega ) = |H(j\Omega)|^2 \Phi_{xx}(j\Omega) = \Phi_{xx}(j\Omega)(1+2\alpha \cos \tau \Omega + \alpha^2)$$
power spectrum density에 로그를 붙이면 아래와 같아진다.
$$\log \Phi_{yy}(j\Omega) = \log \Phi_{xx}(j\Omega) + \log (1+2\alpha \cos \tau \Omega + \alpha^2)$$
위의 식에서 $\alpha^2$를 무시한 후 전개하면 아래와 같이 근사식이 만들어진다.
$$\log \Phi_{yy}(j\Omega) = \log \Phi_{xx}(j\Omega) + 2\alpha \cos \tau \Omega$$
power spectrum을 관찰해보면 $x$의 power spectrum density는 에코를 만남으로써 $2\alpha \cos \tau \Omega$만큼의 출렁임(?) 오차가 생겼다. 이 오차는 $\alpha$와 $\tau$에 의해 특징지어진다. $\alpha$는 진폭역할을 하고 $\tau$는 주파수내에서 오차가 얼마나 왔다갔다 하는지를 나타낸다.
여기에 푸리에 역변환을 해보자. power spectrum density는 autocorrelation 의 푸리에 변환이고 power spectrum density에 로그를 붙히고 푸리에 역변환을 하는 것이므로 autocorrelation 의 켑스트럼을 구하는 것을 알 수 있다.
$$ c(t) = \frac{1}{2\pi} \int_{-\infty}^{\infty} (\log \Phi_{xx}(j\Omega) + 2\alpha \cos \tau \Omega )e^{j\Omega t} d\Omega=\frac{1}{2\pi} \int_{-\infty}^{\infty} (\log \Phi_{xx}(j\Omega))d\Omega + \alpha \delta(t-\tau) + \alpha \delta(t+\tau)$$
cepstrum에서 $\alpha$와 $\tau$가 등장했다. 이것의 의미하는 바는 에코가 생김으로써 $x(t)$의 power spectrum에 $\tau$의 속도로 출렁이는 $2\alpha$ 크기 정도의 $cos$신호가 중첩된다는 것을 의미한다.
echo와 cepstrum과 power spectrum 관계
echo가 생김으로써 power spectrum에 변화가 생기는데 이 변화는 cepstrum을 이용하여 측정할 수 있다. cepstrum을 얻게 된 신호의 단위는 quefrency라고 부른다.