이동 평균 필터
본문 바로가기
컴퓨터 비전/칼만필터

이동 평균 필터

by Macgyvering2 2020. 7. 20.

들어가며

이동 평균은 평균의 정의식과는 다르다. 

 

평균의 정의식은 다음과 같은데,

 

 

이동 평균의 정의식은 다음과 같다.

 

 

차이점은

평균은 전체 데이터를 합한 값을 전체 데이터의 개수로 나눈 값이고

이동 평균은 최근 n개의 데이터를 합한 값을 n개의 데이터 개수로 나눈 값이다.

일종의 평균의 지역화(?)이다.

 

사실 이 정의식으로 이동 평균 필터는 구현된 것이나 다름없다.

여기서 데이터가 하나 추가되더라도 n개의 데이터에 대해서만 처리를 하면 되므로

계산량이 점점 늘어나는 방식이 아니므로 그냥 계산해도 무관하다.

 

이동 평균 필터 식은 n개의 데이터만을 보관하고 있으면 되므로

전체 데이터를 보관하고 있어야 하는 평균 필터와는 다르기 때문이다.

 

그렇지만 n의 개수가 커지면 커질수록 n의 개수를 줄이거나, 혹은 이전 값을 활용하는 방법을 검토해봐야 할 것이다.

n이 무한히 커지면 평균 필터와 동일한 연산이 되기 때문.

 

n이 시스템의 성능 저하를 일으킬만큼 충분히 크다면,

이전에 구해놓았던 이동 평균의 값을 재활용하여 구할 수 있는 것이 계산양을 줄일 수 있어서 유리하다.

 

다음은 수식을 유도하는 과정을 보도록 한다.

수식 유도

이동 평균의 정의식은 다음과 같다.

 

 

여기서 새로운 데이터가 들어오면 k+1항으로 표시될텐데

새로운 데이터를 k번째 항으로 두기 위해서 이전까지의 이동 평균항을 k-1항으로 두도록 한다.

k대신 k-1을 대입

 

 

이동 평균에서 평균을 구하는 데이터의 개수를 n개로 정해놓은 것이 이동 평균이므로

새로운 항이 들어오면 가장 오래된 항은 계산에서 제외된다.

 

이동 평균 필터는 가장 오래된 항과 가장 최근에 들어온 항의 값에 따라 값이 달라지는데

그 관계를 알기 위해 x_k 항과 x_k-1항을 빼면 다음과 같다.

 

 

소거되고 남는 값은 다음과 같다.

 

 

거의 완성되었다. 식을 깔끔하게 하기 위해 k-1번째 항을 우변으로 넘기도록 한다.

 

 

여기서 n값은 사용자가 미리 정해놓는 값으로서 '알고 있는 값'이므로 미지수가 아니다.

비로소 k-1번째까지의 이동 평균 값에 의해 k번째 까지의 이동 평균 값이 만들어지는 식이 세워졌다.

활용방안

평균 필터와 마찬가지로 이동 평균 필터는 잡음 제거의 용도로 사용할 수 있다.

 

평균 필터가 어떤 고정적인 값의 데이터를 측정할 때의 잡음을 제거하는데 유용하게 쓰일 수 있다면

이동 평균 필터는 조금씩 변화하는 데이터를 측정할 때의 잡음을 제거하는데 유용하게 쓰일 수 있다.

 

예를 들어 시간에 따라 변화하는 어떤 값을 1초에 5번씩 측정하는 센서가 있다면

측정값을 이 수식을 통과시키는 것만으로도 잡음을 효과적으로 제거할 수 있다. 

 

여기서 "조금씩 변화하는 데이터"라고 함은 측정 대상의 시변 주파수가 센싱 주파수보다 훨씬 더 작게 변화하는 신호를 의미한다. 그 기준이 얼마가 되는지는 더 탐구해봐야 알겠으나, 나이퀴스트 샘플링 이론에서도 fs >=2fm으로 잡았는데 최소 2배 이상은 차이가 나야될 것으로 보인다.

한계

주파수가 높은 값(매우 짧은 시간 동안 변화하는 값)과 변화의 폭이 큰 값은 순간적인 변화를 따라가기 어렵다.

'컴퓨터 비전 > 칼만필터' 카테고리의 다른 글

1차 저주파 통과 필터(First order Low Pass Filter)  (0) 2020.07.20
평균필터  (0) 2020.07.19

댓글