專利名稱:一種基于動(dòng)態(tài)矩陣控制的改進(jìn)粒子濾波算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)數(shù)據(jù)處理方法,具體來(lái)說(shuō)是一種基于動(dòng)態(tài)矩陣控制(Dynamic Matrix Control, DMC)的改進(jìn)粒子濾波算法。
背景技術(shù):
粒子濾波是利用蒙特卡洛技術(shù)實(shí)現(xiàn)遞推貝葉斯濾波的濾波方法。Gordon,Salmond 和Smith在繼承前人工作的基礎(chǔ)上,提出適用于非線性、非高斯噪聲模型的Sampling Importance Resampling(SIR)粒子濾波,開(kāi)啟了粒子濾波研究的熱潮。粒子濾波的一大優(yōu) 勢(shì)就是能夠表征任意的概率密度函數(shù)。模型非線性越強(qiáng),噪聲越復(fù)雜,越能體現(xiàn)粒子濾波的 優(yōu)點(diǎn)。
粒子濾波雖然具有很大的優(yōu)勢(shì),但是存在兩個(gè)顯著的問(wèn)題采樣過(guò)程造成的粒子 貧化;采用大量粒子模擬狀態(tài)變量的后驗(yàn)概率密度函數(shù)造成的計(jì)算復(fù)雜性。雖然粒子濾波 引起了學(xué)者的很大注意,但是關(guān)注重點(diǎn)還是粒子貧化問(wèn)題,對(duì)其的改進(jìn)算法仍集中于建議 分布的選取和重采樣過(guò)程,如輔助粒子濾波(APF),擴(kuò)展卡爾曼粒子濾波(EPF),高斯粒子 濾波(GPF),無(wú)跡粒子濾波(UPF),Markov Chain Monte Carlo (MCMC)粒子濾波等。這些改進(jìn) 算法一定程度上解決了粒子貧化的問(wèn)題,但是對(duì)計(jì)算復(fù)雜性的改善效果并不好,隨著狀態(tài) 變量維數(shù)的增加,所需粒子數(shù)會(huì)迅速增多。針對(duì)高維濾波模型,Doucet等提出了對(duì)其線性部 分和非線性部分分別應(yīng)用卡爾曼濾波和粒子濾波的Rao-Blackwellised粒子濾波(RBPF) 算法,從而降低了應(yīng)用于粒子濾波的狀態(tài)維數(shù),提高其濾波效率。但是,降低維數(shù)后的粒子 濾波所需粒子數(shù)仍較多。此外,RBPF依賴于系統(tǒng)模型,對(duì)于不存在線性子空間的模型,就退 化為單純的粒子濾波,所需粒子數(shù)更加龐大。
DMC產(chǎn)生于上世紀(jì)70年代末期,是一種計(jì)算機(jī)控制算法。DMC基于對(duì)象的階躍響 應(yīng),以滾動(dòng)推移的方式實(shí)時(shí)地對(duì)動(dòng)態(tài)過(guò)程實(shí)現(xiàn)優(yōu)化控制,是建立在下述基本原理基礎(chǔ)之上 的基于預(yù)測(cè)模型和線性系統(tǒng)比例、疊加性質(zhì)的輸出預(yù)測(cè);基于最優(yōu)跟蹤和控制軟約束性 能指標(biāo)的在線滾動(dòng)優(yōu)化;基于實(shí)時(shí)監(jiān)測(cè)信息的誤差預(yù)測(cè)與校正。DMC中的預(yù)測(cè)模型只需測(cè) 定預(yù)測(cè)對(duì)象的階躍響應(yīng),而不關(guān)心其具體的結(jié)構(gòu)形式。因此,DMC可以不經(jīng)復(fù)雜的辨識(shí)便可 設(shè)計(jì)控制系統(tǒng),在復(fù)雜的工業(yè)過(guò)程中發(fā)揮了重要的作用。對(duì)于非線性系統(tǒng),階躍響應(yīng)是關(guān)于 當(dāng)前時(shí)刻狀態(tài)的函數(shù)。若系統(tǒng)結(jié)構(gòu)未知,就不能離線得到預(yù)測(cè)對(duì)象的階躍響應(yīng),因而,DMC算 法不能適用于系統(tǒng)結(jié)構(gòu)未知的非線性系統(tǒng)。DMC在每一時(shí)刻都有一個(gè)相對(duì)于該時(shí)刻的優(yōu)化 性能指標(biāo),以確定未來(lái)的控制作用。誤差預(yù)測(cè)與校正就是把滾動(dòng)優(yōu)化確定的控制輸入加入 到該時(shí)刻的控制中,實(shí)現(xiàn)DMC的反饋控制。發(fā)明內(nèi)容
本發(fā)明致力于解決粒子濾波的計(jì)算復(fù)雜性問(wèn)題,提出了一種基于動(dòng)態(tài)矩陣控制的 改進(jìn)粒子濾波算法,在基本粒子濾波算法Sampling Importance Resampling(SIR)的基礎(chǔ) 上,加入狀態(tài)重建環(huán)節(jié),把DMC技術(shù)的誤差校正方法引入粒子濾波中,校正粒子的狀態(tài)值,3使其更接近真實(shí)的狀態(tài)。
理論上無(wú)窮多的粒子可以完整的擬合后驗(yàn)概率密度函數(shù),因此粒子數(shù)越多,越能 逼近后驗(yàn)概率密度函數(shù)。為了減少所需粒子的數(shù)目和減少粒子退化,需要讓每個(gè)粒子盡量 往高似然概率區(qū)域運(yùn)動(dòng)。本發(fā)明在傳統(tǒng)粒子濾波算法中,在權(quán)值計(jì)算和歸一化之前引入了 基于DMC的狀態(tài)重建過(guò)程,然后再進(jìn)行權(quán)值計(jì)算和歸一化,在重采樣過(guò)程前有效地調(diào)整粒 子狀態(tài)到高似然概率函數(shù)區(qū)域。對(duì)于粒子濾波存在的樣本貧化和權(quán)值退化問(wèn)題,本發(fā)明的 算法引入的狀態(tài)重建能夠提高粒子濾波的多樣性,降低粒子的樣本貧化和權(quán)值退化問(wèn)題, 提高粒子濾波的性能。
—種基于動(dòng)態(tài)矩陣控制技術(shù)的改進(jìn)粒子濾波算法,包括以下步驟
(1)根據(jù)預(yù)先設(shè)定的粒子初始狀態(tài)分布對(duì)粒子進(jìn)行初始化;
(2)根據(jù)系統(tǒng)模型對(duì)當(dāng)前時(shí)刻的粒子狀態(tài)進(jìn)行基于動(dòng)態(tài)矩陣控制的滾動(dòng)優(yōu)化技術(shù) 的狀態(tài)重建;
(3)計(jì)算每個(gè)粒子對(duì)應(yīng)的權(quán)值和并對(duì)其歸一化;
(4)狀態(tài)估計(jì),更新當(dāng)前粒子的狀態(tài);
(5)重采樣,從狀態(tài)后驗(yàn)概率密度函數(shù)中重新采樣生成同等數(shù)量的新粒子;
(6)根據(jù)新粒子進(jìn)行狀態(tài)更新;
(7)若不滿足結(jié)束條件,則轉(zhuǎn)到(2)重新迭代,否則結(jié)束。
下面具體闡述本發(fā)明所提出的基于DMC的改進(jìn)粒子濾波算法的狀態(tài)重建過(guò)程。由 于DMC算法需要根據(jù)線性系統(tǒng)比例、疊加性質(zhì)給出輸出預(yù)測(cè),因此觀測(cè)方程必須是線性方 程。本發(fā)明系統(tǒng)模型為_(kāi)6] \Xk=fUXM + BkVk⑴[Yk=hkXk+Vk
式中_Λ—1—『為k-Ι時(shí)刻的系統(tǒng)狀態(tài)轉(zhuǎn)移函數(shù);A eR"是k時(shí)刻的系 統(tǒng)狀態(tài)變量;^V1 e『為已知分布的狀態(tài)噪聲;B表示系統(tǒng)的控制矩陣;f/Ε 表示系統(tǒng)的 輸入為m維—『是k時(shí)刻的系統(tǒng)觀測(cè)函數(shù);K eR"是已知分布的觀測(cè)噪聲; Ke『是k時(shí)刻的系統(tǒng)觀測(cè)值。
已知系統(tǒng)的每一輸出Yi (i = l:p)對(duì)每一輸入變量^(」=l:m)的單位階躍響應(yīng) Bij后,由于觀測(cè)方程是線性方程,則輸出預(yù)測(cè)就可通過(guò)單變量預(yù)測(cè)后疊加得到。當(dāng)考慮Uj 有一個(gè)增量時(shí),對(duì)應(yīng)的輸出Yi在下一個(gè)時(shí)刻的輸出預(yù)測(cè)值就變?yōu)?br>
Y1(R) = Y1(R) +QijAU ^k)
其中, ^Μ表示在k-Ι時(shí)刻的控制輸入保持不變時(shí),下一時(shí)刻的Yi的初始預(yù)測(cè)值。若各輸入U(xiǎn)j均有變化,Uj,則有
V1 (η=V1 (η+Σ^ι/,(η(2)
為了表示方便,令
,α ... alm)f AU1(Zc)^A =a , ...aV P1Pm JaU(L·) =
4
則系統(tǒng)模型(1)的輸出預(yù)測(cè)可以表示為
權(quán)利要求
型為
1.一種基于動(dòng)態(tài)矩陣控制的改進(jìn)粒子濾波算法,包括以下步驟(1)根據(jù)預(yù)先設(shè)定的粒子初始狀態(tài)分布對(duì)粒子進(jìn)行初始化;(2)根據(jù)系統(tǒng)模型對(duì)當(dāng)前時(shí)刻的粒子狀態(tài)進(jìn)行基于DMC的滾動(dòng)優(yōu)化技術(shù)的狀態(tài)重建;(3)計(jì)算每個(gè)粒子對(duì)應(yīng)的權(quán)值和并對(duì)其歸一化;(4)狀態(tài)估計(jì),更新當(dāng)前粒子的狀態(tài);(5)重采樣,從狀態(tài)后驗(yàn)概率密度函數(shù)中重新采樣生成同等數(shù)量的新粒子;(6)根據(jù)新生成的粒子進(jìn)行狀態(tài)更新;(7)若不滿足結(jié)束條件,則轉(zhuǎn)到(2)重新迭代,否則結(jié)束。
2.根據(jù)權(quán)利要求1所述的改進(jìn)粒子濾波算法,其特征在于所述的步驟O)的系統(tǒng)模 式中
3.根據(jù)權(quán)利要求2所述的改進(jìn)粒子濾波算法,其特征在于若系統(tǒng)中無(wú)控制輸入,則步 驟( 構(gòu)建的控制增量400的維數(shù)等于系統(tǒng)模型中具有高觀測(cè)度的狀態(tài)個(gè)數(shù)。
4.根據(jù)權(quán)利要求2所述的改進(jìn)粒子濾波算法,其特征在于若系統(tǒng)中無(wú)控制輸入,則步 驟( 對(duì)于狀態(tài)變量中具有低觀測(cè)度的狀態(tài),增加控制矩陣B實(shí)現(xiàn)對(duì)這些狀態(tài)的控制。
5.根據(jù)權(quán)利要求2所述的改進(jìn)粒子濾波算法,其特征在于若系統(tǒng)中無(wú)控制輸入,假設(shè) Xk的前m個(gè)狀態(tài)具有高觀測(cè)度,第j個(gè)變量X^t具有低觀測(cè)度,則可以通過(guò)如下公式構(gòu)建控 制矩陣B:
全文摘要
本發(fā)明公開(kāi)了一種基于動(dòng)態(tài)矩陣控制算法的改進(jìn)粒子濾波算法,在濾波過(guò)程中,根據(jù)值當(dāng)前時(shí)刻的期望輸出和觀測(cè)方程的輸出的差值,利用DMC的滾動(dòng)優(yōu)化技術(shù)實(shí)時(shí)更新當(dāng)前時(shí)刻的狀態(tài)。由于引入了誤差校正,因而更新后的狀態(tài)更加逼近真實(shí)狀態(tài)。本發(fā)明的改進(jìn)粒子濾波算法通過(guò)誤差校正把粒子遷移到高似然概率區(qū)域,與傳統(tǒng)的改進(jìn)算法不同;可以極大的減少粒子濾波的計(jì)算復(fù)雜性,提高粒子濾波的效率;有效地克服了系統(tǒng)維數(shù)越高,粒子數(shù)量迅速增加的問(wèn)題。本發(fā)明適用于觀測(cè)方程為線性,但狀態(tài)方程任意的系統(tǒng)。
文檔編號(hào)G06F17/00GK102043756SQ201010574320
公開(kāi)日2011年5月4日 申請(qǐng)日期2010年12月6日 優(yōu)先權(quán)日2010年12月6日
發(fā)明者管波, 馬龍華 申請(qǐng)人:浙江大學(xué)