상태 공간 모델

확장 칼만 필터의 핵심은 시스템을 상태 공간 모델(State Space Model)로 나타내는 것이다. 상태 공간 모델은 시스템의 동작을 수학적으로 기술하는 방법으로, 시스템의 현재 상태를 시간에 따라 추정하는 데 사용된다. 비선형 시스템은 아래와 같이 일반적인 형태로 표현될 수 있다.

\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는 시간 k에서의 상태 벡터이다. - f(\cdot)는 상태 전이 함수로, 이전 상태 \mathbf{x}_{k-1}와 입력 \mathbf{u}_{k-1}을 사용하여 현재 상태를 예측한다. - \mathbf{w}_{k-1}는 시스템 노이즈(흰색 잡음)로, \mathbf{w}_{k-1} \sim \mathcal{N}(0, \mathbf{Q}_{k-1})를 따른다. - \mathbf{z}_k는 측정 벡터로, 관측 모델 h(\cdot)에 의해 상태 \mathbf{x}_k에서 도출된다. - \mathbf{v}_k는 측정 노이즈로, \mathbf{v}_k \sim \mathcal{N}(0, \mathbf{R}_k)를 따른다.

예측 단계

확장 칼만 필터에서 상태 추정은 크게 두 단계로 나누어진다. 첫 번째 단계는 예측 단계로, 시스템의 동적 모델을 기반으로 현재 상태를 예측한다. 상태 벡터 \mathbf{x}_{k}의 예측값은 이전 상태 \mathbf{x}_{k-1}과 입력 \mathbf{u}_{k-1}을 사용하여 계산된다. 예측 단계의 목적은 관측되지 않은 상태를 추정하는 것이다.

  1. 상태 예측:
\hat{\mathbf{x}}_k^- = f(\hat{\mathbf{x}}_{k-1}, \mathbf{u}_{k-1})

여기서 \hat{\mathbf{x}}_k^-는 시간 k에서의 예측된 상태 벡터이다.

  1. 오차 공분산 예측:
\mathbf{P}_k^- = \mathbf{F}_k \mathbf{P}_{k-1} \mathbf{F}_k^T + \mathbf{Q}_{k-1}

여기서: - \mathbf{P}_k^-는 예측된 오차 공분산 행렬이다. - \mathbf{F}_k = \frac{\partial f}{\partial \mathbf{x}_{k-1}}는 상태 전이 함수의 야코비 행렬이다. - \mathbf{Q}_{k-1}는 시스템 노이즈 공분산 행렬이다.

예측 단계에서는 현재 상태에 대한 추정값을 계산하며, 노이즈가 포함된 상태 전이 모델을 기반으로 오차 공분산도 함께 계산된다.

업데이트 단계

두 번째 단계는 업데이트 단계로, 이 단계에서는 측정값을 사용하여 상태 예측값을 갱신한다. 확장 칼만 필터는 비선형 시스템에서 작동하기 때문에, 상태를 갱신하기 위해서 선형화를 수행해야 한다. 이를 위해 측정 모델 h(\cdot)을 선형화한 야코비 행렬을 사용한다.

  1. 칼만 이득 계산:
\mathbf{K}_k = \mathbf{P}_k^- \mathbf{H}_k^T (\mathbf{H}_k \mathbf{P}_k^- \mathbf{H}_k^T + \mathbf{R}_k)^{-1}

여기서: - \mathbf{K}_k는 시간 k에서의 칼만 이득이다. - \mathbf{H}_k = \frac{\partial h}{\partial \mathbf{x}_k}는 측정 모델의 야코비 행렬이다. - \mathbf{R}_k는 측정 노이즈 공분산 행렬이다.

칼만 이득은 예측된 상태와 측정된 데이터를 결합하는 데 사용되며, 이 이득 값에 따라 두 정보의 중요도가 결정된다.

상태 갱신

업데이트 단계에서 실제 측정값을 사용하여 상태 예측을 갱신한다. 이때 칼만 이득을 사용하여 예측된 상태 벡터를 보정한다.

  1. 상태 갱신:
\hat{\mathbf{x}}_k = \hat{\mathbf{x}}_k^- + \mathbf{K}_k (\mathbf{z}_k - h(\hat{\mathbf{x}}_k^-))

여기서: - \hat{\mathbf{x}}_k는 갱신된 상태 벡터이다. - \mathbf{z}_k - h(\hat{\mathbf{x}}_k^-)는 측정 잔차(또는 혁신)로, 실제 측정값 \mathbf{z}_k와 예측된 측정값 h(\hat{\mathbf{x}}_k^-) 간의 차이를 나타낸다.

칼만 필터는 이 잔차를 기반으로 예측된 상태를 조정하여 측정된 값에 더 가깝도록 상태 벡터를 보정한다. 칼만 이득 \mathbf{K}_k가 큰 경우에는 측정값이 예측값보다 더 큰 신뢰성을 가진다고 판단하고, 반대로 칼만 이득이 작은 경우에는 예측값이 측정값보다 더 신뢰할 수 있다고 간주된다.

  1. 오차 공분산 갱신:
\mathbf{P}_k = (\mathbf{I} - \mathbf{K}_k \mathbf{H}_k) \mathbf{P}_k^-

여기서: - \mathbf{P}_k는 갱신된 오차 공분산 행렬이다. - \mathbf{I}는 항등행렬이다.

갱신된 오차 공분산 행렬 \mathbf{P}_k는 갱신된 상태 벡터의 불확실성을 나타낸다. 칼만 필터는 이 공분산을 최소화하도록 설계되어 있으며, 이는 추정된 상태가 측정값과 예측값 사이에서 최적화됨을 의미한다.

상태 추정의 결과

상태 추정 과정은 확장 칼만 필터에서 예측 및 업데이트를 반복하는 과정을 통해 이루어진다. 확장 칼만 필터는 비선형 시스템에서도 효과적으로 작동하며, 실제 측정값과 시스템의 동적 모델을 결합하여 최적의 상태 추정을 수행한다.

각 단계에서는 예측 및 업데이트를 통해 상태 벡터와 공분산이 지속적으로 갱신되며, 이러한 과정이 반복됨으로써 시간이 지남에 따라 상태 추정의 정확도가 향상된다. 특히 비선형 시스템에서는 상태 전이 및 측정 모델의 선형화가 중요한 역할을 하며, 야코비 행렬의 계산은 필터의 정확성과 성능에 큰 영향을 미친다.