업샘플링 (Upsampling)
본문 바로가기
연구 노트/디지털신호처리

업샘플링 (Upsampling)

by NEWSUN* 2024. 4. 10.

sampling rate을 변환하는 이유가 뭔지 생각해보고 샘플링 속도 (sampling rate)를 올리는 방법인 upsampling에 대해 알아봅시다. 

 

Upsampling

 

 

$L$이라는 factor를 도입하여 $x[n]$의 샘플링 속도를 올리는 작업을 upsampling이라고 합니다. 샘플 수를 2배로 늘리기 위해, 사잇값을 0으로 채우는 등 기존의 시퀀스를 expand 했기 때문에 $x_e[n]=x[n/L]=x_c(nT/L)$으로 표기합니다. $x_e[n]$은 LTI의 컨볼루션 식과 비슷한 형태를 가지지만 실제로 컨볼루션 공식은 아니고 $n$이 $kL$일 때마다 $x_e[n]$이 원래의 샘플값을 갖는 델타에 관한 식 입니다.

 

사잇값으로 들어가는 게 실제 데이터가 아닌 0이기 때문에, 샘플 수가 많아진다고 해서 정보량이 늘어나는 것은 아닙니다. 또, 기존 신호 샘플 사이에 없었던 값이 채워지는 것이기 때문에 고주파 성분이 생기게 됩니다.

 

 

업샘플링된 신호의 DTFT 식은 $X(e^{j\omega})$에서 $\omega$를 $\omega L$로 바꾼 $X(e^{j\omega L})$로 표기합니다. 샘플링 속도를 올리는 작업 이후, 주파수 축은 줄어들게 (shrink) 됩니다.

 

Upsampling 주파수 영역 표현

 

없던 샘플을 채워주기 때문에 업샘플링 작업은 보간 (interpolation)과 비슷한 의미를 가집니다. 이러한 이유로, 원신호 $x[n]$를 업샘플링한 이후 low-pass filter (LPF)를 적용하여 고주파 성분을 제외하고 원래 값만 뽑아낸 신호를 $x_i[n]$으로 표기합니다. 

 

 

위에서 보았듯이, ideal한 LPF의 임펄스 응답은 sinc 함수 입니다. 그렇기 때문에 $n=0$일 때, 값이 1이고 $n$이 일정한 주기 $L$ 마다 값이 0인 속성을 갖습니다. 따라서, ideal한 LPF를 적용한 보간된 신호 $x_i[n]$은 주기 $L$마다 원래 샘플값 그대로 나오게 됩니다.  

 

 

$X(e^{j\omega})$와 $x_e[n]$의 DTFT 결과인 $X_e(e^{j\omega})$를 비교해보면, 주파수 축이 2배로 압축 (squeeze)된 걸 알 수 있습니다. 위에서 말했듯이, 사잇값으로 0을 채워넣었기 때문에 원래 신호에는 없던 고주파 성분이 섞여 들어가는 것을 확인할 수 있습니다.

 

 

이를 없애주기 위해, gain이 $L$이고 차단 주파수가 $\pi/M$인 LPF를 적용하게 되면 gain이 $L$배가 되고 주파수 축이 $L$배 압축된 원신호 DTFT 결과를 얻게 됩니다!

 

 

GIST 신종원 교수님 '디지털신호처리' 수업 자료를 바탕으로 쓴 글입니다.