저주파 통과 필터 (Low-Pass Filter)

  • 저주파 신호는 통과시키고 고주파 신호는 걸러내는 필터
  • 대게 노이즈가 고주파 성분일 때 노이즈 제거용으로 사용
  • 특정 수식의 필터를 지칭하는 고유 명사가 아니라 저주파만 통과시키는 특성을 가진 모든 필터를 총칭
  • Low-Pass Filter 중 비교적 간단한 1차 Low-Pass Filter를 다루어보자

고주파 저주파?

  • 주파수(Frequency): 신호가 얼마나 빠르게 변화하는가
    • 단위: 헤르츠(Hz) → 초당 몇 번 변화하는가
    • 예시: 1Hz = 초당 1번 진동, 100Hz = 초당 100번
  • 고주파(High Frequency): 빠르게 변화하는 성분(급격한 변화, 잡음 등)
  • 저주파(Low Frequency): 느리게 변화하는 성분(완만한 변화, 추세 등)

이동 평균 필터의 한계

위 식을 보면, 모든 데이터에 동일한 가중치()를 부여함

  • 일반적으로 시간에 따른 변화가 있는 데이터는 가장 최근에 있는 데이터가 가장 중요하다고 볼 수 있음
  • 따라서 이동 평균 필터는 변화가 심한 신호에 적용하기 어렵다

1차 저주파 통과 필터 (1st order Low-Pass Filter)

1차 저주파 통과 필터식 전개

  • 최근 측정값에는 높은 가중치를 주고, 오래된 값일수록 가중치를 낮게 주어보자
  • 1차 저주파 통과 필터 식 ( 는 추정 값, estimated value)
  • 위의 식이 이동 평균 필터의 단점을 보완하는지 보면,

범위를 가질 때, 가 성립

  • 따라서, 최근 측정값()이 이전 측정값() 보다 더 큰 가중치를 가지고 있음
  • 에 대해서도 전개해보면,

다음을 만족함

최근 값과 멀어질수록 값이 기하급수적으로 작아진다

지수 가중 이동 평균 필터 라고도 함

알파값

  • 값에 따라 성능이 좋아질수도 나빠질수도 있음
  • 이동 평균 필터의 데이터 개수 과 유사함
  • 값이 작으면 노이즈는 많지만 변화에 민감하다 (현재 데이터의 가중치가 높아짐 변화하는 데이터를 적극 반영)
  • 값이 크면 노이즈에는 강하지만 변화에 둔감하다 (현재 데이터의 가중치가 낮음 변화하는 데이터를 덜 반영)

1차 저주파 통과 필터 코드

class LPF:
    # 이전 스텝의 예측값
    prevX = 0
    
    # 측정값 x와 상수 알파를 입력 받아 low pass filter를 수행합니다.
    def lpf(self, x, alpha):
        # low pass filter 
        x_lpf = alpha * self.prevX + (1 - alpha)*x
        # 이전 스텝 값 갱신
        self.prevX = x_lpf
        return x_lpf    

정리

  • 1차 저주파 통과 필터는 매우 단순하며 시간에 따라 변화하는 데이터에서 이동 평균 필터에 비해 좋은 성능
  • 변화 추이를 이동 평균 필터보다 더 잘 감지함

참고


Prev: 2. 이동 평균 필터(Moving Average Filter)

Next: 4. Localization과 Tracking


저주파통과필터lpf상태추정