卡爾曼濾波

卡爾曼濾波本質(zhì)上是:非平穩(wěn)信號下的序貫線性最小均方誤差估計(jì)量

1、最小均方誤差

對于經(jīng)典的均方誤差(Mean Square Error, MSE)方法認(rèn)為,被估計(jì)量\boldsymbol{\theta}是一個(gè)確定的未知常量,因此經(jīng)典MSE通過求解下式最小得到估計(jì)值
\text{MSE}(\boldsymbol{\theta}) = \int \| \hat{\boldsymbol{\theta}} - \boldsymbol{\theta} \|^2 p(\boldsymbol{x}) d\boldsymbol{x}

其中\hat{\boldsymbol{\theta}}是觀測量\boldsymbol{x}的函數(shù),即\hat{\boldsymbol{\theta}} = f(\boldsymbol{x})

而當(dāng)估計(jì)量是一個(gè)隨機(jī)變量時(shí),上述的結(jié)果并沒有考慮估計(jì)量\boldsymbol{\theta}的先驗(yàn)p(\boldsymbol{\theta}),在添加先驗(yàn)信息后經(jīng)典MSE將會變成貝葉斯均方誤差(Bayes Mean Square Error, BMSE),其表達(dá)式如下
\text{BMSE}(\boldsymbol{\theta}) = \iint \| \hat{\boldsymbol{\theta}} - \boldsymbol{\theta} \|^2 p(\boldsymbol{x}, \boldsymbol{\theta}) d\boldsymbol{x} d\boldsymbol{\theta} =E(\| \hat{\boldsymbol{\theta}} - \boldsymbol{\theta} \|^2)

同樣有\hat{\boldsymbol{\theta}} = f(\boldsymbol{x}),其中期望是根據(jù)p(\boldsymbol{x}, \boldsymbol{\theta})來求解的,使得BMSE最小的\hat{\boldsymbol{\theta}}被稱為最小貝葉斯均方誤差估計(jì)量也被稱為最小均方誤差(Minimum Mean Square Error, MMSE)估計(jì)量

2、線性最小均方誤差

如果對函數(shù)\hat{\boldsymbol{\theta}} = f(\boldsymbol{x})做線性假設(shè),即認(rèn)為估計(jì)量由觀測\boldsymbol{x}線性組合而成,則有\hat{\boldsymbol{\theta}} = \boldsymbol{K} \boldsymbol{x} + \boldsymbol{t},其BMSE可以寫成
\text{BMSE} = E(\| \boldsymbol{K} \boldsymbol{x} + \boldsymbol{t} - \boldsymbol{\theta} \|^2)

為了使得上式最小,對\boldsymbol{t}求導(dǎo)等于\boldsymbol{0}可以得到
\begin{aligned} \frac{\partial }{\partial\boldsymbol{t}}E(\| \boldsymbol{K} \boldsymbol{x} + \boldsymbol{t} - \boldsymbol{\theta} \|^2) =& 0 \\ \Rightarrow E(2\boldsymbol{t} + 2 \boldsymbol{K} \boldsymbol{x}- 2\boldsymbol{\theta}) =& 0 \\ \Rightarrow \boldsymbol{t} =& E(\boldsymbol{\theta}) -\boldsymbol{K} E(\boldsymbol{x}) \end{aligned}

帶入原式中并且繼續(xù)對\boldsymbol{K}進(jìn)行求導(dǎo)
\begin{aligned} \frac{\partial }{\partial\boldsymbol{K}}E(\| \boldsymbol{K} (\boldsymbol{x} - E(\boldsymbol{x})) - (\boldsymbol{\theta} - E(\boldsymbol{\theta})) \|^2) = 0 \\ \Rightarrow E(2\boldsymbol{K}(\boldsymbol{x} - E(\boldsymbol{x}))(\boldsymbol{x} - E(\boldsymbol{x}))^T - 2(\boldsymbol{\theta} - E(\boldsymbol{\theta})) (\boldsymbol{x} - E(\boldsymbol{x})^T) = 0 \\ \Rightarrow \boldsymbol{K} = E((\boldsymbol{\theta} - E(\boldsymbol{\theta})) (\boldsymbol{x} - E(\boldsymbol{x})^T)E((\boldsymbol{x} - E(\boldsymbol{x})) (\boldsymbol{x} - E(\boldsymbol{x})^T)^{-1} \\ \Rightarrow \boldsymbol{K} = \boldsymbol{C}_{\boldsymbol{\theta}\boldsymbol{x}}\boldsymbol{C}_{\boldsymbol{x}\boldsymbol{x}}^{-1} \end{aligned}

最終求得
\hat{\boldsymbol{\theta}} = E(\boldsymbol{\theta}) + \boldsymbol{C}_{\boldsymbol{\theta}\boldsymbol{x}}\boldsymbol{C}_{\boldsymbol{x}\boldsymbol{x}}^{-1} (\boldsymbol{x} - E(\boldsymbol{x}))

\boldsymbol{\theta}, \boldsymbol{x}零均值的假設(shè)下,即E(\boldsymbol{\theta}) = 0, E(\boldsymbol{x}) = 0,上式可以化簡成
\hat{\boldsymbol{\theta}} = \boldsymbol{C}_{\boldsymbol{\theta}\boldsymbol{x}}\boldsymbol{C}_{\boldsymbol{x}\boldsymbol{x}}^{-1} \boldsymbol{x}

該估計(jì)量被稱為線性最小方差估計(jì)量(Linear Minimum Mean Square Error, LMMSE)

3、卡爾曼濾波

如果所求變量\boldsymbol{s}在當(dāng)前時(shí)刻n的值\boldsymbol{s}[n]和前一時(shí)刻的值\boldsymbol{s}[n - 1]存在線性關(guān)系,即
\boldsymbol{s}[n] = \boldsymbol{A}[n - 1]\boldsymbol{s}[n - 1]+\boldsymbol{B}[n - 1]\boldsymbol{u}[n]

其中驅(qū)動噪聲\boldsymbol{u}[n] \backsim \mathcal{N}(\boldsymbol{0},\boldsymbol{Q}),該方程俗稱狀態(tài)方程,表明了變量自身隨著時(shí)間的變化情況,該方程一般和物理學(xué)、運(yùn)動學(xué)等其他學(xué)科相關(guān)

同時(shí)對于所求變量\boldsymbol{s}會有相應(yīng)的觀測\boldsymbol{x},在線性假設(shè)下,認(rèn)為有
\boldsymbol{x}[n] = \boldsymbol{H}[n] \boldsymbol{s}[n] + \boldsymbol{w}[n]

其中觀測噪聲\boldsymbol{w}[n] \backsim \mathcal{N}(\boldsymbol{0}, \boldsymbol{C}[n])

\boldsymbol{X}[n] = \begin{bmatrix} \boldsymbol{x}[0] \\ \vdots\\ \boldsymbol{x}[n] \end{bmatrix},在線性假設(shè)下,有\hat{\boldsymbol{s}}[n] = \boldsymbol{K} \boldsymbol{X}[n]+\boldsymbol{t},根據(jù)前面LMMSE的結(jié)果可知
\hat{\boldsymbol{s}}[n] = E(\boldsymbol{s}[n]) + \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}}\boldsymbol{C}_{\boldsymbol{X}\boldsymbol{X}}^{-1} (\boldsymbol{X}[n] - E(\boldsymbol{X}[n]))

其中
\begin{aligned} \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}} =& E((\boldsymbol{s}[i] - E(\boldsymbol{s}[i]))(\boldsymbol{X}[n] - E(\boldsymbol{X}[n]))^T) \\ \boldsymbol{C}_{\boldsymbol{X}\boldsymbol{X}} =& E((\boldsymbol{X}[n] - E(\boldsymbol{X}[n]))(\boldsymbol{X}[n] - E(\boldsymbol{X}[n]))^T) \end{aligned}

上式中\hat{\boldsymbol{s}}[n]定義為\boldsymbol{X}[n]的線性函數(shù),結(jié)果記為\hat{\boldsymbol{s}}[n|n],可以看到每次計(jì)算都需要聯(lián)合\boldsymbol{x}[0], \cdots, \boldsymbol{x}[n]的所有數(shù)據(jù),考慮到在時(shí)序上有很多重復(fù)計(jì)算,是否可以利用前一幀的結(jié)果\hat{\boldsymbol{s}}[n-1|n-1]和當(dāng)前的觀測\boldsymbol{x}[n]計(jì)算得到\hat{\boldsymbol{s}}[n|n],即序貫LMMSE

為了參數(shù)分離,首先將\boldsymbol{X}[n]分為不相關(guān)的\boldsymbol{X}[n-1]和新息\tilde{\boldsymbol{x}}[n],這可以通過 Gram-Schmidt 正交化來實(shí)現(xiàn),如下式所示
\tilde{\boldsymbol{x}}[n] = \boldsymbol{x}[n] - \hat{\boldsymbol{x}}[n|n-1]

其中\hat{\boldsymbol{x}}[n|n-1]是將\boldsymbol{x}[n]看做估計(jì)量\boldsymbol{X}[n-1]看做觀測量,在LMMSE下的結(jié)果,如下所示
\hat{\boldsymbol{x}}[n|n-1] = E(\boldsymbol{x}[n]) + \boldsymbol{C}_{\boldsymbol{x}\boldsymbol{X}[n-1]}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]}^{-1} (\boldsymbol{X}[n-1] - E(\boldsymbol{X}[n-1]))

可以證明E(\tilde{\boldsymbol{x}}[n]\boldsymbol{X}^T[n-1]) = E(\tilde{\boldsymbol{x}}[n])E(\boldsymbol{X}^T[n-1]),過程如下
左邊等于
\begin{aligned} &E(\tilde{\boldsymbol{x}}[n]\boldsymbol{X}^T[n-1]) \\ =& E(\boldsymbol{x}[n]\boldsymbol{X}^T[n-1]) - E(\hat{\boldsymbol{x}}[n|n-1]\boldsymbol{X}^T[n-1]) \\ =& E(\boldsymbol{x}[n]\boldsymbol{X}^T[n-1]) - E(\boldsymbol{x}[n])E(\boldsymbol{X}^T[n-1]) \\ &-\boldsymbol{C}_{\boldsymbol{x}\boldsymbol{X}[n-1]}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]}^{-1}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]} \\ =& E(\boldsymbol{x}[n]\boldsymbol{X}^T[n-1]) - E(\boldsymbol{x}[n])E(\boldsymbol{X}^T[n-1]) - \boldsymbol{C}_{\boldsymbol{x}\boldsymbol{X}[n-1]} \\ =& \boldsymbol{C}_{\boldsymbol{x}\boldsymbol{X}[n-1]} - \boldsymbol{C}_{\boldsymbol{x}\boldsymbol{X}[n-1]} \\ =& 0 \end{aligned}

右邊等于
E(\tilde{\boldsymbol{x}}[n]) = E(\boldsymbol{x}[n]) - E(\hat{\boldsymbol{x}}[n|n-1]) = 0

\boldsymbol{X}[n-1], \tilde{\boldsymbol{x}}[n]組成新的向量\boldsymbol{X}'[n] = \begin{bmatrix} \boldsymbol{X}[n-1]\\ \tilde{\boldsymbol{x}}[n] \end{bmatrix},注意到\boldsymbol{X}[n]可以由\boldsymbol{X}'[n]線性變換得到,所以兩者的 LMMSE 結(jié)果一致,將前面得到的關(guān)于\boldsymbol{X}[n]的 LMMSE 結(jié)果轉(zhuǎn)變成關(guān)于\boldsymbol{X}'[n]的 LMMSE 結(jié)果,如下所示
\hat{\boldsymbol{s}}[n|n] = E(\boldsymbol{s}[n]) + \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}'}\boldsymbol{C}_{\boldsymbol{X}'\boldsymbol{X}'}^{-1} (\boldsymbol{X}'[n] - E(\boldsymbol{X}'[n]))

其中
\begin{aligned} \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}'} = \begin{bmatrix} \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}[n-1]} & \boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]} \end{bmatrix} \\ \boldsymbol{C}_{\boldsymbol{X}'\boldsymbol{X}'} = \begin{bmatrix} \boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]} & \boldsymbol{0} \\ \boldsymbol{0} &\boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]} \end{bmatrix} \end{aligned}

注意到矩陣中存在部分0,因此轉(zhuǎn)變后的 LMMSE 結(jié)果可以拆成
\begin{aligned} \hat{\boldsymbol{s}}[n|n] =& E(\boldsymbol{s}[n]) + \boldsymbol{C}_{\boldsymbol{s}[n]\boldsymbol{X}[n-1]}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]}^{-1} (\boldsymbol{X}[n-1] - E(\boldsymbol{X}[n-1]))\\ & + \boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]}\boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]}^{-1} (\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n])) \end{aligned}

利用\boldsymbol{s}[n] - E(\boldsymbol{s}[n]) = \boldsymbol{A}[n - 1]\boldsymbol{s}[n - 1] - \boldsymbol{A}[n - 1]E(\boldsymbol{s}[n - 1])+\boldsymbol{B}[n - 1]\boldsymbol{u}[n]可以得到
\begin{aligned} \boldsymbol{C}_{\boldsymbol{s}[n]\boldsymbol{X}[n-1]} =& E((\boldsymbol{s}[n] - E(\boldsymbol{s}[n]))(\boldsymbol{X}[n - 1] - E(\boldsymbol{X}[n - 1]))^T)\\ =& \boldsymbol{A}[n - 1]\boldsymbol{C}_{\boldsymbol{s}[n-1]\boldsymbol{X}[n-1]} \end{aligned}

繼而可以得到
\begin{aligned} &\hat{\boldsymbol{s}}[n|n]\\ =& \boldsymbol{A}[n - 1]E(\boldsymbol{s}[n - 1]) \\ &+ \boldsymbol{A}[n - 1]\boldsymbol{C}_{\boldsymbol{s}[n-1]\boldsymbol{X}[n-1]}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]}^{-1} (\boldsymbol{X}[n-1] - E(\boldsymbol{X}[n-1]))\\ & + \boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]}\boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]}^{-1} (\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n])) \\ =& \boldsymbol{A}[n - 1] \hat{\boldsymbol{s}}[n-1|n-1] + \boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]}\boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]}^{-1} (\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n])) \end{aligned}

如果令\hat{\boldsymbol{s}}[n|n-1] = \boldsymbol{A}[n - 1] \hat{\boldsymbol{s}}[n-1|n-1],則有
\begin{aligned} \hat{\boldsymbol{s}}[n|n] =& \hat{\boldsymbol{s}}[n|n-1] + \boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]}\boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]}^{-1} (\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n])) \end{aligned}

其中
\begin{aligned} \boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]} =& E((\boldsymbol{s}[n] - E(\boldsymbol{s}[n]))(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \\ \boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]} =& E((\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \end{aligned}

根據(jù)\hat{\boldsymbol{x}}[n|n - 1]的表達(dá)式,很容易證明
\hat{\boldsymbol{x}}[n|n - 1] = \boldsymbol{H}[n]\hat{\boldsymbol{s}}[n|n - 1]

因此有
\begin{aligned} \tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]) =& \tilde{\boldsymbol{x}}[n] \\ =& \boldsymbol{x}[n] - \hat{\boldsymbol{x}}[n|n-1] \\ =& \boldsymbol{x}[n] - \boldsymbol{H}[n]\hat{\boldsymbol{s}}[n|n - 1] \\ =& \boldsymbol{H}[n]\boldsymbol{s}[n] + \boldsymbol{w}[n] - \boldsymbol{H}[n]\hat{\boldsymbol{s}}[n|n - 1] \\ =& \boldsymbol{H}[n](\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1]) + \boldsymbol{w}[n] \end{aligned}

利用\hat{\boldsymbol{s}}[n|n-1] = E(\boldsymbol{s}[n]) + \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}[n-1]}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]}^{-1} (\boldsymbol{X}[n-1] - E(\boldsymbol{X}[n-1]))E((\boldsymbol{X}[n-1] - E(\boldsymbol{X}[n-1]))(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) = 0,可以得到
\begin{aligned} &\boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]}\\ =& E((\boldsymbol{s}[n] - E(\boldsymbol{s}[n]))(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \\ =& E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \\ =& E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\boldsymbol{H}[n](\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1]) + \boldsymbol{w}[n])^T) \\ =& E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])^T) \boldsymbol{H}^T[n] \end{aligned}

\boldsymbol{M}[n|n - 1] = E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])^T),則上式變成
\boldsymbol{C}_{\boldsymbol{s}\tilde{\boldsymbol{x}}[n]} = \boldsymbol{M}[n|n - 1]\boldsymbol{H}^T[n]

另一方面利用\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]) = \boldsymbol{H}[n](\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1]) + \boldsymbol{w}[n],可以得到
\begin{aligned} \boldsymbol{C}_{\tilde{\boldsymbol{x}}[n]\tilde{\boldsymbol{x}}[n]} =& E((\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \\ =& \boldsymbol{H}[n] \boldsymbol{M}[n|n - 1]\boldsymbol{H}^T[n] + \boldsymbol{C}[n] \end{aligned}

因此有
\hat{\boldsymbol{s}}[n|n] = \hat{\boldsymbol{s}}[n|n-1] + \boldsymbol{K}[n](\boldsymbol{x}[n] - \boldsymbol{H}[n]\hat{\boldsymbol{s}}[n|n - 1])

其中
\begin{aligned} \boldsymbol{K}[n] =& \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}[n-1]}\boldsymbol{C}_{\boldsymbol{X}[n-1]\boldsymbol{X}[n-1]}^{-1} \\ =& \boldsymbol{M}[n|n - 1]\boldsymbol{H}^T[n](\boldsymbol{H}[n] \boldsymbol{M}[n|n - 1]\boldsymbol{H}^T[n] + \boldsymbol{C}[n])^{-1} \end{aligned}

最后需要給出\boldsymbol{M}[n|n - 1]\boldsymbol{M}[n|n]的遞推公式
利用\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1] = \boldsymbol{A}[n - 1]\boldsymbol{s}[n-1] + \boldsymbol{B}[n - 1]\boldsymbol{u[n]} - \boldsymbol{A}[n - 1] \hat{\boldsymbol{s}}[n - 1|n - 1],可以得到
\begin{aligned} \boldsymbol{M}[n|n - 1] =& E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])^T) \\ =& \boldsymbol{A}[n - 1]\boldsymbol{M}[n-1|n-1]\boldsymbol{A}^T[n - 1] + \boldsymbol{B}[n - 1]\boldsymbol{Q}\boldsymbol{B}^T[n - 1] \end{aligned}

利用\hat{\boldsymbol{s}}[n|n] = \hat{\boldsymbol{s}}[n|n-1] + \boldsymbol{K}[n](\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))可以得到
\begin{aligned} \boldsymbol{M}[n|n] =& E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n])(\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n])^T) \\ =& E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])^T)\\ &- 2E((\boldsymbol{s}[n] - \hat{\boldsymbol{s}}[n|n - 1])(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \boldsymbol{K}^T[n]\\ &+\boldsymbol{K}[n] E(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))(\tilde{\boldsymbol{x}}[n] - E(\tilde{\boldsymbol{x}}[n]))^T) \boldsymbol{K}^T[n]\\ =& \boldsymbol{M}[n|n-1] \\ &- 2 \boldsymbol{M}[n|n-1] \boldsymbol{H}^T[n]\boldsymbol{K}^T[n]\\ &+ \boldsymbol{M}[n|n-1] \boldsymbol{H}^T[n]\boldsymbol{K}^T[n] \\ =& (\boldsymbol{I} - \boldsymbol{K}[n]\boldsymbol{H}[n])\boldsymbol{M}[n|n - 1] \end{aligned}

至此所有遞推公式都推導(dǎo)完畢,可以很清楚地看到一切皆起源于方程
\hat{\boldsymbol{s}}[n] = E(\boldsymbol{s}[n]) + \boldsymbol{C}_{\boldsymbol{s}\boldsymbol{X}}\boldsymbol{C}_{\boldsymbol{X}\boldsymbol{X}}^{-1} (\boldsymbol{X}[n] - E(\boldsymbol{X}[n]))

后面的推導(dǎo)只是在完成該方程序貫形式下的結(jié)果罷了,而該方程的起源來自于線性假設(shè),所以卡爾曼濾波本質(zhì)上是非平穩(wěn)信號下的序貫線性最小均方誤差估計(jì)量,其最終結(jié)果可以總結(jié)如下步驟:
初始化:
\hat{\boldsymbol{s}}[-1|-1] = \boldsymbol{\mu}_{\boldsymbol{s}}, \boldsymbol{M}[-1|-1] = \boldsymbol{C}_{\boldsymbol{s}}

預(yù)測估計(jì)量:
\hat{\boldsymbol{s}}[n|n - 1] = \boldsymbol{A}[n - 1]\hat{\boldsymbol{s}}[n - 1|n - 1]

預(yù)測最小 MSE 矩陣:
\boldsymbol{M}[n|n - 1] = \boldsymbol{A}[n - 1] \boldsymbol{M}[n - 1| n - 1] \boldsymbol{A}^T[n - 1] + \boldsymbol{B}[n - 1]\boldsymbol{Q}\boldsymbol{B}^T[n - 1]

增益矩陣:
\boldsymbol{K}[n] = \boldsymbol{M}[n|n - 1] \boldsymbol{H}^T[n](\boldsymbol{H}[n]\boldsymbol{M}[n|n - 1]\boldsymbol{H}^T[n] + \boldsymbol{C}[n])^{-1}

修正估計(jì)量:
\hat{\boldsymbol{s}}[n|n] = \hat{\boldsymbol{s}}[n|n - 1] + \boldsymbol{K}[n](\boldsymbol{x}[n] - \boldsymbol{H}[n] \hat{\boldsymbol{s}}[n|n - 1])

修正最小 MSE 矩陣:
\boldsymbol{M}[n|n] = (\boldsymbol{I} - \boldsymbol{K}[n] \boldsymbol{H}[n]) \boldsymbol{M}[n|n - 1]

4、擴(kuò)展卡爾曼濾波

卡爾曼濾波基于線性假設(shè),當(dāng)狀態(tài)方程和觀測方程均不為線性的時(shí)候,如下所示
\begin{aligned} \boldsymbol{s}[n] =& a(\boldsymbol{s}[n - 1]) + \boldsymbol{B}[n - 1]\boldsymbol{u}[n] \\ \boldsymbol{x}[n] =& h(\boldsymbol{s}[n]) + \boldsymbol{w}[n] \end{aligned}

如果認(rèn)為前一時(shí)刻的值幾乎在真值附近,將非線性函數(shù)a,h進(jìn)行泰勒展開可以得到
\begin{aligned} a(\boldsymbol{s}[n - 1]) \approx& a(\tilde{\boldsymbol{s}}[n - 1 | n - 1]) + \boldsymbol{A}[n - 1](\boldsymbol{s}[n - 1] - \tilde{\boldsymbol{s}}[n - 1 | n - 1]) \\ h(\boldsymbol{s}[n]) \approx& h(\tilde{\boldsymbol{s}}[n| n - 1]) + \boldsymbol{H}[n](\boldsymbol{s}[n] - \tilde{\boldsymbol{s}}[n | n - 1]) \\ \end{aligned}

其中\boldsymbol{A}[n - 1] = \frac{\partial a(\boldsymbol{x})}{\partial \boldsymbol{x}}\bigg|_{\boldsymbol{x} = \tilde{\boldsymbol{s}}[n - 1 | n - 1]}, \boldsymbol{H}[n] = \frac{\partial h(\boldsymbol{x})}{\partial \boldsymbol{x}} \bigg|_{\boldsymbol{x} = \tilde{\boldsymbol{s}}[n | n - 1]}

則原狀態(tài)和觀測方程將會變?yōu)?br> \begin{aligned} \boldsymbol{s}[n] =& \boldsymbol{A}[n - 1] \boldsymbol{s}[n - 1] + \boldsymbol{B}[n - 1]\boldsymbol{u}[n] + \boldsymbol{a}[n - 1] \\ \boldsymbol{x}[n] =& \boldsymbol{H}[n] \boldsymbol{s}[n] + \boldsymbol{w}[n] + \boldsymbol{h}[n - 1] \end{aligned}

其中\boldsymbol{a}[n - 1] = a(\tilde{\boldsymbol{s}}[n - 1 | n - 1]) - \boldsymbol{A}[n - 1] \tilde{\boldsymbol{s}}[n - 1 | n - 1]\boldsymbol{h}[n - 1] = h(\tilde{\boldsymbol{s}}[n| n - 1]) - \boldsymbol{H}[n] \tilde{\boldsymbol{s}}[n | n - 1]

最終結(jié)果可以總結(jié)如下步驟:
初始化:
\hat{\boldsymbol{s}}[-1|-1] = \boldsymbol{\mu}_{\boldsymbol{s}}, \boldsymbol{M}[-1|-1] = \boldsymbol{C}_{\boldsymbol{s}}

預(yù)測估計(jì)量
\hat{\boldsymbol{s}}[n|n - 1] = a(\hat{\boldsymbol{s}}[n - 1|n - 1])

預(yù)測最小 MSE 矩陣:
\boldsymbol{M}[n|n - 1] = \boldsymbol{A}[n - 1] \boldsymbol{M}[n - 1| n - 1] \boldsymbol{A}^T[n - 1] + \boldsymbol{B}[n - 1]\boldsymbol{Q}\boldsymbol{B}^T[n - 1]

增益矩陣:
\boldsymbol{K}[n] = \boldsymbol{M}[n|n - 1] \boldsymbol{H}^T[n](\boldsymbol{H}[n]\boldsymbol{M}[n|n - 1]\boldsymbol{H}^T[n] + \boldsymbol{C}[n])^{-1}

修正估計(jì)量
\hat{\boldsymbol{s}}[n|n] = \hat{\boldsymbol{s}}[n|n - 1] + \boldsymbol{K}[n](\boldsymbol{x}[n] - h(\hat{\boldsymbol{s}}[n|n - 1]))

修正最小 MSE 矩陣:
\boldsymbol{M}[n|n] = (\boldsymbol{I} - \boldsymbol{K}[n] \boldsymbol{H}[n]) \boldsymbol{M}[n|n - 1]

可以看到與前面有差別的部分主要在于 “預(yù)測估計(jì)量” 和 “修正估計(jì)量” 兩個(gè)步驟

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 最小二乘(LS)、加權(quán)最小二乘估計(jì)(WLS)、遞推最小二乘(RLS) 觀測方程![](http://late...
    wuzhiguo閱讀 3,000評論 0 2
  • 1. 首先有一個(gè)狀態(tài)方程和一個(gè)觀測方程:(但是這不是最后的5個(gè)公式) X(k)=AX(k-1)+BU(k)+W(k...
    applecai閱讀 2,528評論 0 0
  • 卡爾曼濾波在我當(dāng)學(xué)生的時(shí)候就用過,但是當(dāng)年我似乎就是套公式,沒有理解其精髓,加之時(shí)間久了有點(diǎn)模糊,突然需要指導(dǎo)學(xué)生...
    Roger_羅杰閱讀 85,363評論 41 159
  • 卡爾曼濾波(一) 我們將從理論和實(shí)際案例兩個(gè)方面討論卡爾曼濾波器,以下的討論可能需要一些線性代數(shù)和概率論知識。 首...
    RyzeBorgia閱讀 1,221評論 0 1
  • 卡爾曼濾波系列1_基礎(chǔ) 1 基礎(chǔ)知識 [1] 卡爾曼增益最后會變成定值嗎?[2] 如何通俗并盡可能詳細(xì)解釋卡爾曼濾...
    葉秋花夏閱讀 1,674評論 0 3

友情鏈接更多精彩內(nèi)容