# 적응형 칼만 필터 (Adaptive Kalman Filter)

#### 개요

적응형 칼만 필터(Adaptive Kalman Filter)는 전통적인 칼만 필터(Kalman Filter)의 확장된 형태로, 시간에 따라 변화하는 시스템의 동적 특성에 적응하여 최적의 상태 추정치를 제공하는 알고리즘이다. 전통적인 칼만 필터는 시스템이 정적(Stationary)하거나 잘 정의된 모델을 가정하는 반면, 적응형 칼만 필터는 모델 불확실성이나 시스템 파라미터의 변화를 반영할 수 있도록 설계되었다. 이는 필터의 성능을 유지하면서도, 변화하는 환경에 적응할 수 있는 능력을 제공한다.

#### 전통적 칼만 필터의 한계

전통적인 칼만 필터는 선형 상태 공간 모델을 기반으로 최적 상태 추정을 수행한다. 이 모델에서는 시스템 동역학이 선형이며, 시스템 잡음과 측정 잡음이 서로 독립적이고 백색 가우시안(White Gaussian) 분포를 따른다고 가정한다. 이러한 가정이 유지되는 상황에서는 칼만 필터가 매우 효과적으로 작동하지만, 실제 상황에서는 다음과 같은 한계점이 존재한다.

* **시스템 동역학의 비선형성**: 실제 시스템은 비선형적인 동역학을 가질 수 있으며, 이러한 경우 전통적인 칼만 필터는 적절한 상태 추정을 하지 못할 수 있다.
* **모델 불확실성**: 시스템 모델이 정확하지 않거나 시간이 지남에 따라 변할 수 있다. 전통적인 칼만 필터는 이러한 변화에 대응하지 못한다.
* **잡음 특성의 변화**: 시스템 잡음과 측정 잡음의 통계적 특성이 시간에 따라 변할 수 있는데, 전통적인 칼만 필터는 이를 반영하지 못한다.

#### 적응형 칼만 필터의 기본 원리

적응형 칼만 필터는 위에서 언급한 전통적 칼만 필터의 한계를 극복하기 위해, 시스템 모델이나 잡음 통계의 변화를 실시간으로 추정하고 이에 따라 필터 파라미터를 조정하는 방법을 사용한다. 주요 접근 방식은 다음과 같다.

* **모델 파라미터의 실시간 추정**: 시스템 모델의 파라미터가 변화하는 경우, 이를 실시간으로 추정하여 필터에 반영한다. 예를 들어, 시스템 행렬(transition matrix)이나 측정 행렬(observation matrix)의 변경을 실시간으로 추정하여 필터링 과정에서 사용하는 방법이다.
* **잡음 공분산 행렬의 적응적 조정**: 시스템 잡음 공분산 행렬(process noise covariance) Q와 측정 잡음 공분산 행렬(measurement noise covariance) R이 시간에 따라 변할 수 있는데, 적응형 칼만 필터는 이를 실시간으로 추정하여 필터의 성능을 향상시킨다.
* **이득 조정**: 칼만 이득(Kalman Gain)을 적응적으로 조정함으로써, 변화하는 환경에 더 잘 대응할 수 있도록 한다. 이는 필터의 수렴 속도와 안정성에 영향을 미친다.

#### 적응형 칼만 필터의 구현 방법

적응형 칼만 필터를 구현하기 위해서는 몇 가지 대표적인 방법들이 사용된다. 각 방법은 시스템의 특성과 요구 사항에 따라 선택된다.

* **혁신 기반 방법(Innovation-Based Methods)**: 혁신(Innovation) 또는 잔차(Residual)는 예측된 측정치와 실제 측정치 간의 차이로 정의된다. 이 방법에서는 혁신의 통계적 특성을 분석하여 시스템 잡음 공분산 행렬 Q나 측정 잡음 공분산 행렬 R을 조정한다. 대표적인 기법으로는 Covariance Matching과 Maximum Likelihood 방법이 있다.
* **추정기 기반 방법(Estimator-Based Methods)**: 시스템 파라미터나 잡음 통계량을 별도의 추정기를 통해 추정하는 방법이다. 대표적으로 Recursive Least Squares (RLS) 알고리즘이 사용될 수 있다. 이 접근법은 추가적인 계산 비용이 필요하지만, 보다 정확한 파라미터 추정을 가능하게 한다.
* **확률적 방법(Stochastic Methods)**: 시스템 파라미터의 변화를 확률적으로 모델링하여, 필터의 파라미터를 업데이트하는 방법이다. Bayesian 방법이나 Particle Filter와 같은 접근법이 이 범주에 포함된다.

#### 적응형 칼만 필터의 수학적 모델

적응형 칼만 필터는 전통적인 칼만 필터와 유사한 구조를 가지지만, 시스템 파라미터나 잡음 공분산 행렬을 시간에 따라 갱신하는 과정이 추가된다. 필터의 기본적인 업데이트 식은 다음과 같이 요약된다.

* **예측 단계**:

$$
\hat{x}*{k|k-1} = A*{k-1} \hat{x}*{k-1|k-1} + B*{k-1} u\_{k-1}
$$

$$
P\_{k|k-1} = A\_{k-1} P\_{k-1|k-1} A\_{k-1}^T + Q\_{k-1}
$$

여기서 $ \hat{x}*{k|k-1} $는 k번째 단계에서의 상태 예측치, $ P*{k|k-1} $는 상태 예측 공분산이다.

* **갱신 단계**:

$$
K\_k = P\_{k|k-1} H\_k^T (H\_k P\_{k|k-1} H\_k^T + R\_k)^{-1}
$$

$$
\hat{x}*{k|k} = \hat{x}*{k|k-1} + K\_k (z\_k - H\_k \hat{x}\_{k|k-1})
$$

$$
P\_{k|k} = (I - K\_k H\_k) P\_{k|k-1}
$$

여기서 $ K\_k $는 칼만 이득, $ z\_k $는 측정치, $ H\_k $는 측정 행렬이다.

적응형 칼만 필터에서는 Q와 R이 매 시간 갱신되며, 이는 일반적으로 혁신 기반 방법이나 추정기 기반 방법을 통해 이루어진다.

#### 적응형 칼만 필터의 수렴성과 안정성

적응형 칼만 필터의 성능은 필터의 수렴성과 안정성에 크게 의존한다. 수렴성은 필터가 시간이 지남에 따라 실제 상태를 정확히 추정할 수 있는지를 의미하며, 안정성은 필터가 외부 변화에 대해 과도한 반응을 하지 않고 적절한 상태 추정을 유지할 수 있는지를 의미한다.

적응형 필터의 설계에서 중요한 요소는 다음과 같다.

* **이득 조정 메커니즘**: 칼만 이득을 적절히 조정하지 않으면 필터가 과도한 반응을 일으킬 수 있다. 이로 인해 필터의 수렴성이 저하되거나, 불안정한 추정 결과를 초래할 수 있다.
* **파라미터 갱신 빈도**: 너무 자주 파라미터를 갱신하면 필터의 안정성이 저하될 수 있으며, 너무 드물게 갱신하면 시스템 변화에 적절히 대응하지 못할 수 있다.
* **초기 조건 설정**: 초기 상태 및 공분산 행렬의 설정이 필터의 초기 성능에 큰 영향을 미친다. 적응형 칼만 필터의 경우 초기 조건에 대한 민감도가 높기 때문에, 적절한 초기화가 중요하다.
