신호 및 시스템의 주제 중 하나인 sampling 챕터를 배우면서 연속 시간 신호 $x_c(t)$를 시간 축에서 샘플링 하여 신호 $x_s(t)$를 만들고 $x_s(t)$의 푸리에 변환을 구하는 과정이 있다. 결론적으로는 샘플링된 신호 $x_s(t)$의 푸리에 변환은 $x_c(t)$의 푸리에 변환을 주기 함수로 만들어주는 것이었다.
시간축에서 샘플링을 하면 푸리에 변환이 반복되는 것을 알수 있었다. 반대 방향으로 생각해서 주파수 영역에서 푸리에 변환을 샘플링 하게 된다면 푸리에 변환의 duality 에 의해서 신호도 반복될 것 같은데? 라는 생각이 든다. 결론적으로 어느 조건에서 이것이 성립한다.
주파수 영역에서의 푸리에 변환의 샘플링
논의를 하기 전에 다음을 정의하도록 하자.
기호정리
$N$을 자연수라고 하자. 다음과 같이 신호 $x[n]$과 $\tilde{x}[n]$을 정의하자.
$$ x[n] \text{ 은 } n = 0,1,2,…,N-1 \text{ 에서 정의 되었고, 나머지 n에서는 0}$$
$$ \tilde{x}[n]\text{ 은 } n=0,1,2,…,N-1 \text{ 에서} \tilde{x}[n] = x[n]이고 \tilde{x}[n] = \tilde{x}[n+N] \text{ 인 주기가 } N \text{ 인 신호}$$
그림으로 그려보면 다음과 같다.
$x[n]$은 n이 0,1,2,..N-1 일때만 값을 갖고 다른 점에서 0 이다. $\tilde{x}[n]$은 $x[n]$을 한 사이클로 갖는 주기가 N인 신호이다. 신호 $\tilde{x}[n]$은 주기가 있는 신호이므로 푸리에 급수 계수가 $\tilde{X}[k]$가 존재한다. 푸리에 급수가 무엇인지 궁금한 분들은 아래 글을 보면 되겠다.
주파수 영역에서 샘플링 결과 및 해석
신호 $x[n]$의 푸리에 변환을 $\frac{2\pi}{N}$간격으로 샘플링 하고 $\frac{2\pi}{N}$을 곱하면 다음과 같은 식을 얻을 수 있다.
$$\tilde{X}(e^{j\omega}) = \frac{2\pi}{N} \sum_{r=-\infty}^{\infty} X(e^{j\omega}) \delta(\omega – \frac{2\pi}{N} r)\tag{1}\label{1}$$
위 식 (\ref{1})의 의미는 신호 $x[n]$의 푸리에 변환을 $\frac{2\pi}{N}$간격으로 샘플링하고 $\frac{2\pi}{N}$를 곱하면 신호 $x[n]$을 반복한 $\tilde{x}[n]$의 푸리에 변환과 같아진다는 사실이다.
좀더 살펴보기 위해 $\delta$의 정의를 사용하여 (\ref{1})은 다음과 같이 표현하자.
$$\tilde{X}(e^{j\omega}) = \frac{2\pi}{N} \sum_{r=-\infty}^{\infty} X(e^{j\frac{2\pi r}{N}}) \delta(\omega – \frac{2\pi}{N} r)\tag{2}\label{2}$$
더구나 $X(e^{j\frac{2\pi}{N}k}) = \tilde{X}[k]$ 임을 알고 있다. (그 이유는 아래 영상에서..) 그것을 활용하면
$$\tilde{X}(e^{j\omega}) = \frac{2\pi}{N} \sum_{r=-\infty}^{\infty} \tilde{X}[k] \delta(\omega – \frac{2\pi}{N} r)\tag{3}\label{3}$$
위와 같이 (\ref{3})을 얻을 수 있다. (\ref{3})을 살펴보면 $X(e^{j\omega})$를 샘플링 한 점 $\frac{2\pi}{N}$에서 $x[n]$의 반복인 $\tilde{x}[n]$의 푸리에 급수의 계수 $X[k]$를 얻을 수 있다.
주파수 영역에서 샘플링 예시
$$x[n] = \begin{cases} 1 & n = 0, 1, 2, 3 \\ 0 & \text{otherwise} \end{cases}$$
$$\tilde{x}[n] = x[n] \text{ for } n=0,1,2,3 \text{ 이고} \tilde{x}[n+4] = \tilde{x}[n]$$
여기서 $x[n]$의 푸리에 변환을 직접 계산하면 아래와 같고
$$X(e^{j\omega}) = e^{-j2\omega} \frac{\sin(\frac{5\omega}{2})}{\sin(\frac{\omega}{2})}$$
주기 신호 $\tilde{x}[n]$의 푸리에 계수는 다음과 같다.
$$\tilde{X}[k] = e^{-j(4\pi k/ 10)}\frac{\sin(\pi k/2)}{\sin(\pi k / 10)}$$
$X(e^j\omega)$의 magnitude와 phase는 아래와 같다.
이제 $X(e^jw)$을 N=4에 대해 샘플링 $2\pi/N$간격으로 샘플링 하면 그림이 아래와 같다.
샘플링을 하면서 $\delta$함수가 $2\pi/N$간격으로 곱해졌다. 수직선으로 표시된 $\delta$가 곱해진 곳에서 $x[n]$의 반복신호인 $\tilde{X}[n]$의 푸리에 계수 $\tilde{X}[k]$를 구할 수 있다. 이것을 활용해 (\ref{3})에 의해 $x[n]$의 반복인 $\tilde{x}[n]$의 푸리에 변환 $\tilde{X}(e^{j\omega})$를 구할 수 있다.
주파수 영역에서 샘플링 결론
$n=0,1,…,N-1$에서 정의되었고 나머지 점에서 0을 갖는 신호 $x[n]$의 푸리에 변환을 $2\pi/N$간격으로 샘플링 할 경우 $x[n]$을 한 주기로 갖는 주기 신호 $\tilde{x}[n]$의 푸리에 변환인 $\tilde{X}(e^{j\omega})$와 푸리에 급수의 표현계수 $\tilde{X}[k]$을 얻을 수 있다. 이를 식으로 표현하면 아래와 같다.
$$\begin{align}\tilde{X}(e^{j\omega}) &= \frac{2\pi}{N} \sum_{r=-\infty}^{\infty} X(e^{j\omega}) \delta(\omega – \frac{2\pi}{N} r) \\ & = \frac{2\pi}{N} \sum_{r=-\infty}^{\infty} \tilde{X}[k] \delta(\omega – \frac{2\pi}{N} r)\end{align}$$
Reference
Alan V. Oppenheim, Ronald W. Schafer “Discrete-Time Signal Processing”