비선형 시스템의 정의

확장 칼만 필터(Extended 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}_kk번째 상태 벡터이다. - \mathbf{u}_k는 제어 입력이다. - \mathbf{z}_k는 측정 값이다. - f(\cdot)h(\cdot)는 각각 상태 전이 함수와 측정 함수로, 비선형성을 나타낸다. - \mathbf{w}_k\mathbf{v}_k는 각각 상태와 측정의 잡음이다.

비선형 시스템에서는 상태와 측정의 변화가 선형적이지 않기 때문에, 이를 다루기 위해 선형화가 필요하다.

선형화의 필요성

비선형 시스템에서 확장 칼만 필터를 적용하려면, 상태 전이 함수 f(\mathbf{x})와 측정 함수 h(\mathbf{x})를 선형화하여 근사해야 한다. 이때 선형화를 통해 각 함수의 국소적인 선형 근사를 구할 수 있으며, 이를 바탕으로 예측 및 업데이트 단계에서 상태와 오차 공분산을 계산할 수 있다.

일반적으로 선형화를 위해 테일러 급수(Taylor Expansion)가 사용된다. 테일러 급수는 함수가 특정 점에서 연속적일 때, 그 함수의 근사값을 얻기 위한 방법이다.

테일러 급수 전개를 통한 선형화

비선형 함수 f(\mathbf{x})\mathbf{x}_k 근처에서 선형화하려면, 테일러 급수를 이용하여 1차 근사를 구할 수 있다. 테일러 급수의 1차 근사는 다음과 같이 표현된다.

f(\mathbf{x}) \approx f(\mathbf{x}_0) + \mathbf{J}_f(\mathbf{x}_0) (\mathbf{x} - \mathbf{x}_0)

여기서: - f(\mathbf{x}_0)는 상태 벡터 \mathbf{x}_0에서의 함수 값이다. - \mathbf{J}_f(\mathbf{x}_0)는 함수 f(\mathbf{x})의 야코비 행렬(Jacobian Matrix)로, 각 변수에 대한 편미분으로 이루어져 있다.

야코비 행렬은 다음과 같이 정의된다.

\mathbf{J}_f(\mathbf{x}_0) = \frac{\partial f(\mathbf{x})}{\partial \mathbf{x}} \bigg|_{\mathbf{x} = \mathbf{x}_0}

비슷하게, 측정 함수 h(\mathbf{x})도 선형화할 수 있다.

h(\mathbf{x}) \approx h(\mathbf{x}_0) + \mathbf{J}_h(\mathbf{x}_0) (\mathbf{x} - \mathbf{x}_0)

여기서 \mathbf{J}_h(\mathbf{x}_0)는 측정 함수 h(\mathbf{x})에 대한 야코비 행렬이다.

선형화 후 시스템 표현

테일러 급수의 1차 근사를 통해 비선형 시스템을 선형화한 후, 이를 선형 칼만 필터(Kalman Filter)의 형태로 바꿀 수 있다. 선형화된 시스템의 상태 전이 방정식과 측정 방정식은 다음과 같이 나타낼 수 있다.

\mathbf{x}_k \approx \mathbf{F}_{k-1} \mathbf{x}_{k-1} + \mathbf{B}_{k-1} \mathbf{u}_{k-1} + \mathbf{w}_{k-1}
\mathbf{z}_k \approx \mathbf{H}_k \mathbf{x}_k + \mathbf{v}_k

여기서: - \mathbf{F}_{k-1} = \mathbf{J}_f(\mathbf{x}_{k-1})는 상태 전이 함수의 야코비이다. - \mathbf{H}_k = \mathbf{J}_h(\mathbf{x}_k)는 측정 함수의 야코비이다. - \mathbf{B}_{k-1}는 제어 입력에 대한 상태 전이 행렬이다.

이러한 선형화된 시스템을 이용하면, 확장 칼만 필터의 예측 및 업데이트 단계에서 상태와 오차 공분산을 계산할 수 있다.