Kalman Filtering·Lecture 4 of 7

L4 · Multivariate Measurement Update

Updated 2026-09-18·KO

시리즈: Kalman Filtering · 이전: L3 · 다음: L5

이 강의는 scalar correction을 vector state와 vector measurement로 확장합니다. Kalman gain을 암기식으로 두지 않고 state–measurement cross-covariance와 innovation covariance의 비율로 유도합니다.

형광펜: 정의·핵심 · 메커니즘·직관 · 조건·주의

목차


1. Measurement prediction

Prior와 measurement model은

xk∣y1:k−1∼N(x^k−,Pk−),x_k\mid y_{1:k-1} \sim\mathcal N(\hat x_k^-,P_k^-),
yk=Hkxk+vk,vk∼N(0,Rk)y_k=H_kx_k+v_k,\qquad v_k\sim\mathcal N(0,R_k)

입니다. Predicted measurement mean은

y^k−=Hkx^k−\hat y_k^-=H_k\hat x_k^-

입니다. HkH_k는 state space의 uncertainty를 measurement가 볼 수 있는 directions로 투영합니다.


2. Innovation vector

Innovation을

rk=yk−Hkx^k−r_k=y_k-H_k\hat x_k^-

로 정의합니다. rk∈Rmr_k\in\mathbb R^m이며 각 component는 measurement space의 prediction error입니다.

서로 다른 sensor units를 가진 components를 raw magnitude만으로 비교할 수는 없습니다. Scale과 correlation은 innovation covariance SkS_k에 들어갑니다.


3. Innovation covariance

Prior error를 ek−=xk−x^k−e_k^-=x_k-\hat x_k^-로 두면

rk=Hkek−+vk.r_k=H_ke_k^-+v_k.

따라서

Sk=Cov⁡(rk∣y1:k−1)(definition)=Cov⁡(Hkek−+vk)(innovation substitution)=HkPk−Hk⊤+Rk(independence).\begin{aligned} S_k &=\operatorname{Cov}(r_k\mid y_{1:k-1}) &&\text{(definition)}\\ &=\operatorname{Cov}(H_ke_k^-+v_k) &&\text{(innovation substitution)}\\ &=H_kP_k^-H_k^{\top}+R_k &&\text{(independence)}. \end{aligned}

즉

Sk=HkPk−Hk⊤+Rk\boxed{S_k=H_kP_k^-H_k^{\top}+R_k}

입니다. Rk≻0R_k\succ0이면 Sk≻0S_k\succ0이므로 inverse가 존재합니다.


4. State-measurement cross-covariance

State error와 innovation의 cross-covariance를 계산합니다.

Cov⁡(ek−,rk)=E[ek−(Hkek−+vk)⊤](innovation substitution)=Pk−Hk⊤+E[ek−vk⊤](expansion)=Pk−Hk⊤(independence).\begin{aligned} \operatorname{Cov}(e_k^-,r_k) &=\mathbb E[e_k^-(H_ke_k^-+v_k)^{\top}] &&\text{(innovation substitution)}\\ &=P_k^-H_k^{\top}+\mathbb E[e_k^-v_k^{\top}] &&\text{(expansion)}\\ &=P_k^-H_k^{\top} &&\text{(independence)}. \end{aligned}

Matrix Pk−Hk⊤∈Rn×mP_k^-H_k^{\top}\in\mathbb R^{n\times m}는 measurement residual 각 direction이 state error 각 direction과 얼마나 함께 변하는지 나타냅니다.

Measurement가 직접 보지 않는 state component도 innovation과 cross-covariance가 있으면 갱신됩니다.


5. Joint Gaussian 구성

xkx_k와 yky_k는 jointly Gaussian이며 mean과 block covariance는

[xkyk]∼N([x^k−Hkx^k−],[Pk−Pk−Hk⊤HkPk−Sk]).\begin{bmatrix} x_k\\y_k \end{bmatrix} \sim \mathcal N\left( \begin{bmatrix} \hat x_k^-\\H_k\hat x_k^- \end{bmatrix}, \begin{bmatrix} P_k^-&P_k^-H_k^{\top}\\ H_kP_k^-&S_k \end{bmatrix} \right).

각 block은 state covariance, 두 cross-covariances, measurement covariance입니다. 이 joint distribution에 실제 yky_k를 conditioning하면 posterior p(xk∣y1:k)p(x_k\mid y_{1:k})가 나옵니다.


6. Conditional Gaussian 유도

Joint Gaussian

[ab]∼N([μaμb],[ΣaaΣabΣbaΣbb])\begin{bmatrix}a\\b\end{bmatrix} \sim\mathcal N\left( \begin{bmatrix}\mu_a\\\mu_b\end{bmatrix}, \begin{bmatrix} \Sigma_{aa}&\Sigma_{ab}\\ \Sigma_{ba}&\Sigma_{bb} \end{bmatrix} \right)

에서 bb를 관측한 conditional distribution은

E[a∣b]=μa+ΣabΣbb−1(b−μb),\mathbb E[a\mid b] =\mu_a+\Sigma_{ab}\Sigma_{bb}^{-1}(b-\mu_b),
Cov⁡(a∣b)=Σaa−ΣabΣbb−1Σba\operatorname{Cov}(a\mid b) =\Sigma_{aa}- \Sigma_{ab}\Sigma_{bb}^{-1}\Sigma_{ba}

입니다. §5의 blocks를 대입하면

x^k+=x^k−+Pk−Hk⊤Sk−1(yk−Hkx^k−)(conditional Gaussian mean),Pk+=Pk−−Pk−Hk⊤Sk−1HkPk−(conditional Gaussian covariance).\begin{aligned} \hat x_k^+ &=\hat x_k^-+ P_k^-H_k^{\top}S_k^{-1} (y_k-H_k\hat x_k^-) &&\text{(conditional Gaussian mean)},\\ P_k^+ &=P_k^-- P_k^-H_k^{\top}S_k^{-1}H_kP_k^- &&\text{(conditional Gaussian covariance)}. \end{aligned}

이 두 식이 multivariate Kalman correction입니다.


7. Kalman gain

Conditional mean의 coefficient를

Kk=Pk−Hk⊤Sk−1\boxed{ K_k=P_k^-H_k^{\top}S_k^{-1} }

로 정의합니다. 따라서

Kk=Cov⁡(xk,rk)⏟Pk−Hk⊤Cov⁡(rk)−1⏟Sk−1K_k= \underbrace{\operatorname{Cov}(x_k,r_k)}_{P_k^-H_k^{\top}} \underbrace{\operatorname{Cov}(r_k)^{-1}}_{S_k^{-1}}

로 읽을 수 있습니다.

  • Numerator는 innovation이 어떤 state error를 알려주는지 나타냅니다.
  • Denominator는 innovation 자체의 scale과 correlation을 normalize합니다.

Kalman gain은 prior와 measurement를 단순 평균하는 scalar weight가 아니라 normalized cross-covariance map입니다.


8. Posterior mean

Gain과 innovation notation을 사용하면

x^k+=x^k−+Kkrk\boxed{ \hat x_k^+=\hat x_k^-+K_kr_k }

입니다. Dimension은

Kk∈Rn×m,rk∈Rm,Kkrk∈RnK_k\in\mathbb R^{n\times m},\qquad r_k\in\mathbb R^m,\qquad K_kr_k\in\mathbb R^n

입니다. Measurement residual을 state correction으로 변환하는 map이 KkK_k입니다.


9. Posterior covariance

Conditional covariance는

Pk+=Pk−−KkSkKk⊤P_k^+=P_k^--K_kS_kK_k^{\top}

으로 쓸 수 있습니다. KkSk=Pk−Hk⊤K_kS_k=P_k^-H_k^{\top}를 사용하면

Pk+=Pk−−KkHkPk−(gain identity)=(I−KkHk)Pk−(factorization).\begin{aligned} P_k^+ &=P_k^--K_kH_kP_k^- &&\text{(gain identity)}\\ &=(I-K_kH_k)P_k^- &&\text{(factorization)}. \end{aligned}

따라서

Pk+=(I−KkHk)Pk−\boxed{P_k^+=(I-K_kH_k)P_k^-}

입니다. Exact arithmetic에서는 symmetric PSD가 유지됩니다. 그러나 이 compact form은 floating-point roundoff로 symmetry를 잃기 쉽습니다.


10. Joseph form

Posterior error는

ek+=(I−KkHk)ek−−Kkvke_k^+=(I-K_kH_k)e_k^--K_kv_k

입니다. 두 error가 independent라는 조건 아래 covariance를 직접 계산하면

Pk+=(I−KkHk)Pk−(I−KkHk)⊤+KkRkKk⊤\boxed{ P_k^+= (I-K_kH_k)P_k^-(I-K_kH_k)^{\top} +K_kR_kK_k^{\top} }

를 얻습니다. 이것이 Joseph form입니다.

Optimal Kalman gain을 exact arithmetic로 사용하면 compact form과 같습니다. Joseph form은 두 PSD terms의 합으로 계산하므로 finite precision에서 symmetry와 PSD를 더 안정적으로 보존합니다.


11. Unmeasured state가 갱신되는 조건

Position–velocity state를 생각하겠습니다.

P−=[41.51.51],H=[10],R=1.P^-= \begin{bmatrix} 4&1.5\\ 1.5&1 \end{bmatrix},\qquad H=\begin{bmatrix}1&0\end{bmatrix},\qquad R=1.

Position만 측정하지만

S=HP−H⊤+R=5,S=HP^-H^{\top}+R=5,
K=P−H⊤S−1=[0.80.3].K=P^-H^{\top}S^{-1} = \begin{bmatrix} 0.8\\0.3 \end{bmatrix}.

따라서 innovation rr이 들어오면

p^+=p^−+0.8r,v^+=v^−+0.3r.\hat p^+=\hat p^-+0.8r,\qquad \hat v^+=\hat v^-+0.3r.

Velocity correction coefficient 0.30.3은 position–velocity cross-covariance 1.51.5에서 나옵니다. Cross-covariance가 00이면 같은 시각의 position measurement는 velocity를 직접 갱신하지 않습니다.

Posterior covariance는

P+=[0.80.30.30.55].P^+= \begin{bmatrix} 0.8&0.3\\ 0.3&0.55 \end{bmatrix}.

kf l4 cross covariance

A position measurement narrows the joint uncertainty and shifts velocity when position and velocity errors are correlated.


이해 확인

1. Pk−Hk⊤P_k^-H_k^{\top}와 SkS_k가 각각 무엇을 나타내는지 설명하시오.

2. Position만 측정하는 예제에서 velocity gain이 0.30.3인 이유를 설명하시오.

3. Compact covariance update와 Joseph form의 관계를 설명하시오.

4. Actual measurement 값 yky_k가 KkK_k 식에 나타나지 않는 이유를 설명하시오.

답

1. Pk−Hk⊤P_k^-H_k^{\top}는 state error와 innovation의 cross-covariance이고, SkS_k는 innovation covariance입니다. → §3 · §4

2. Prior의 position–velocity cross-covariance가 1.51.5이므로 position innovation이 velocity error와 correlated되어 있습니다. 이를 S=5S=5로 normalize하면 velocity gain이 1.5/5=0.31.5/5=0.3입니다. → §11

3. Optimal gain과 exact arithmetic에서는 두 식이 algebraically 같습니다. Joseph form은 PSD terms의 합으로 계산되어 finite precision에서 더 안정적입니다. → §10

4. Gain은 model과 uncertainty geometry가 정하는 linear map입니다. 실제 measurement 값은 innovation을 통해 posterior mean에만 들어갑니다. → §7 · §8

controlestimationkalman-filtergaussian-conditioning