상태 방정식
확장 칼만 필터(EKF)의 예측 단계는 시스템의 상태가 시간에 따라 어떻게 변화할지 예측하는 과정이다. 이때 시스템은 비선형 방정식으로 표현되며, 상태 변화는 다음과 같이 나타낸다.
여기서: - \mathbf{x}_k는 k 시점의 상태 벡터 - f(\mathbf{x}_{k-1}, \mathbf{u}_{k-1})는 비선형 상태 전이 함수 - \mathbf{u}_{k-1}는 제어 입력 - \mathbf{w}_{k-1}는 시스템 노이즈(Process Noise)을 나타내는 무작위 변수
오차 공분산 예측
오차 공분산 \mathbf{P}_k의 예측은 다음과 같이 이루어진다. 이때 오차 공분산은 시스템 상태의 불확실성을 나타내는 중요한 매트릭스이다.
여기서: - \mathbf{P}_k는 예측된 상태 벡터의 오차 공분산 행렬 - \mathbf{F}_{k-1}는 상태 전이 함수 f(\mathbf{x}_{k-1}, \mathbf{u}_{k-1})의 야코비 행렬 - \mathbf{Q}_{k-1}는 시스템 노이즈 공분산 행렬
야코비 행렬 계산
확장 칼만 필터는 선형 칼만 필터와 달리 비선형 시스템을 다루기 때문에 상태 전이 함수 f(\mathbf{x}, \mathbf{u})에 대해 선형화가 필요하다. 이 선형화는 야코비 행렬을 통해 이루어진다. 야코비 행렬 \mathbf{F}_{k-1}은 다음과 같이 정의된다.
상태 벡터의 예측
상태 벡터의 예측은 다음과 같은 식을 통해 이루어진다.
여기서 \hat{\mathbf{x}}_k는 k 시점에서 예측된 상태 벡터이다.
시스템 노이즈의 모델링
시스템 노이즈 \mathbf{w}_{k-1}는 시스템이 실제로 비선형적이고 불확실한 환경에서 작동할 때 발생하는 예측 오류를 반영한다. 시스템 노이즈은 일반적으로 가우시안 잡음으로 가정하며, 이 잡음은 공분산 행렬 \mathbf{Q}_{k-1}로 표현된다. 시스템 노이즈 공분산 행렬은 시스템 모델의 불확실성을 고려하여 설계하는 것이 중요하다.
여기서: - \mathcal{N}(0, \mathbf{Q}_{k-1})는 평균이 0이고 공분산이 \mathbf{Q}_{k-1}인 가우시안 분포를 의미한다.
상태 전이 함수의 역할
상태 전이 함수 f(\mathbf{x}, \mathbf{u})는 시스템이 현재 상태에서 다음 상태로 어떻게 변화하는지를 기술하는 비선형 함수이다. 이 함수는 시스템의 물리적 특성에 따라 다르게 정의되며, 각 애플리케이션에 맞게 설계된다. 예를 들어, 로봇의 운동 방정식이나 드론의 위치 변화를 설명하는 방정식이 될 수 있다.
확장 칼만 필터에서는 이 비선형 상태 전이 함수를 통해 예측된 상태 벡터 \hat{\mathbf{x}}_k를 계산하고, 이를 바탕으로 이후 단계에서 업데이트 과정을 수행한다.
예측 단계의 직관적 이해
예측 단계는 시간 k-1에서 측정된 정보를 바탕으로 k 시점의 시스템 상태를 추정하는 과정이다. 이 과정은 기본적으로 "현재 상태에서 앞으로 어떻게 변화할 것인가?"라는 질문에 답하는 단계이다. 여기서 중요한 점은, 시스템이 비선형적이기 때문에 상태 전이 함수의 선형 근사를 사용하여 상태와 공분산을 예측하는 것이다. 이러한 예측은 다음 단계인 업데이트 단계에서 새로운 측정값과 결합되어 필터링된 상태 추정을 제공하게 된다.
시스템 노이즈의 영향
시스템 노이즈은 필터의 성능에 중요한 영향을 미친다. 잡음의 크기와 특성에 따라 예측된 상태 벡터와 공분산 행렬의 정확도가 결정되며, 이를 과소 또는 과대 평가하는 경우 필터의 성능이 저하될 수 있다. 따라서, 적절한 잡음 모델링은 확장 칼만 필터의 성공적인 구현에 필수적이다.