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