[자율주행] 데이터 필터

zzwon1212·2023년 10월 18일

자율주행

목록 보기
5/6

1. 필터의 개념

  • 측정 데이터에 포함된 노이즈를 제거해야 한다.

  • 재귀 필터(Reculsive Filter): 누적된 과거 데이터와 현재 측정치로 현상태를 정확하게 추정하고자 함

    xˉk=axˉk1+(1a)xk\bar{x}_k = a\bar{x}_{k-1} + (1-a)x_k

2. 평균(average) 필터

  • 특징

    • 장점
      • 직전 평균값과 데이터의 개수만 알면 쉽고 빠르게 평균을 구할 수 있다.
      • 데이터가 순차적으로 입력되는 경우 효율성이 극대화된다.
    • 단점
      • 첫번째 데이터부터 계속 누적되기 때문에 시간에 따라 변하는 물리량에 적합하지 않다. 오래된 데이터를 계속 고려할 필요가 있는가? 예) 주가 예측
    • 센서 초기화에 활용
      센서를 처음 켜고 일정 시간 동안 출력값을 모아서 평균 필터로 평균값을 구한 뒤, 이 값을 0 또는 초기값으로 설정한다.
  • 수식

    • xˉk\bar{x}_k

      xˉk=x1+x2++xkk\bar{x}_k = {x_1 + x_2 + \cdots + x_k \over k}
    • xˉk+1\bar{x}_{k+1}

      xˉk+1=x1+x2++xk+xk+1k+1\bar{x}_{k+1} = {x_1 + x_2 + \cdots + x_k + x_{k+1} \over k+1}

      xk+1x_{k+1}이 추가되면, 위와 같이 앞서 계산한 xˉk\bar{x}_k를 이용하지 못하고 다시 모든 데이터를 이용해 평균을 구해야 한다.

    • 재귀식

      xˉk=k1kxˉk1+1kxk\bar{x}_k = {k-1 \over k}\bar{x}_{k-1} + {1 \over k}x_k

      재귀식을 이용하면, 앞서 계산한 xˉk1\bar{x}_{k-1}을 이용할 수 있기 때문에 이전 데이터를 다시 계산할 필요가 없다.

      xˉk=axˉk1+(1a)xk\bar{x}_k = a\bar{x}_{k-1} + (1-a)x_k

      a=k1ka = {k-1 \over k}로 치환하면 위와 같이 표현할 수 있다.

3. 이동 평균(Moving Average) 필터

  • 특징

    • 장점
      • 계산에 사용되는 데이터의 개수가 많아지면, 노이즈 제거 성능이 좋아진다.
    • 단점
      • 계산에 사용되는 데이터의 개수가 많아지면, 측정 신호의 변화가 제때 반영되지 않고 시간 지연이 발생한다.
      • 모든 데이터에 동일한 가중치 1n{1 \over n}을 부여한다.
      • 재귀식도 과거 n개의 데이터를 계속 기억하고 있어야 하기 때문에 계산에 특별히 유리하지는 않다.
    • 주가 추세 파악에 활용
  • 수식

    • n개의 이동평균 xˉk\bar{x}_k
      xˉk=xkn+1+xkn+2++xkn\bar{x}_k = {x_{k-n+1} + x_{k-n+2} + \cdots + x_k \over n}
    • 재귀식
      xˉk=xˉk1+xkxknn\bar{x}_k = \bar{x}_{k-1} + {x_k - x_{k-n} \over n}
      재귀식을 이용하면, 앞서 계산한 xˉk1\bar{x}_{k-1}을 이용할 수 있지만 이전 n개의 데이터를 기억하고 있어야 한다. 차라리 배치식이 더 간단하다.

4. 저주파통과(Low-pass) 필터

  • 특징

    • 많은 경우에 최근 데이터가 오래된 데이터보다 중요하다. 저주파통과 필터는 최근 측정값에 높은 가중치를, 오래된 값에 낮은 가중치를 부여한다.
    • 이동 평균이 가지는 한계인, 잡음 제거와 변화 민감성의 상충을 더 잘 다룰 수 있다.
    • 1차 저주파통과 필터 = 지수 가중 이동 평균 필터
  • 수식

    xˉk1=axˉk2+(1a)xk1xˉk=axˉk1+(1a)xk=a{axˉk2+(1a)xk1}+(1a)xk=a2xˉk2+a(1a)xk1 +(1a)xka(1a)<(1a)\bar{x}_{k-1} = a\bar{x}_{k-2} + (1-a)x_{k-1} \\ \bar{x}_k = a\bar{x}_{k-1} + (1-a)x_k \\ = a\{a\bar{x}_{k-2} + (1-a)x_{k-1}\} + (1-a)x_k \\ = a^2\bar{x}_{k-2} + a(1-a)x_{k-1}\ + (1-a)x_k \\ a(1-a) < (1-a)

    과거 데이터일수록 낮은 가중치 ana^n이 부여된다. a가 작을수록 잡음 제거는 약해지고, 과거 데이터보다 현재 데이터에 더욱 민감해진다.

5. 가중이동평균 필터

  • 특징
    • 지수 가중치를 부여하는 저주파통과 필터와는 달리, 선형적으로 증가하는 가중치를 부여한다.
    • 과거 데이터의 가중치가 지나치게 작아지는 것을 방지한다.
  • 수식
    • n개의 이동평균 xˉk\bar{x}_k
      xˉk=xkn+1+2xkn+2++nxk1+2++n\bar{x}_k = {x_{k-n+1} + 2x_{k-n+2} + \cdots + nx_k \over 1 + 2 + \cdots + n}

📙강의 - (주)자이트론 대표이사 허성민

profile
JUST DO IT.

0개의 댓글