Kalman Filter   칼만 필터

(2026-02-10)

1. 칼만 필터 (Kalman Filter)

  ㅇ 불확실한 상황에서, 동적시스템상태추정하는, 효과적인 알고리즘/매커니즘/이론
     - 상태예측하고, 관측으로 보정하며, 그 둘의 불확실성공분산과 칼만 이득으로 조절함
        . 잡음이 많은 센서 측정 데이터로부터, 유용한 정보를 추출하여, 
        . 최적의 추정값을 동적으로 제공하는 필터 (동적 추정기)

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

  ㅇ 주요 용도
     - 시스템 모델이 존재하고, 순차적인 상태 예측측정이 가능한 경우에,
     - 잡음(오차) 제거, 미 측정 상태 변수 추정, 센서 융합 능력 등

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

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


2. 칼만 필터의 특징 

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


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

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

  ㅇ 동작 목표
     - 정확한 상태 추정  :  시스템의 현재 상태를 가능한 한 정확하게 추정
     - 불확실성 최소화  :  오차 공분산을 줄이는 방향으로 필터가 작동
     - 최적 추정  :  최소 분산 불편 추정 (MVUE)
        . 가능한 모든 추정 방법 중에서, 추정 오차의 분산을 가장 작게 만드는 값을 선택
        . 단, 다음 두 조건이 모두 성립할 때, 칼만 필터는 이론적으로 최적임을 보장
           .. 시스템측정선형(Linear) 모델일 것
           .. 잡음가우시안 (정규분포) 특성을 가질 것
        . 이들 조건이 깨지면 (비선형,비 가우시안), EKF,UKF,파티클 필터 등으로 대체


4. 칼만 필터의 구성 요소시스템 모델  :  시스템의 (운동) 동작을 수학적으로 모델링한 것
  ㅇ 측정 모델  :  센서측정 오차모델링한 것
  ㅇ 상태 벡터  :  시스템상태(위치,속도 등)를 나타내는 벡터측정 벡터  :  센서로부터 얻은 측정값을 나타내는 벡터
  ㅇ 칼만 이득  :  관측값과 예측값의 상대적인 신뢰도를 나타내는 가중치
     - 측정값과 예측값의 신뢰도를 반영하여 두 값을 조합하는 비율
        . 새 추정값 = 예측값 + K × (측정값 - 예측값)
     - 즉, K (칼만 이득) = 센서를 얼마나 믿을지 결정하는 가중치
        . K → 1 : 센서를 더 신뢰, K → 0 : 예측 모델을 더 신뢰
        . K는 오차 공분산으로 자동 계산됨


5. 칼만 필터추정 방식

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

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


6. 칼만 필터의 계산 절차

  ㅇ (사전 단계)
     - 시스템 모델 설정
     - 오차 공분산 (Q,R) 설정
  ㅇ 초기화 (Initialization)
     - 초기 상태 추정값 설정
     - 초기 오차 공분산 행렬 설정
  ㅇ 예측 단계 (Prediction)
     - 이전 상태로부터 현재 상태 예측
     - 오차 공분산 예측잔차 (혁신값) 계산
     - 실제 측정값과 예측 측정값의 차이 계산
  ㅇ 칼만 이득 계산
     - 예측값과 측정값의 신뢰도 비율 계산
  ㅇ 상태 추정값 갱신 (Update)
     - 측정값을 반영하여 상태 보정
  ㅇ 오차 공분산 갱신
     - 추정 오차불확실성 갱신


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#} : 측정 잡음)

  ㅇ 센서 융합 (Sensor Fusion)
     - 예측과 갱신을 반복하며 상태 추정
        . 시스템 모델로 현재 상태예측
        . 여러 센서 측정값으로 오차를 보정
     - 센서 신뢰도를 가중치처럼 반영함 
        . 잡음이 작은 센서는 더 크게 반영
        . 잡음이 큰 센서는 덜 반영
     - 결과적으로,
        . 잡음 감소 
        . 추정 안정화
        . 실시간 위치/속도/자세 등 추정 가능

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

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