Kalman Filter   칼만 필터

(2025-10-10)

1. 칼만 필터 (Kalman Filter)

  ㅇ 불확실한 상황에서, 동적시스템상태추정하는, 효과적인 알고리즘 (이론, 매커니즘)
     - 잡음이 많은 센서 측정 데이터로부터, 유용한 정보를 추출하여, 
     - 최적의 추정값을 제공하는 필터 (동적 추정기)

  ㅇ 작동 원리  :  현재 위치를 추정하기 위해,
     - 예측 단계 (Prediction Step) : 현재 상태시스템 모델을 이용해 다음 상태예측
     - 갱신 단계 (Update Step) : 실제 측정값과 비교하여 예측값을 보정
     * 이 과정을 순차적으로 반복  :  (즉, 반복적 동적 추정)

  ㅇ 주요 용도
     - 시스템 모델이 존재하고, 순차적인 상태 예측측정이 가능한 경우
     - 주로, 로봇 위치 추정, 항법 시스템, 센서 융합 등

  ㅇ 역사
     - 개발자 : 루돌프 칼만 (Rudolf E. Kalman, 1930~2016)
     - 대표 논문 : "A New Approach to Linear Filtering and Prediction Problems" (1960, ACME 저널)

  ※ (용어 상의 의미)
     - 전통적으로 `필터`는 신호에서 잡음을 걸러내는 의미로 사용되지만,
     - `칼만 필터`는 불확실성을 줄이기 위한 동적 확률필터 (dynamic probabilistic filter) 임
        . 시스템 모델측정값을 통합하여, 시간에 따라 변화하는 상태확률적으로 추정함
     - 따라서, 단순히 "잡음을 걸러낸다"는 의미를 넘어, 모델 기반의 최적 상태 추정기로 이해해야 함
     - 즉, 여기서의 `필터`는 불확실성을 걸러내며, 동적 추적과 상태 추정을 포함하는 개념을 의미함


2. 칼만 필터의 특징 

  ㅇ `루프(Feedback) 구조`를 갖는, 상태 추정기
  ㅇ `최적화 알고리즘`으로 설계되어, 추정 오차 최소화
  ㅇ 상태 방정식을 이용한, `동적 추정기`
     - 시스템의 동적 모델측정 데이터를 결합하여 연속적으로 상태추정


3. 칼만 필터의 동작 단계 및 목표

  ㅇ 동작 단계
     - 예측 단계  :  이전 상태를 바탕으로 현재 상태예측하는 단계
     - 갱신 단계  :  관측값을 사용해 상태를 보정하는 단계
        . 실제 측정된 값과 예측 값을 비교하여 예측 값을 수정
     * 이 두 단계를 반복하면서 점차 정확한 상태 추정값을 얻을 수 있게됨

  ㅇ 동작 목표
     - 상태 추정  :  시스템의 현재 상태를 가능한 한 정확하게 추정
     - 불확실성 최소화  :  오차 공분산을 줄이는 방향으로 필터가 작동
     - 최적화  :  최소 분산 추정량을 제공
        . 가우시안 잡음이 존재할 때, 칼만 필터는 최적의 선형 추정기를 보장


4. 칼만 필터의 구성 요소시스템 모델  :  시스템의 동작을 수학적으로 모델링한 것
  ㅇ 측정 모델  :  센서측정 오차모델링한 것
  ㅇ 상태 벡터  :  시스템상태(위치,속도 등)를 나타내는 벡터측정 벡터  :  센서로부터 얻은 측정값을 나타내는 벡터
  ㅇ 칼만 이득  :  관측값과 예측값의 상대적인 신뢰도를 나타내는 가중치
     - 측정값과 예측값의 신뢰도를 반영하여 두 값을 조합하는 비율


5. 칼만 필터추정 방식

  ㅇ 가용 정보로부터 미지량을 추정하게 됨
     - 가용 정보 : 불확실하고 근사화된 수학모델식, 노이즈 모델식, 측정 데이터
        . 수학모델식
        . 노이즈 모델식
        . 측정 데이터 : 측정값에 내재된 오류 정도를 확률적으로 묘사
     - 미지량 : 시스템상태변수, 파라미터
        . 상태변수 : 시시각각 변하는 변수 형태
        . 파라미터 : 대체적으로 일정한 상수 형태(변수도 가능)

  ㅇ 3가지 추정 방식 모두를 지원하는 수학적 도구를 제공
     - Estimation : 과거,현재 데이터를 기반으로 미래 특정 시각의 상태추정
     - Filtering : 현재 상태실시간 추정 (Online)
     - Smoothing : 축적된 과거,미래 측정 데이터의 후처리를 통한 추정 (Offline)


6. 칼만 필터알고리즘

  ㅇ 초기값 선정
  ㅇ 추정값오차 공분산 예측 (예측 단계)
  ㅇ 칼만 이득 계산
  ㅇ 추정값 계산
  ㅇ 오차 공분산 계산
  ㅇ (...편집중...)


7. [참고사항]시스템 모델
     - 상태 벡터 : 시스템상태 변수(위치,속도,온도 등)들의 벡터  ({#x_k#})
     - 상태 천이 행렬 : 이전 상태로부터 현재 상태예측하는 선형 변환 행렬  ({#T_k#})
        . {# x_k = T_kx_{k-1} + w_k #} ({#w_k#} : 과정 잡음/불확실성)
     - 관측 벡터 : 실제 측정값을 포함하는 벡터  ({#z_k#})
     - 관측 행렬 : 상태 벡터를 관측값으로 변환하는 선형 변환 행렬  ({#H_k#})
        . {# z_k = H_kx_{k-1} + v_k #}  ({#v_k#} : 측정 잡음)

  ㅇ 오차 
     - 예측 오차  :  현재 상태예측할 때 발생하는 오차
     - 필터링 오차  :  예측값과 측정값을 융합하여 얻은 최종 추정값과 실제 상태 사이의 오차
     - 잔차  :  관측값과 예측값의 차이로, 보정에 사용됨
     - 모델 불일치 오차  :  시스템 모델이 실제 시스템과 완전히 일치하지 않아 발생하는 오차
     - 오차 공분산 행렬  :  상태 추정 오차불확실성을 나타내는 행렬
        . 예측 및 갱신 과정에서 갱신됨

기타 필터
1. SAW 필터   2. 상승 코사인 필터   3. 적응 필터   4. 이동평균 필터   5. 칼만 필터 (작성중)   6. 상보 필터  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          최근 편집          Copyrightⓒ 차재복