白 睿,任 祝
(1.浙江理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,浙江 杭州 310018;2.浙江理工大學(xué) 信息科學(xué)與工程學(xué)院,浙江 杭州 310018)
無(wú)線網(wǎng)絡(luò)控制系統(tǒng)(Wireless Network Control Systems,WNCS)是一種集成控制系統(tǒng),不同的部件通過(guò)網(wǎng)絡(luò)進(jìn)行通信。該網(wǎng)絡(luò)融合了計(jì)算元素、通信網(wǎng)絡(luò)和控制系統(tǒng),廣泛應(yīng)用于交通設(shè)施、信息通訊、人工智能、航空航天、軍事管理和農(nóng)業(yè)自動(dòng)化等領(lǐng)域,是控制領(lǐng)域的研究熱點(diǎn)之一[1-2]。在無(wú)線網(wǎng)絡(luò)控制系統(tǒng)中,在傳感器、設(shè)備和控制器之間利用無(wú)線網(wǎng)絡(luò)控制系統(tǒng)傳輸數(shù)據(jù)具有較多優(yōu)點(diǎn),例如減少布線、靈活性以及可伸縮性等,但也存在網(wǎng)絡(luò)誘導(dǎo)時(shí)延、時(shí)序錯(cuò)亂、數(shù)據(jù)丟包、選取采樣周期、節(jié)點(diǎn)驅(qū)動(dòng)等問(wèn)題,不僅影響系統(tǒng)的控制性能,還降低了控制系統(tǒng)的穩(wěn)定性。因此,需要構(gòu)造估計(jì)器來(lái)估計(jì)網(wǎng)絡(luò)當(dāng)前的狀態(tài)。
文獻(xiàn)[3]提出了最優(yōu)卡爾曼濾波分散化計(jì)算方法。文獻(xiàn)[4]通過(guò)實(shí)驗(yàn)證明了分布式卡爾曼濾波器與集中式卡爾曼濾波器在數(shù)值上的等價(jià)性。當(dāng)系統(tǒng)資源有限時(shí),文獻(xiàn)[5~6]為傳感器節(jié)點(diǎn)的通信能力和計(jì)算能力之間的權(quán)衡提供了一種優(yōu)化方法。文獻(xiàn)[7]針對(duì)卡爾曼濾波安全狀態(tài)做了性能分析和估計(jì)。文獻(xiàn)[8]研究了卡爾曼濾波的間歇性觀察的執(zhí)行問(wèn)題。文獻(xiàn)[9]研究了網(wǎng)絡(luò)中丟包的卡爾曼濾波,并使用兩個(gè)狀態(tài)馬爾可夫鏈來(lái)描述正常操作條件的數(shù)據(jù)包傳播狀態(tài)。文獻(xiàn)[10]考慮了在分組網(wǎng)絡(luò)過(guò)程中的離散狀態(tài)估計(jì)問(wèn)題。文獻(xiàn)[11]提出將兩種算法與單個(gè)卡爾曼濾波器結(jié)合使用,以此估計(jì)系統(tǒng)狀態(tài)和系統(tǒng)量測(cè)丟失。針對(duì)實(shí)際應(yīng)用中存在的網(wǎng)絡(luò)丟包問(wèn)題,文獻(xiàn)[12~15]研究了線性系統(tǒng)中有連續(xù)丟包和測(cè)量時(shí)延的卡爾曼濾波算法。
在實(shí)際問(wèn)題中,過(guò)程模型預(yù)測(cè)和觀測(cè)模型更新中的誤差不容易利用對(duì)稱(chēng)、良好的高斯分布來(lái)描述。此外,過(guò)程和觀察模型本身在狀態(tài)下可能非線性,甚至非平滑,使傳統(tǒng)卡爾曼濾波在頻率檢測(cè)預(yù)測(cè)方面存在困難。因此,文獻(xiàn)[16~17]提出了擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF),后來(lái)研究者又對(duì)其進(jìn)行了補(bǔ)充研究。但因?yàn)閿U(kuò)展卡爾曼濾波在線性化過(guò)程中舍去了高階項(xiàng),故其對(duì)強(qiáng)非線性系統(tǒng)估計(jì)精度較差。擴(kuò)展卡爾曼濾波必須求解非線性系統(tǒng)的雅克比矩陣,當(dāng)系統(tǒng)模型復(fù)雜時(shí),計(jì)算量大、復(fù)雜且容易出錯(cuò),從而限制了EKF的進(jìn)一步發(fā)展。
為了克服上述擴(kuò)展卡爾曼濾波問(wèn)題,能夠以較高精度和較快計(jì)算速度處理非線性系統(tǒng)的濾波問(wèn)題,文獻(xiàn)[18]根據(jù)確定性采樣的基本思路,基于無(wú)損變換方法提出了無(wú)跡卡爾曼濾波(Unscented Kalman Filter,UKF)算法。無(wú)跡卡爾曼濾波算法并未采用對(duì)非線性函數(shù)進(jìn)行線性化的傳統(tǒng)方法,而是在傳統(tǒng)卡爾曼濾波的框架下利用無(wú)損變換方法對(duì)一步預(yù)測(cè)的均值和誤差協(xié)方差矩陣進(jìn)行非線性傳遞。對(duì)于滿足高斯分布的系統(tǒng),精度可以達(dá)到3階?;诟倪M(jìn)的無(wú)跡卡爾曼濾波,文獻(xiàn)[19]設(shè)計(jì)一種分布式協(xié)同定位方法。文獻(xiàn)[20]基于無(wú)跡卡爾曼濾波研究了通信受限的無(wú)線傳感器網(wǎng)絡(luò)上非線性系統(tǒng)的遠(yuǎn)程狀態(tài)估計(jì)問(wèn)題。文獻(xiàn)[21]考慮了一類(lèi)不滿足高斯分布的非線性離散隨機(jī)系統(tǒng),研究了具有相關(guān)噪聲和隨機(jī)丟包的無(wú)跡卡爾曼濾波算法。
本文研究了一類(lèi)傳感器測(cè)量值隨機(jī)丟失的非線性離散系統(tǒng)的無(wú)跡卡爾曼濾波算法。首先,采用一步測(cè)量作為補(bǔ)償器去代替零輸入對(duì)系統(tǒng)狀態(tài)進(jìn)行估計(jì);其次,選擇兩次Sigma點(diǎn)集進(jìn)行計(jì)算,提高了無(wú)跡卡爾曼濾波的估計(jì)精度;最后,給出了相關(guān)算例驗(yàn)證本文所提濾波算法的有效性和可行性,同時(shí)比較分析了其在不同丟包率下的系統(tǒng)估計(jì)性能。
經(jīng)典無(wú)跡卡爾曼濾波算法打破了對(duì)非線性函數(shù)進(jìn)行線性化的傳統(tǒng)做法,在傳統(tǒng)卡爾曼濾波的框架下利用無(wú)損變換方法對(duì)一步測(cè)量的均值和誤差協(xié)方差矩陣進(jìn)行非線性傳遞。其動(dòng)態(tài)系統(tǒng)模型為
xk+1=fk(xk)+wk
(1)
zk=h(xk)+vk
(2)
其中,xk+1∈n是系統(tǒng)在k+1時(shí)刻的n維狀態(tài)向量;zk∈n是傳感器在k時(shí)刻的m維觀測(cè)向量輸出;f(·)和h(·)分別表示系統(tǒng)的非線性狀態(tài)轉(zhuǎn)移函和觀測(cè)函數(shù);過(guò)程噪聲wk∈n和觀測(cè)噪聲vk∈n是不相關(guān)的零均值的高斯噪聲向量,表示實(shí)數(shù)的集合;n表示n維歐幾里德空間。
(3)
式中,E[·]表示隨機(jī)變量的數(shù)學(xué)期望;協(xié)方差分別為Qk和Rk;δk-l是Kronecker函數(shù),當(dāng)k=l時(shí)取值為1,反之取值為0。滿足
(4)
無(wú)跡卡爾曼濾波估計(jì)利用無(wú)損變換方法對(duì)一步測(cè)量的均值和誤差協(xié)方差矩陣進(jìn)行非線性傳遞。經(jīng)典無(wú)跡卡爾曼濾波有以下幾種形式。
(5)
以上為在系統(tǒng)理想情況下系統(tǒng)模型以及無(wú)跡卡爾曼濾波器。當(dāng)數(shù)據(jù)正常傳輸時(shí),無(wú)跡卡爾曼濾波估計(jì)器才能安全運(yùn)行,在發(fā)生傳感器測(cè)量值丟失時(shí),無(wú)跡卡爾曼估計(jì)器無(wú)法得到正確的系統(tǒng)狀態(tài)估計(jì)。
現(xiàn)有考慮的信息物理系統(tǒng)由一個(gè)非線性系統(tǒng)組成,當(dāng)出現(xiàn)丟包時(shí),系統(tǒng)模型為
xk+1=fk(xk)+wk
zk=h(xk)+vk
(6)
其中,xk+1∈n為k+1時(shí)刻的狀態(tài)向量;zk∈n為k時(shí)刻的觀測(cè)向量輸出;yk∈n是k時(shí)刻來(lái)自濾波器的實(shí)際測(cè)量向量;f(·)和h(·)分別表示系統(tǒng)的非線性狀態(tài)轉(zhuǎn)移函數(shù)和觀測(cè)函數(shù);過(guò)程噪聲wk∈n和觀測(cè)噪聲vk∈n是不相關(guān)的零均值的高斯噪聲向量,協(xié)方差分別為Qk和Rk;λk∈服從伯努利分布的獨(dú)立隨機(jī)變量,表示k時(shí)刻是否發(fā)生丟包。
(7)
(8)
(9)
由于環(huán)境變化和通信網(wǎng)絡(luò)的不可靠性等因素,通信網(wǎng)絡(luò)中普遍存在相關(guān)噪聲和數(shù)據(jù)包丟失的現(xiàn)象。因此,本文考慮具有相關(guān)噪聲和丟包的非線性離散隨機(jī)系統(tǒng)。為了進(jìn)一步提高系統(tǒng)濾波估計(jì)的精度,與不考慮噪聲相關(guān)性的已有結(jié)果相比,本文提出了一步測(cè)量作為補(bǔ)償器去代替零輸入并設(shè)計(jì)了最優(yōu)一步測(cè)量無(wú)跡卡爾曼濾波估計(jì)器。
濾波算法步驟如下:
(10)
步驟2計(jì)算系統(tǒng)的一步預(yù)測(cè)協(xié)方差
(11)
(12)
步驟3基于系統(tǒng)一步測(cè)量值做第二次無(wú)跡變換,得到新的Sigma點(diǎn)集為
(13)
步驟4對(duì)新Sigma點(diǎn)集作觀測(cè)非線性變換,得到
(14)
(15)
步驟5計(jì)算系統(tǒng)預(yù)測(cè)階段的更新協(xié)方差矩陣Pyk+1|kyk+1|k以及互相關(guān)矩陣Pxk|kyk+1|k
(16)
(17)
步驟6計(jì)算更新后的增益矩陣和估計(jì)和協(xié)方差矩陣,如下所示。
Kk+1=λPxk+1|kyk+1|k(λPyk+1|kyk+1|k+λRk+1)-1
(18)
(19)
(20)
為了檢測(cè)本文所提最優(yōu)補(bǔ)償算法的性能,對(duì)發(fā)生丟包時(shí)最優(yōu)一步測(cè)量無(wú)跡卡爾曼估計(jì)器的狀態(tài)估計(jì)算法進(jìn)行研究分析,無(wú)跡卡爾曼濾波器在丟包下進(jìn)行去噪聲處理得到的預(yù)測(cè)更新算法。
2.3.1 預(yù)測(cè)過(guò)程
基于式(6)~式(11)可以推導(dǎo)出狀態(tài)估計(jì)器的先驗(yàn)估計(jì)值、先驗(yàn)誤差和先驗(yàn)誤差協(xié)方差分別如式(21)、式(22)、式(23)所示。
(21)
(22)
(23)
(24)
狀態(tài)估計(jì)器在丟包下計(jì)算估計(jì)值時(shí),先驗(yàn)估計(jì)值受到上一時(shí)刻后驗(yàn)估計(jì)值的影響,先驗(yàn)誤差協(xié)方差受到上一時(shí)刻后驗(yàn)誤差協(xié)方差影響,故在此基礎(chǔ)上進(jìn)行更新過(guò)程。
2.3.2 更新過(guò)程
根據(jù)上述預(yù)測(cè)得到丟包時(shí)的先驗(yàn)估計(jì)值和先驗(yàn)誤差協(xié)方差矩陣,可以得到攻擊下卡爾曼濾波器的最優(yōu)增益
Kk+1|k=
Rk+1)-1
(25)
依據(jù)攻擊下的最優(yōu)增益更新當(dāng)前k時(shí)刻的后驗(yàn)估計(jì)值、后驗(yàn)誤差、后驗(yàn)誤差協(xié)方差,如(26)、式(27)、式(28)所示。
(26)
(27)
(28)
對(duì)比式(3)可知,在發(fā)生丟包時(shí)與系統(tǒng)安全穩(wěn)定運(yùn)行時(shí)后驗(yàn)誤差協(xié)方差的區(qū)別。
通過(guò)舉例方式對(duì)上述數(shù)據(jù)補(bǔ)償進(jìn)行說(shuō)明,表1為量測(cè)數(shù)據(jù)zk的傳輸情況以及對(duì)應(yīng)時(shí)刻數(shù)據(jù)補(bǔ)償后的yk。
表1 數(shù)據(jù)傳輸圖Table 1. Data transmission diagram
由表1可以看出,在系統(tǒng)工作k∈[1,7]時(shí)間段內(nèi),測(cè)量值z(mì)1、z3、z6、z7成功傳輸,而測(cè)量值z(mì)2、z4、z5丟失,其中z4、z5連續(xù)出現(xiàn)傳感器測(cè)量值丟失。在實(shí)際情況中,由于系統(tǒng)估計(jì)存在一定估計(jì)誤差,隨著丟包次數(shù)的累加,其誤差也將多次累計(jì)。
為了驗(yàn)證理論的準(zhǔn)確性以及有效性,仿真實(shí)驗(yàn)將發(fā)生丟包的估計(jì)值與未受到任何影響的真實(shí)值進(jìn)行比較,系統(tǒng)選擇的具有非線性系統(tǒng)狀態(tài)方程構(gòu)建仿真模型如下所示。
狀態(tài)函數(shù)為
(29)
觀測(cè)函數(shù)為
zk=x2,k-e-5x2,kx3,k+vk
(30)
其中,e為歐拉數(shù);狀態(tài)函數(shù)噪聲為wk,其協(xié)方差Q=0.01I3;測(cè)量方程噪聲為vk,其協(xié)方差R=0.01I1。
給出如下初始值
(31)
圖1 UKF估計(jì)值與真實(shí)值的對(duì)比Figure 1. Comparison between estimated value and real value of UKF
圖2 丟包發(fā)生時(shí)刻Figusre 2. Time of packet loss
圖3 UKF估計(jì)誤差Figure 3. Estimation error of UKF
圖4 x1,k和軌跡Figure 4. Trajectories of x1,k and
圖5 x2,k和軌跡Figure 5. Trajectories of x2,k and
圖6 x3,k和軌跡Figure 6. Trajectories of x3,k and
假設(shè)在固定窗口中,傳感器進(jìn)行隨機(jī)丟包,模擬從k=0到k=50結(jié)束,選取的系統(tǒng)丟包率α=15%。由圖1可以看出,隨著系統(tǒng)不斷運(yùn)行,在該算法機(jī)制下估計(jì)值與真實(shí)值基本一致。由圖2和圖3中可以看出,估計(jì)誤差偏差多為系統(tǒng)丟包處,有丟包時(shí)誤差增大,當(dāng)經(jīng)過(guò)算法補(bǔ)償后誤差又迅速回落。通過(guò)對(duì)比系統(tǒng)狀態(tài)和UKF估計(jì)值可以看出,經(jīng)過(guò)算法補(bǔ)償后的濾波能夠較好地估計(jì)系統(tǒng)。
采用不同數(shù)據(jù)丟失率,即α為25%和35%時(shí)分析比較其對(duì)濾波器性能的影響。仿真結(jié)果如圖7~圖9所示。
圖8 x2,k軌跡對(duì)比Figure 8.Trajectory comparison of x2,k
圖9 x3,k的軌跡對(duì)比Figure 9.Trajectory comparison of x3,k
從圖7~圖9可以看出,不同的數(shù)據(jù)丟失率對(duì)濾波算法的準(zhǔn)確性具有一定影響。隨著隨機(jī)變量α值增大,系統(tǒng)發(fā)生傳感器測(cè)量值隨機(jī)數(shù)據(jù)包丟失的概率變大,系統(tǒng)濾波器的估計(jì)性能也會(huì)變差,同時(shí)系統(tǒng)穩(wěn)定性變差。
本文針對(duì)傳感器測(cè)量值隨機(jī)丟包的無(wú)跡卡爾曼狀態(tài)估計(jì)問(wèn)題,分析了在發(fā)生隨機(jī)丟包時(shí)對(duì)濾波估計(jì)性能測(cè)量的影響。將收到的數(shù)據(jù)進(jìn)行信息處理,運(yùn)用算法補(bǔ)償?shù)玫阶顑?yōu)值,并給出了估計(jì)誤差的具體計(jì)算方法,進(jìn)一步分析了數(shù)據(jù)包丟失對(duì)穩(wěn)定性的影響。利用MATLAB仿真軟件,通過(guò)仿真實(shí)驗(yàn)結(jié)果總結(jié)出以下結(jié)論:1)經(jīng)過(guò)算法補(bǔ)償后的濾波能夠較好地估計(jì)系統(tǒng);2)硬件要求更高下的低丟包率對(duì)估計(jì)有更低的干擾。這一結(jié)論對(duì)于未來(lái)提升連續(xù)丟包下的系統(tǒng)性能具有一定的意義。
本文所提濾波算法雖然可以提高濾波器的性能,增加估計(jì)的準(zhǔn)確性,但是也會(huì)增加濾波器的復(fù)雜度,增加計(jì)算量,故該算法還有優(yōu)化空間。