본문 바로가기
Matlab

Matlab resample과 upsample, downsample 차이점

by 매일사직서 2023. 6. 28.
반응형

Matlab에서 굉장히 자주 사용하는 resample, downsample, upsample에 대해 알아보겠습니다. 아마 Matlab을 많이 쓰시는 분들은 resample을 자주 사용 하실 거라 봅니다. resample을 자세히 알지 못하고 사용하면 원하는 결과가 나오지 않으니 주의하시라는 마음으로 작성합니다. 

Upsample, Downsample

기본적으로 upsample은 몇 배로 늘리는 것입니다. 예를 들어 1, 2, 3, 4의 데이터가 있으면 upsampe(data,3)을 하면 3배로 늘립니다. 빈칸은 기본적으로 0을 채웁니다. 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 4, 0, 0, 0, 이 되겠네요. 반대로 Downsample은 1, 2, 3, 4, 5, 6, 7, 8이라는 데이터가 있다면 downsample(data, 2)를 하게 되면 2개마다 데이터를 가지고 오게 됩니다. 1,3,5,7 이렇게 가지고 옵니다. upsample과 downsample은 정수만 적용 가능합니다. 2.1배 upsample, downsample은 불가능합니다. 

Resample

resample은 기본적인 구조가 다릅니다. 내부 코드를 살펴보면 interpolation 후 downsample을 진행합니다. 이것은 무엇을 의미하냐면 소수배도 upsample, downsample이 가능하다는 말입니다. 이 개념은 아주 중요합니다. 많은 곳에 활용될 수 있습니다. 예를 들어... 도플러 효과를 modify 할 때도 사용 가능 하겠군요. 

resample(data, P, Q)로 구성되어 있는데 P는 Inpterplation 상수, Q는 downsample 상수라고 생각하시면 됩니다. 간단하죠?? 다들 꼭 기억하시고 활용하시길 바랍니다. 

반응형

댓글