Processing math: 100%

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

업샘플링 (Upsampling)

by NEWSUN* 2024. 4. 10.

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

 

Upsampling

 

 

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

 

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

 

 

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

 

Upsampling 주파수 영역 표현

 

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

 

 

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

 

 

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

 

 

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

 

 

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