칼만 필터: 두 판 사이의 차이

내용 삭제됨 내용 추가됨
28번째 줄:
== 칼만 필터의 구조 ==
 
칼만 필터는 재귀적으로 동작한다. 즉, 칼만 필터는 바로 이전 시간에 추정한 값을 토대로 해서 현재의 값을 추정하며, 또한 바로 이전 시간 외의 측정값이나 추정값은 사용되지사용하지 않는다.
 
각 추정 계산은 두 단계로 이루어지며,이루어진다. 첫 먼저단계에서는 이전 시간에 추정된 상태에 대해, 그 상태에서 사용자 입력을 가했을 때 예상되는 상태를측정값을 계산한다. 이 단계는 '''예측'''(prediction) 단계라고 부른다. 그 다음 단계에서는, 앞서 계산된예측된 예측측정값과 상태와실제 실제로 측정된 상태를측정값을 토대로 정확한현재의 상태를 계산한다추정한다. 이 단계는 '''보정'''(update) 단계라고 부른다.
 
- 시스템에 따라서 보정단계가 가끔씩 일어날 수도 있다. 이때에는 예측단계가 여러번 수행되다가 한번씩 보정단계가 수행된다.
 
각 시간의 추정 상태는 평균과 분산의 두 개의 변수로 표현된다. 정확하게는,
50번째 줄:
보정 단계에서는 앞단계의 예측 값과 실제 측정값간의 오차를 이용해, 이전에 얻은 값을 귀납적으로 수정한다.
 
* 예측 단계와 실제 측정간의 오차잔차: <math>\tilde{\textbf{y}}_k = \textbf{z}_k - \textbf{H}_k\hat{\textbf{x}}_{k|k-1}</math>
* 잔차의 공분산: <math>\textbf{S}_k = \textbf{H}_k \textbf{P}_{k|k-1} \textbf{H}_k^\text{T} + \textbf{R}_k </math>
* 최적 '''칼만 이득'''(Kalman gain): <math>\textbf{K}_k = \textbf{P}_{k|k-1}\textbf{H}_k^\text{T}\textbf{S}_k^{-1}</math>
* 귀납적 상태 보정: <math>\hat{\textbf{x}}_{k|k} = \hat{\textbf{x}}_{k|k-1} + \textbf{K}_k\tilde{\textbf{y}}_k</math>
* 귀납적 상태 공분산 보정: <math>\textbf{P}_{k|k} = (I - \textbf{K}_k \textbf{H}_k) \textbf{P}_{k|k-1}</math>
 
=== 불변량 ===
61번째 줄:
* <math>\textrm{E}[\tilde{\textbf{y}}_k] = 0</math>
 
여기서 <math>\textrm{E}[\xi]</math>은 <math>\xi</math>의 기대값이고, 공분산 매트릭스는행렬은 정확하게 추정의 공분산을 반영한다.
* <math>\textbf{P}_{k|k} = \textrm{cov}(\textbf{x}_k - \hat{\textbf{x}}_{k|k})</math>
* <math>\textbf{P}_{k|k-1} = \textrm{cov}(\textbf{x}_k - \hat{\textbf{x}}_{k|k-1})</math>