ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [칼만 필터는 어려워] 02. 이동 평균 필터
    항법연구실/칼만필터 2026. 3. 5. 11:55

    * 칼만필터는 어렵지 않아(지은이 김성필) 책을 보고 학습한 내용을 정리한 글입니다. 

     

     

    이번 챕터를 잘 공부하면 주식 공부에도 도움이 될 것이다.(아아주 쪼금 !) 

     

     

    주식에서 나오는 5일 이평선에서 '이동 평균'개념을 찾아볼 수 있다. 평균은 측정 데이터에서 잡음을 제거하는 역할을 하지만, 측정하는 물리량이 시간에 따라 변하는 경우에는 평균이 동적인 변화 또한 모두 제거하기 때문에 평균을 구하는 것이 부적절하다. 시간에 따른 변화, 동적 변화를 반영하기 위한 고민을 하게 되는데 ,, 

     

    이동평균 필터 개념 

    그래서 잡음은 없애면서 동적인 변화를 함께 반영할 방법을 고안해본 것이 바로 이동 평균 필터이다. 모든 측정 데이터가 아닌, 지정된 수의 최근 측정값만을 가지고 계산하는 평균이다. SW학부 때 배운 Sliding Window 개념을 수치해석에 대입한 것이라고 볼 수 있다. 

     

     

    최근 n개의 데이터만 보겠다는 전략을 취해 현재의 변화를 놓치지 않으려 노력하는 필터이다. 

     

     

     

    2번 이동 평균에서 3번 이동 평균으로 이동할 때, 가장 오래된 2번은 버리고 최신 데이터 하나는 가지고 온다. 

     

    이동평균 필터 재귀식 

     

    n개의 데이터에 대한 이동평균을 수식으로 나타내면 다음과 같다. 

     

    식 1

     

    * 이동 평균과 평균 필터 bar(x)는 다른 값임을 짚고 넘어가자.

     

    평균 필터 bar(x)는 관측치 전체에 관한 평균이지만, 이동평균은 n개 데이터의 평균이며 이 데이터들은k-n+1번째부터 k번째 데이터까지 총 n개 데이터의 평균을 의미한다. 

     

     

    다음은 재귀식을 나타내기 위해 직전의 k-1번까지의 이동평균 식이다. 

     

    식 2

     

     

    두 식을 그림으로 표현해보았다. 

     

     

     

    그럼 식 1에서 식 2를 빼고 정리해본다. 



     

    이 식을 bar(x_k)에 관해 정리하면 이러한 재귀식이 나온다. 

     

    식 3

     

    이 식이 이동평균 필터이다. 

     

     

     


     

    이동평균 필터 예제 

     

    그런데 이동 평균 필터에서 재귀식은 n개의 데이터를 항상 저장하고 있어야하기 때문에 배치식과 메모리 측면에서는 이점이 없다. 

     

    그래서 배치식을(식 1) 사용한 이동평균 필터나재귀식(식 3)을 사용한 이동 평균 필터 함수를 사용할 수 있다. 

     

     

    SonarAlt.mat
    0.00MB

     

     

     

     

    다음은 SonarAlt.mat 데이터를 이용하여 초음파 거리계 측정 값을 읽어와 이동 평균 함수를 검증하기 위한 테스트 프로그램을 실행한 결과이다. 

     

     

    n은 이동 평균 필터에서 버퍼의 크기를 나타낸다. n개의 데이터를 통해 평균을 내며, 이 n의값에 따라 그래프의 추이가 달라지므로 중요한 변수이다. n은 얼마나 많은 과거의 데이터를 평균에 반영할 것인가를 나타내는 값으로 새로운 값이 반영되는 시간의 지연도 관찰할 수 있다. 

     

    n이 작을 때 시간 지연은 줄어들지만 잡음 제거 효과가 작게 나타난다. → 민감성은 높지만 잡음 제거 특성은 낮다. 

    반면 n이 클 때는 시간 지연은 크게 나타나지만 잡음 제거 효과가 커진다. → 민감성은 낮지만 잡음 제거 특성이 높다. 

     

     

     

    n = 10

     

    n = 20
    n = 50

     

    평균 계산에 포함되는 데이터의 수가 많으면 잡음 제거는 탁월하지만 측정 신호의 변화는 제때 반영되지 않고 시간 지연이 생긴다. 그러니 잡음 제거 특성과 민감성을 고려하여 데이터에 맞는 n값을 사용하면 된다 !! 

Designed by Tistory.