MoonNote

반응형
     

 

 

에일리어싱(Aliasing)이란,

에일리어싱(Aliasing)이란 표본화(Sampling)하는 과정에서 원신호를 정상적으로 복원하지 못하고 "일그러짐"이 발생하는 것을 말합니다. 즉, 신호의 왜곡이 발생하는 것이죠. 계단 현상이라고 부르기도하는데 일반적인 처리법으로 안티-에일리어싱(Anti-Aliasing)이 있습니다. 말그대로 에일리어싱을 해결하기 위한(Anti-) 기술인데 아래 그림처럼 가장자리 색의 값과 배경색의 값을 산출한 뒤 나누어서 중간색을 만들고 계단의 사이사이 픽셀을 메우는 방법입니다.

 

에일리어싱(Aliasing)과 안티-에일리어싱(Anti-Aliasing), 출처 : 나무위키

 

안티-에일리어싱 관련 이미지(좌 : 적용안됨, 우 적용됨), 출처 : 나무위키

 

본문에서는 따로 안티-에일리어싱에 대해서는 자세히 다루지 않으니 궁금하신 분들은 검색을 통해 한번 관련 글을 읽어보시기 바랍니다. 데이터 수집에서는 "에일리어싱은 신호의 왜곡을 말한다."라고만 숙지한 후 아래 이미지로 표본화(Sampling)에 대한 설명을 이어나가겠습니다.

 

10Hz Sinewave 파형을 표본화(Sampling)한 이미지

 

검정색 실선이 원신호, 빨간점이 샘플링한 시점에서의 데이터, 빨간 실선이 부호화까지 모두 마치고 원신호를 복원한 신호입니다. 맨 위의 그래프에서의 이미지를 보시면 원신호는 10Hz 사인파이며 복원한 신호는 1Hz 사인파입니다.

 

왜 원신호를 제대로 복원하지 못하였을까요?

 

원인은 바로 신호를 양자화할 때 적절한 샘플링 속도로 하지못하였기 때문입니다. 원신호보다 샘플링 속도가 느릴 경우 이러한 현상이 발생합니다. 따라서 신호의 왜곡이 발생하지 않도록 적절한 샘플링을 취하는 것이 중요하다고 볼 수 있죠.

 

에일리어싱(Aliasing) 응용 사례

일상 생활에서도 에일리어싱 현상을 볼 수 있는데 몇가지 사례를 소개해보겠습니다. 먼저 자전거 바퀴에 부착되어서 특정 패턴 혹은 문자를 보이게끔하는 '휠 라이트'입니다. 보통 사람마다 편차는 있지만 전문가들이 말하기를 우리의 눈이 인지할 수 있는 프레임은 초당 30~60 프레임정도라고 합니다. 즉, 우리 눈의 시신경을 통해 뇌에서 이를 인지하는 속도가 정해져있다는 것인데요. 눈이 인식할 수 있는 속도보다 빠르거나(나이퀴스트 주파수 응용) 또는 느리게 회전시켜 특수한 형상의 이미지를 보여주는 원리입니다.


1. 휠라이트

 

 

두 번째는 우리가 운전이나 버스등 차를 이용할 때 맞은편에 같이 달리고 있는 자동차의 '바퀴가 뒤로 굴러가는 것처럼 보이는 현상'입니다. 마차 바퀴 현상이라고도 하는데 이 역시 에일리어싱 현상입니다.

 

2. 마차 바퀴 현상

마차 바퀴 현상(출처 : 위키백과), 회전 방향 : 시계 방향

 

 

나이퀴스트(Nyquist) 이론

나이퀴스트 이론(Nyquist Theorem) 또는 나이퀴스트-샤넌 정리(Nyquist-Shannon Theorem)라고 부릅니다. 한 문장으로 정의해보면 "샘플링하려는 원신호의 주파수보다 2배 이상의 빠르기로 샘플링을 해야지만 정확하게 신호를 복원할 수 있다."는 내용입니다. 원신호의 주파수에 대해 언급을 하고있는데 나이퀴스트 이론에 대해 증명을 할 때 Time-domain과 Frequency-domain에서의 데이터를 같이 살펴봅니다. 신호의 파형(사인파/삼각파/사각파 등)이 정확하게 복원이 되었는지, 신호가 가지고있던 주파수 성분이 동일한지를 살펴보는 것이죠.

 

시간 영역(Time-domain)과 주파수 영역(Frequency-domain)에서의 데이터

 

그럼 왜 2배 이상의 샘플링이라고 하는지 예시를 통해서 추가 설명을 이어나가보도록 하겠습니다. 예시에서는 10Hz 사인파를 가지고 3가지 경우를 살펴보겠습니다.

 

1. 원신호 : 10Hz 사인파, 샘플링 속도 : 10S/s

우리가 수집하려는 10Hz의 사인파를 샘플링 속도 10S/s로 수집하였을 경우입니다. 사인파 1파형당 1개의 샘플만 취득하게 되므로 1초 기준 10포인트를 이어보면 우측 이미지처럼 DC형태로 보입니다. 실제 사인파가 들어오고 있지만 우리가 AD 컨버젼을 통해 보는 데이터는 정확하게 원신호를 복원하지 못한 것이라고 할 수 있죠.

 

2. 원신호 : 10Hz 사인파, 샘플링 속도 : 20S/s

나이퀴스트 이론에서 말하는 신호 주파수의 2배로 샘플링하였을 경우입니다. 사인파 1파형당 2개의 샘플을 취득하게 되므로 삼각파의 형태로 표현이되는 것을 보실 수 있습니다. Time-domain에서의 신호 복원은 정확하게 되지 않았지만 2배의 빠르기로 샘플링할 경우 원신호의 주파수가 얼마인지 주파수 성분은 알 수 있게 되는 것이죠.(1초에 신호가 몇번 반복되는지 알 수 있습니다.) 

 

정리해보자면 원신호보다 2배 빠른 샘플링으로는 주파수 성분은 알 수 있지만 Time-domain에서의 정확한 신호 복원은 어렵다고 이해하시면 되겠습니다.

 

3. 원신호 : 10Hz 사인파, 샘플링 속도 : 100S/s

2번의 정리 내용을 참고하여 연속적인 시간에서의 신호를 우리가 이산 신호로 볼 때 "포인트가 많으면 많을수록 더 정확한 표현이 가능하다."는 것을 알 수 있습니다. 그러한 이유로 이론적으로는 2배 이상의 빠르기이지만 실제 샘플링을 취할 때는 신호의 5배 또는 10배 이상의 빠르기로 샘플링을 취득합니다. 사인파형 1개를 100포인트, 1000포인트로 표현하는 것이죠. 그러면 Time-domain에서의 복원도 정확하고 Frequency-domain에서의 주파수 성분까지 모두 알 수 있습니다.

 

자, 여기까지 살펴보았을 때 "그냥 무조건 샘플이 많을수록 좋은거네."라고 생각하실 수 있는데요. 샘플이 많을수록 표현이 정확해지는 것은 맞지만 버퍼에 들어가는 데이터의 용량 또한 커지므로 메모리 등을 더 잡아먹게되니 무조건 많이보다는 시스템에 맞는 적절한 샘플링을 설정하는 것이 중요합니다. 이상으로 에일리어싱(Aliasing)과 나이퀴스트(Nyquist) 이론에 대해 알아보았습니다.

 

 

 

 

 

 

 

 

 

 

 

 

※ 이 글이 도움이 되었다면 "👆🏻구독"과 "🤍공감" 버튼을 클릭해주세요. 클릭 한번이 글 쓰는데 큰 힘이 됩니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band