# 확장 칼만 필터 (Extended Kalman Filter, EKF)

***

#### 확장 칼만 필터의 개요

확장 칼만 필터(Extended Kalman Filter, EKF)는 비선형 시스템에서의 상태 추정 문제를 해결하기 위해 개발된 칼만 필터(Kalman Filter)의 확장판이다. 칼만 필터는 선형 시스템의 상태 추정에 매우 효과적이지만, 현실 세계에서의 많은 시스템은 비선형적인 동역학 및 관측 모델을 가지고 있기 때문에 이를 선형화하여 적용하는 방법이 필요하다. EKF는 이러한 비선형 시스템을 선형화하여 칼만 필터를 적용할 수 있도록 한다.

#### 비선형 시스템의 상태 추정 문제

비선형 시스템은 다음과 같은 일반적인 형태로 표현될 수 있다.

$$
\mathbf{x}*{k} = f(\mathbf{x}*{k-1}, \mathbf{u}*{k-1}) + \mathbf{w}*{k-1}
$$

$$
\mathbf{z}*{k} = h(\mathbf{x}*{k}) + \mathbf{v}\_{k}
$$

여기서 $ \mathbf{x}*{k} $는 상태 벡터, $ \mathbf{u}*{k} $는 입력 벡터, $ \mathbf{z}*{k} $는 관측 벡터, 그리고 $ \mathbf{w}*{k} $와 $ \mathbf{v}\_{k} $는 각각 시스템 잡음과 측정 잡음이다. 함수 $ f $와 $ h $는 각각 시스템의 상태 전이와 관측 모델을 나타내며, 일반적으로 비선형이다.

#### 확장 칼만 필터의 주요 단계

EKF는 위의 비선형 모델을 선형화하여 칼만 필터 알고리즘을 적용하는 방식으로 동작한다. 이를 위해 주로 테일러 급수 전개(Taylor Series Expansion)를 사용하여 상태 전이 함수와 관측 함수를 선형화한다.

**예측 단계 (Prediction Step)**

예측 단계에서는 이전 상태 추정치와 제어 입력을 기반으로 현재 상태를 예측한다. EKF에서 예측된 상태는 다음과 같다.

$$
\hat{\mathbf{x}}*{k|k-1} = f(\hat{\mathbf{x}}*{k-1|k-1}, \mathbf{u}\_{k-1})
$$

여기서, 예측 오차 공분산은 다음과 같이 계산된다.

$$
\mathbf{P}*{k|k-1} = \mathbf{F}*{k-1} \mathbf{P}*{k-1|k-1} \mathbf{F}*{k-1}^{\top} + \mathbf{Q}\_{k-1}
$$

이때, $ \mathbf{F}*{k-1} $는 상태 전이 함수 $ f $의 자코비안 행렬(Jacobian Matrix)로, 현재 상태에서 선형 근사를 제공한다. $ \mathbf{Q}*{k-1} $는 시스템 잡음 공분산 행렬이다.

**업데이트 단계 (Update Step)**

업데이트 단계에서는 실제 측정값을 사용하여 예측된 상태를 수정한다. 이 단계에서의 주요 계산은 다음과 같다.

예측된 관측치:

$$
\hat{\mathbf{z}}*{k|k-1} = h(\hat{\mathbf{x}}*{k|k-1})
$$

관측 오차:

$$
\mathbf{y}*{k} = \mathbf{z}*{k} - \hat{\mathbf{z}}\_{k|k-1}
$$

칼만 이득(Kalman Gain)은 다음과 같이 계산된다.

$$
\mathbf{K}*{k} = \mathbf{P}*{k|k-1} \mathbf{H}*{k}^{\top} (\mathbf{H}*{k} \mathbf{P}*{k|k-1} \mathbf{H}*{k}^{\top} + \mathbf{R}\_{k})^{-1}
$$

여기서 $ \mathbf{H}*{k} $는 관측 함수 $ h $의 자코비안 행렬이며, $ \mathbf{R}*{k} $는 측정 잡음 공분산 행렬이다.

상태 추정치의 업데이트는 다음과 같이 이루어진다.

$$
\hat{\mathbf{x}}*{k|k} = \hat{\mathbf{x}}*{k|k-1} + \mathbf{K}*{k} \mathbf{y}*{k}
$$

오차 공분산의 업데이트는 다음과 같다.

$$
\mathbf{P}*{k|k} = (\mathbf{I} - \mathbf{K}*{k} \mathbf{H}*{k}) \mathbf{P}*{k|k-1}
$$

#### 선형화 과정의 중요성 및 한계

EKF의 핵심은 비선형 함수 $ f $와 $ h $를 적절히 선형화하는 것이다. 이 과정에서 자코비안 행렬을 사용하여 일차 근사를 수행하지만, 이 근사는 정확하지 않기 때문에 EKF는 근본적으로 비선형성으로 인한 추정 오차를 가지고 있다. 이로 인해 시스템의 비선형성이 크거나 잡음이 큰 경우, EKF의 성능이 저하될 수 있다.

또한, EKF는 상태와 관측 모델이 매우 비선형일 때 발산할 가능성이 있으며, 따라서 시스템의 모델링이 정확하게 이루어져야 한다. 최근에는 이러한 한계를 극복하기 위해 Unscented Kalman Filter (UKF)와 같은 대안적인 필터가 연구되고 있다.

***

관련 자료:

1. Grewal, M. S., & Andrews, A. P. (2001). *Kalman Filtering: Theory and Practice Using MATLAB*. Wiley-Interscience.
2. Simon, D. (2006). *Optimal State Estimation: Kalman, H Infinity, and Nonlinear Approaches*. Wiley-Interscience.
3. Welch, G., & Bishop, G. (1995). *An Introduction to the Kalman Filter*. University of North Carolina at Chapel Hill.
