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. 상보 필터  
용어해설 종합 (단일 페이지 형태)

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