상태 공간 모델의 수학적 정의
상태 공간 모델은 시스템의 동적 상태를 추정하기 위한 기본적인 수학적 표현이다. 이 모델은 상태 전이 방정식과 관측 방정식으로 구성된다.
상태 전이 방정식 (State Transition Equation):
- \mathbf{x}_{k}: k시점의 상태 벡터
- \mathbf{A}_{k}: 상태 전이 행렬
- \mathbf{B}_{k}: 제어 입력에 대한 상태 변화를 나타내는 행렬
- \mathbf{u}_{k-1}: k-1 시점의 제어 입력 벡터
- \mathbf{w}_{k-1}: 시스템 노이즈 벡터, 일반적으로 \mathbf{w}_{k-1} \sim \mathcal{N}(\mathbf{0}, \mathbf{Q}_{k-1})
관측 방정식 (Measurement Equation):
- \mathbf{z}_{k}: k시점의 관측 벡터
- \mathbf{H}_{k}: 관측 행렬
- \mathbf{v}_{k}: 관측 잡음 벡터, 일반적으로 \mathbf{v}_{k} \sim \mathcal{N}(\mathbf{0}, \mathbf{R}_{k})
칼만 필터 알고리즘의 기본 공식
칼만 필터는 예측(Prediction) 단계와 갱신(Update) 단계로 나뉜다. 각 단계에서 사용되는 수학적 공식은 다음과 같다.
예측 단계 (Prediction Step)
상태 예측 (Predicted State):
- \hat{\mathbf{x}}_{k|k-1}: k 시점에서의 예측된 상태
- \hat{\mathbf{x}}_{k-1|k-1}: k-1 시점에서의 최종 추정 상태
오차 공분산 예측 (Predicted Error Covariance):
- \mathbf{P}_{k|k-1}: k 시점에서의 예측된 오차 공분산
- \mathbf{P}_{k-1|k-1}: k-1 시점에서의 추정된 오차 공분산
갱신 단계 (Update Step)
칼만 이득 (Kalman Gain):
- \mathbf{K}_{k}: k 시점에서의 칼만 이득
상태 갱신 (Updated State):
- \hat{\mathbf{x}}_{k|k}: k 시점에서의 갱신된 상태 추정
오차 공분산 갱신 (Updated Error Covariance):
- \mathbf{P}_{k|k}: k 시점에서의 갱신된 오차 공분산
리카티 방정식 (Riccati Equation)
리카티 방정식은 칼만 필터의 오차 공분산을 계산하는 데 중요한 역할을 한다. 이 방정식은 오차 공분산의 예측과 갱신 단계에서 반복적으로 사용된다.
리카티 방정식:
- \mathbf{S}_{k} = \mathbf{H}_{k} \mathbf{P}_{k|k-1} \mathbf{H}_{k}^\top + \mathbf{R}_{k}: 잔차 공분산(Residual Covariance)
리카티 방정식은 필터의 성능과 안정성을 평가하는 데 매우 중요한 도구이다. 특히 시스템이 안정적일 경우, \mathbf{P}_{k|k}는 수렴하게 된다.
수렴 조건과 안정성 분석
칼만 필터의 수렴성과 안정성을 보장하기 위해서는 다음과 같은 수렴 조건이 필요하다.
수렴 조건:
이 조건은 필터가 오랜 시간 동안 안정적으로 작동하여 일정한 오차 공분산에 도달함을 의미한다.
칼만 필터의 안정성은 시스템 행렬 \mathbf{A}_{k}의 성질과 노이즈 공분산 행렬 \mathbf{Q}_{k}, \mathbf{R}_{k}의 상대적 크기에 따라 달라진다. 시스템이 제어 가능하고 관측 가능하다면, 필터는 안정적으로 작동할 가능성이 높다.
정보 필터(Information Filter) 공식
정보 필터(Information Filter)는 칼만 필터의 대안적 형태로, 정보 행렬(Information Matrix)과 정보 벡터(Information Vector)를 사용하여 필터링을 수행한다. 이 방식은 대규모 문제나 희소 행렬을 처리하는 데 유리한다.
정보 행렬과 정보 벡터의 정의:
- \mathbf{Y}_{k|k-1}: 예측 단계에서의 정보 행렬 (오차 공분산의 역행렬)
- \mathbf{y}_{k|k-1}: 예측 단계에서의 정보 벡터
정보 필터의 예측 단계:
정보 필터의 갱신 단계:
최종 상태 추정:
정보 필터는 특히 고차원 상태 벡터나 희소 행렬이 주어졌을 때 효율적으로 사용될 수 있으며, 칼만 필터와 동일한 결과를 제공한다.
스무딩 기법(Smoothing Techniques)
스무딩은 전체 데이터가 주어졌을 때 상태 추정을 개선하기 위해 사용되는 방법이다. 스무딩 기법에는 여러 가지가 있지만, 가장 일반적인 방법은 뒤로 가는 시간 업데이트(Backward-Time Update)이다.
고전적인 배치 스무딩(Batch Smoothing):
Forward Pass (전방향 계산): 전방향에서는 칼만 필터를 통해 예측과 추정을 수행한다.
Backward Pass (후방향 계산): 후방향에서는 다음의 수식을 사용하여 스무딩된 상태를 계산한다.
스무딩된 상태 추정:
- \hat{\mathbf{x}}_{k|N}: k 시점에서 N 시점까지의 모든 데이터를 사용한 스무딩된 상태 추정
- \mathbf{C}_{k} = \mathbf{P}_{k|k} \mathbf{A}_{k+1}^\top \mathbf{P}_{k+1|k}^{-1}: 스무딩 게인(Smoothing Gain)
스무딩된 오차 공분산:
이 기법은 과거 시점의 상태를 후방으로 업데이트하여 더욱 정확한 상태 추정을 가능하게 한다.
다중 모델 접근법 (Multiple Model Approach)
다중 모델 접근법은 여러 개의 서로 다른 시스템 모델이 존재할 때, 각 모델에 대해 별도의 칼만 필터를 적용한 후 결과를 조합하는 방식이다. 대표적인 방법으로 인터랙티브 멀티 모델(IMM) 방법이 있다.
모델 확률의 갱신: 각 모델 i에 대한 확률 \mu_i는 다음과 같이 갱신된다.
사전 모델 확률:
- \pi_{ji}: 모델 전환 확률
사후 모델 확률:
- p(\mathbf{z}_{k}|\mathbf{x}_{k}, i): 모델 i의 관측 확률
결합된 상태 추정:
각 모델의 추정치를 모델 확률로 가중평균하여 최종 상태 추정을 수행한다.
이 방법은 시스템의 모델이 불확실하거나 변화하는 환경에서 유용하다.
신뢰성 있는 시스템 설계와 장애 대응
신뢰성 있는 시스템 설계에서는 칼만 필터를 사용하여 시스템의 상태를 추정하는 과정에서 발생할 수 있는 다양한 문제를 다루는 방법이 필요하다. 특히, 이상 값이나 센서 고장 등 비정상적인 상황에서 필터가 적절하게 작동하도록 하는 방법론이 중요하다.
이상 값에 대한 대처 (Outlier Handling)
칼만 필터는 이상 값(Outlier)에 민감할 수 있으며, 이러한 값이 필터의 성능을 저하시키지 않도록 특별한 대처가 필요하다.
이상 값 감지 방법: 잔차(Residual)를 사용하여 이상 값을 감지할 수 있다. 잔차 \mathbf{r}_k는 다음과 같이 정의된다.
잔차의 크기가 예상 범위를 넘어서면 이상 값으로 간주할 수 있다.
잔차의 통계적 시험: 잔차의 공분산 \mathbf{S}_k를 이용하여, 다음과 같이 카이제곱 분포를 사용한 검정을 수행할 수 있다.
여기서 \chi^2_{\alpha}는 유의수준 \alpha에 해당하는 카이제곱 분포의 임계값이다.
장애 대응 (Fault Detection and Isolation)
장애 대응 시스템에서는 센서 고장이나 시스템의 부분적인 실패를 실시간으로 감지하고, 필터의 동작을 조정해야 한다.
고장 감지 방법: 잔차의 연속적인 감시와 더불어, 시스템의 오차 공분산 행렬 \mathbf{P}_{k|k}의 이상적인 증가 여부를 모니터링한다. 만약 \mathbf{P}_{k|k}가 비정상적으로 증가하는 경우, 시스템의 장애 가능성이 높다.
고장 고립 및 대응: 여러 센서로부터의 데이터를 사용하는 경우, 고장 난 센서를 고립시키기 위해 잔차 분석을 각 센서별로 수행할 수 있다. 고장으로 의심되는 센서를 제외한 나머지 센서의 데이터로 칼만 필터를 재조정하여 추정 성능을 유지할 수 있다.
강건한 칼만 필터 (Robust Kalman Filter)
강건한 칼만 필터는 불확실성이나 모델링 오류를 고려하여 필터링 성능을 개선한 버전이다. 이는 잡음의 분포가 가우시안이 아니거나 시스템 모델에 일부 불확실성이 존재할 때 유용하다.
강건한 필터 설계:
여기서 \Delta \mathbf{x}는 모델링 오류, \Delta \mathbf{z}는 잡음에 대한 불확실성을 나타내며, \gamma는 필터의 강건성을 제어하는 파라미터이다. 이 최적화 문제를 해결하여 강건한 칼만 필터를 설계할 수 있다.
이러한 필터는 가우시안 잡음이 아닌 경우에도 더 나은 성능을 발휘할 수 있다.
불확실성에 대한 대응: 필터의 매 단계에서 불확실성을 모델에 반영하고, 오차 공분산을 동적으로 조정함으로써 시스템의 안전성과 신뢰성을 유지한다.
이상으로 칼만 필터와 관련된 주요 수학적 공식과 정리를 다루었다. 이 내용은 칼만 필터의 이론적 배경과 실제 응용에서 매우 중요한 역할을 하며, 다양한 문제 상황에 대한 이해를 돕기 위한 기초를 제공한다.
시스템의 관측 가능성 (Observability)
시스템의 상태를 정확하게 추정하기 위해서는 시스템이 관측 가능해야 한다. 관측 가능성은 시스템의 상태를 외부에서 주어진 관측 데이터를 통해 완전히 재구성할 수 있는지를 판단하는 중요한 개념이다.
관측 가능성의 정의
시스템이 관측 가능하다는 것은 초기 상태 \mathbf{x}_0가 주어진 관측 \{\mathbf{z}_1, \mathbf{z}_2, \dots, \mathbf{z}_k\}로부터 유일하게 결정될 수 있음을 의미한다.
관측 가능성 조건
관측 가능성의 수학적 조건은 다음과 같은 관측 가능성 행렬을 통해 정의된다.
관측 가능성 행렬:
- n: 시스템 상태 벡터의 차원
- \mathbf{O}: 관측 가능성 행렬
이 행렬이 풀랭크(Full Rank)를 가질 경우, 시스템은 관측 가능하다고 말할 수 있다.
카운트롤러블리티와의 관계
관측 가능성과 제어 가능성(Controllability)은 이중성을 가지며, 제어 가능성 행렬 \mathbf{C}와 관측 가능성 행렬 \mathbf{O} 사이에는 다음과 같은 관계가 성립한다.
- \mathbf{C}: 제어 가능성 행렬
- \mathbf{O}: 관측 가능성 행렬
이 두 개념은 시스템의 상태 추정과 제어 설계에서 필수적인 조건을 형성한다.
시스템의 제어 가능성 (Controllability)
제어 가능성은 주어진 제어 입력으로 시스템의 상태를 원하는 상태로 변화시킬 수 있는지를 나타내는 성질이다. 이는 시스템의 안정성과 제어 설계의 기초를 형성한다.
제어 가능성의 정의
시스템이 제어 가능하다는 것은 초기 상태 \mathbf{x}_0에서 원하는 상태 \mathbf{x}_f로 제어 입력 \mathbf{u}를 통해 이동할 수 있음을 의미한다.
제어 가능성 조건
제어 가능성은 제어 가능성 행렬을 사용하여 다음과 같이 표현된다.
제어 가능성 행렬:
이 행렬이 풀랭크를 가질 경우, 시스템은 제어 가능하다고 한다.
제어 가능성과 칼만 필터
칼만 필터를 적용하기 위해서는 시스템이 제어 가능하며 동시에 관측 가능해야 한다. 이 두 가지 조건은 시스템의 전체 상태를 추정하고 제어하는 데 필수적이다.
제어 가능성의 확인:
이 조건이 만족되지 않으면, 일부 상태는 제어할 수 없거나 추정할 수 없게 되며, 칼만 필터의 성능이 저하된다.
최적 필터링 문제 (Optimal Filtering Problem)
최적 필터링 문제는 주어진 시스템의 상태를 가장 정확하게 추정하는 문제로, 칼만 필터는 이 문제에 대한 최적해를 제공한다.
베이즈 필터링의 기초
칼만 필터는 베이즈 필터링의 특수한 경우로, 선형 시스템과 가우시안 잡음이 주어진 상황에서의 최적 필터링을 수행한다.
베이즈 필터링:
여기서, 칼만 필터는 상태의 추정치를 가우시안 분포로 가정하여 베이즈 업데이트를 수행한다.
최소 분산 추정 (Minimum Variance Estimation)
칼만 필터는 상태의 추정 오차 공분산을 최소화하는 필터로, 다음의 최적화 문제를 해결한다.
최적화 문제:
이 문제의 해는 앞서 설명한 칼만 필터 공식으로 주어지며, 필터링 과정에서 시간적으로 반복 수행된다.
정보 행렬의 성질 (Properties of Information Matrix)
정보 행렬(Information Matrix)은 오차 공분산의 역행렬로 정의되며, 칼만 필터의 여러 중요한 성질을 반영한다.
정보 행렬과 오차 공분산 행렬의 관계
정보 행렬 \mathbf{Y}_k는 오차 공분산 행렬 \mathbf{P}_k의 역행렬로 정의된다.
이 관계는 정보 필터에서 중요한 역할을 하며, 정보 필터의 예측 및 갱신 단계를 통해 오차 공분산 행렬과 정보 행렬이 서로 어떻게 변환되는지를 이해할 수 있다.
정보 행렬의 갱신 규칙
정보 행렬은 다음과 같은 방식으로 갱신된다.
예측 단계에서의 정보 행렬 갱신:
갱신 단계에서의 정보 행렬 갱신:
정보 행렬의 갱신은 필터의 상태 추정 정확도를 높이는 중요한 과정으로, 필터가 시간에 따라 점점 더 정확해지도록 한다.
잡음 특성과 필터 성능 (Noise Characteristics and Filter Performance)
잡음 특성은 칼만 필터의 성능에 큰 영향을 미친다. 잡음의 분포, 크기, 상관성 등이 필터링 결과에 직접적인 영향을 미치므로 이를 적절히 이해하고 고려해야 한다.
가우시안 잡음의 가정
칼만 필터는 상태 잡음 \mathbf{w}_k와 관측 잡음 \mathbf{v}_k가 가우시안 분포를 따른다고 가정한다.
이 가정은 필터의 최적성을 보장하는 데 중요한 역할을 하며, 만약 잡음이 가우시안 분포를 따르지 않는다면 필터의 성능이 저하될 수 있다.
잡음 공분산 행렬의 선택
잡음 공분산 행렬 \mathbf{Q}_k와 \mathbf{R}_k의 선택은 필터 성능에 중요한 영향을 미친다. 일반적으로, 잡음 공분산이 과소추정되면 필터가 비현실적으로 정확한 예측을 하게 되어 불안정해질 수 있으며, 과대추정되면 필터가 반응을 너무 늦게 할 수 있다.
이 행렬들의 선택은 실험적으로 조정되거나 시스템의 물리적 특성을 기반으로 결정된다.
잡음의 상관성과 필터 설계
잡음이 상관관계를 가질 경우, 필터의 설계가 더 복잡해진다. 상관된 잡음을 처리하기 위해서는 잡음의 상관구조를 반영한 상태 공간 모델이 필요하다.
상관된 잡음 모델링:
잡음이 상관되어 있을 때, 상태 공간 모델에 추가적인 변수나 상관구조를 반영하여 모델을 확장해야 한다.
여기서 \mathbf{\eta}_k는 독립적인 가우시안 잡음을 나타내고, \mathbf{L}_k는 상관구조를 반영하는 행렬이다.
이러한 모델링 기법은 필터가 잡음의 실제 특성을 더 잘 반영할 수 있게 하여, 성능을 개선하는 데 기여한다.
상태 공간 모델의 확장
기본적인 상태 공간 모델은 시스템의 선형성과 가우시안 잡음을 가정하지만, 실제 시스템은 종종 비선형성을 가지거나 비가우시안 잡음을 포함한다. 이때 상태 공간 모델을 확장하여 이러한 복잡성을 반영할 수 있다.
비선형 시스템에 대한 선형화
비선형 시스템에 대해서는 칼만 필터를 적용하기 위해 시스템을 선형화하는 방법이 사용된다. 이 과정은 테일러 급수 전개를 통해 이루어지며, 주로 확장 칼만 필터에서 사용된다.
선형화 방법:
비선형 시스템의 선형화는 주어진 동적 시스템의 점근선 주변에서 테일러 급수의 1차 항을 사용하여 근사한다.
이 선형화는 시스템이 비선형적일 경우에도 칼만 필터를 적용할 수 있게 한다.
필터 수렴성과 성능 분석
칼만 필터의 성능은 필터가 시간이 지남에 따라 안정적으로 수렴하는지, 그리고 추정된 상태가 실제 상태에 얼마나 가깝게 접근하는지에 따라 평가된다. 필터의 수렴성과 성능을 분석하기 위한 수학적 도구들이 존재한다.
수렴성 분석
칼만 필터의 수렴성은 시스템이 시간이 지남에 따라 안정적으로 동작하며, 오차 공분산이 수렴하는지 여부를 평가하는 과정이다.
수렴 조건: 일반적인 조건으로, 시스템이 제어 가능하고 관측 가능하다면 필터는 안정적으로 동작하며 오차 공분산이 수렴한다. 이는 다음과 같은 형태로 수학적으로 표현된다.
이때, \mathbf{P}_{\infty}는 고정된 오차 공분산을 나타내며, 이는 리카티 방정식의 고정점 해이다.
성능 지표
필터의 성능을 평가하기 위한 지표로는 다음과 같은 것들이 있다.
추정 오차(E)와 공분산(P):
오차 공분산 \mathbf{P}_k는 필터의 성능을 평가하는 가장 중요한 지표로, 이 값이 작을수록 필터의 성능이 좋다고 할 수 있다.
추정 오차의 평균 제곱근 오차(RMSE):
이 지표는 필터가 전체 시간 동안 얼마나 잘 작동했는지를 나타내는 대표적인 성능 척도이다.
칼만 필터의 확장과 응용
기본적인 칼만 필터는 선형 시스템에 대해 최적화된 상태 추정을 제공하지만, 비선형 시스템에 대해서는 확장된 형태가 필요하다. 이와 관련된 내용은 다음과 같다.
비선형 시스템에 대한 칼만 필터의 적용
기본적인 칼만 필터는 선형 시스템에서 최적화되지만, 실세계의 많은 시스템은 비선형성을 포함한다. 비선형 시스템에서는 비선형성에 대한 처리가 필요하며, 이때 선형화된 근사 방법을 사용한다.
비선형 시스템의 모델링:
여기서 \mathbf{f}와 \mathbf{h}는 각각 시스템의 상태 전이와 관측 방정식을 나타내는 비선형 함수이다. 이러한 시스템에 대해, 칼만 필터는 보통 확장 칼만 필터(Extended Kalman Filter, EKF)로 확장된다.
선형화 방법: 비선형 함수 \mathbf{f}와 \mathbf{h}는 테일러 급수를 사용하여 선형화되며, 이 과정에서 야코비(Jacobian) 행렬이 사용된다.
이러한 선형화 방법은 비선형 시스템에서의 상태 추정을 가능하게 하며, 이로 인해 칼만 필터는 비선형 시스템에서도 유용하게 사용될 수 있다.
예측 이득과 필터 성능의 관계
칼만 필터에서의 예측 이득(Kalman Gain)은 필터의 성능에 큰 영향을 미친다. 이득이 너무 크거나 작을 경우 필터가 불안정해지거나 성능이 저하될 수 있다.
이득의 최적화: 이득 \mathbf{K}_k는 잔차 공분산과 예측된 오차 공분산 사이의 비율로 결정되며, 다음과 같이 최적화된다.
이 이득은 필터가 얼마나 공격적이거나 보수적으로 상태를 추정할지를 결정하며, 필터의 전체 성능에 중요한 영향을 미친다.
이득과 필터의 안정성: 이득 \mathbf{K}_k가 너무 크면 필터는 관측 데이터에 과도하게 반응하게 되어 잡음에 민감해질 수 있다. 반대로 이득이 너무 작으면 필터가 시스템의 동적 변화를 충분히 반영하지 못할 수 있다. 따라서 이득의 적절한 설정이 필터의 안정성과 성능에 필수적이다.