左益宏,王遠亮,何紅麗,葛泉波
(1.中國飛行試驗研究院,西安,710089; 2.上海海事大學物流工程學院,上海,200135;3.同濟大學電子與信息工程學院,上海,201800)
航空飛行器在經過設計制造之后,以及投入實際應用之前,必須經過嚴格而全面的性能測試,其中的飛行器測試及數據處理對于飛行試驗的順利完成和促進其技術進步起著非常重要的作用[1-2]。
飛行器從設計到生產,需經大量實驗,但最權威、最全面的試驗是全程飛行試驗,飛行器設計、改進和定型需要試驗所得的軌跡加以論證[3]。飛行試驗是高風險試驗過程,飛行試驗過程中,需對飛行器軌跡行全程測量與監控,測量設備主要包括:雷達、光電經緯儀、高速數字攝像機和機載慣性導航。通過對所獲取的數據進行濾波、轉換等處理獲得可靠的高精度的目標運動參數估計,對飛行器的性能等進行檢測,將其作為參考來幫助指揮員進行決策,為光學跟蹤測量系統提供具體的位置引導[4]。
在過去的40多年,Kalman濾波器已成為一種在信號處理、通訊和現代控制領域最基本最重要的工具[5-7]。按照均方誤差準則,Kalman濾波器可以通過帶有噪聲的測量值來對動態系統中的可觀測狀態值進行估計。但是在目前飛行測試數據分析中,多數為無先驗知識的情況,此時自適應Kalman濾波器可以針對周圍環境的變化來進行自學習適應,不斷逼近Kalman濾波器的最優濾波性能[8]。
在實際的測試系統中,由于受測試手段、測試環境等因素的限制,測量中除包括噪聲外,還可能包含異常值。這種異常值會降低數據處理算法的性能,嚴重時還會導致算法發散,使得估計誤差遠大于測量誤差造成的影響[9]。文獻[10]提出一種適用于剔除斑點型野值的Kalman濾波算法,其主要原理是通過M估計的加權矩陣調整對應的信息,但是這種方法無法根據濾波收斂性調節增益矩陣的大小,所以不能很好的剔除孤立型野值點[10]。文獻[11]提出了一種模糊抗野值集合粒子濾波方法,該方法能從狀態后驗分布抽取粒子的改進粒子濾波算法,并根據模糊理論為此改進算法設計了模糊抗野值功能,從而可以有效檢測出全部野值點,但是卻無法保證較好的濾波精度[11]。文獻[12]提出一種融合Kalman和小波的自適應抗野值方法,其主要通過修正增益或狀態的一步預測值抑制野值對濾波精度的影響。該算法在傳統Kalman濾波的基礎上進行改進,計算簡單,能夠有效去除野值較小的點,但是對于較為突出的野值點,剔除效果不是很好[12]。
針對以上不足,本文提出了一種以多種優化算法為基礎的具有容錯性能的高精度Kalman濾波算法,在無跡Kalman濾波器的基礎上引入抗野值算法,以有效剔除測量過程中出現的孤立型以及斑點型異常點,同時引入了基于改進遺傳算法的BP神經網絡,以有效提高其濾波精度。
對于空間運動體飛機,可采用狀態空間法描述三維空間的運動學方程,具體表示如下[13]:

(1)

據光電經緯儀的工作原理,測量一個運動體應該包括如下3個量:R表示光電經緯儀到被測目標的徑向距離;A表示光電經緯儀到被測目標的方位角;E表示光電經緯儀到被測目標的仰角。此時運動體的三維空間狀態可以得到如下的數學關系[13]:
(2)
Zk+1是k+1時刻的量測向量。其中:
(3)
式中:x,y,z為空間的3個方向上的標量值。
由于存在非線性特點,因此要對量測方程進行泰勒展開,將其轉化為Kalman濾波器能直接應用的狀態空間結構。此時,可得到如下的量測矩陣:
(4)
式中:R,A,E的值可用式(3)進行計算。
UKF辨識算法具體步驟參照文獻[14],針對其存在預測模型參數要求具有先驗已知性,在工程實踐中難以獲得準確參數的問題,提出一種改進型BP神經網絡算法,通過其自適應能力來補償標準UKF的估計值,降低模型和濾波參數誤差對于最優估計值所產生的影響,提高最優估計精度。
由于傳統的BP神經網絡收斂速度較慢并且網絡精度不高,本文利用改進的遺傳算法尋找全局最優解對BP神經網絡的初始權值以及閾值進行優化,以提高網絡精度和收斂速度。
參照文獻[15]中的遺傳算法優化BP神經網絡算法設計思路,對網絡中的初始權值以及閾值進行優化,所確定的適應度函數為[15]:
(13)
式中:Ti代表第i次訓練樣本的實際輸出值;Yi則代表第i次訓練樣本的期望輸出值。
已知遺傳算法優化BP算法時,通常選擇輪盤賭法,由于在種群進化時,一般情況下,會出現某些適應度大小過于異常的個體,這些個體極有可能決定選擇過程,由此出現降低種群多樣性的情況[16-17]。因而,這里在文獻[15]中所使用的GA算法的基礎上進行改進,提出一種新的輪盤賭選擇方法,即令每次所選個體從總選擇序列中剔除,不再參加下一步選擇過程。其具體選擇步驟為:
Step1將個體按照其適應度值的大小排列,將全部代入求得的適應度值進行累加,將其和記作S。
Step2生成隨機數M,M∈(0,S)。
Step3從第一個個體的適應度函數值開始,與后面個體得到的適應度函數值依次進行求和,如果累加值超過M則停止。最后一個將其適應度函數值累加進去的個體就是被選出的父代。
Step4將這些被選出的個體單獨提出來,再重復Step2和3,直至選出足夠數量的父代。
根據改進輪盤賭選擇算法步驟,選擇N/2個個體擔任父代。這樣有效避免了那些適應度值異常的個體被多次選中,從而豐富了種群的多樣性,同時改善了可能會發生的算法收斂于局部最優的情況。
最終所設計的基于改進遺傳算法的BP神經網絡流程如圖1所示[15,18-19]。

圖1 基于改進遺傳算法的BP神經網絡流程圖
下文將通過優化后的BP神經網絡算法來補償標準UKF濾波器的估計值,以提高最優估計精度。
參照文獻[20]中BP神經網絡改進擴展卡爾曼濾波(EKF)算法思路,本文利用改進BP神經網絡優化無跡卡爾曼濾波(UKF)算法,其原理為:根據輸入樣本來訓練BP神經網絡,保存經過訓練完成的權值及閾值。當UKF開始軌跡參數估計時,令影響軌跡誤差的參數作為改進BP網絡的輸入,從而對全局誤差進行調控,以此修正UKF輸出的結果,進而提高軌跡測量精度。具體訓練步驟如下[20]:


Step3學習UKF預測和實際誤差的映射關系;
Step4輸出濾波值與實際值的誤差Bperr。


圖2 基于GA-BPNN的UKF示意圖
(14)

上文所提到的改進UKF算法能夠有效提高濾波精度,但對于數據過失誤差,該算法缺乏抗擾能力,并且當測量設備突然產生故障時,其容錯能力也比較差。為解決上述問題,提出一種濾波容錯的辨識算法。該算法通過上文的改進UKF算法與野值剔除[21-22]進行融合,判斷新息序列與處理野值點,對濾波增益進行實時調整以及對野值進行計算,對于存在斑點型異值或者孤立型異值的動態數據流,采用此技術處理進行剔除和修復。
令新息[22]為:
(15)
當濾波器工作穩定時,新息的標準偏差為σ,且:
(16)
可以給出一種定義和辨識方法判斷觀測值Zk+1的各個分量是否為野值。辨識公式為[21]:
|(ek+1)i|≤Cσi,i
(17)
式中:(i,i)表示為在新息標準偏差對角線上的第i個元素,(ek+1)i表示為ek+1的第i個分量,C表示為常量,其具體取值根據實際情況確定。
如果以上辨識公式成立,那么(Zk+1)i就為正常觀測量。如果不滿足辨識公式,那么(Zk+1)i則為野值,(Zk+1)i表示Zk+1的第i個分量。在改進UKF算法中,由于野值點不單單只存在一種類型,所以需要對其進行區分并具有針對性的去除。

對于斑點型野值,剔除步驟如下[23]:

Step2將Zk+1經辨識公式辨別其是否為異常值。
Step3重復Step2,保存每次異常值出現的點序列k,繼續辨識,同時記錄異常值的數量。
Step4使用預測值代替異常值。
Step5繼續濾波直至結束。
將兩種異常點剔除方式相結合,可以得出抗野值的改進無跡Kalman濾波算法[21,25],流程見圖3。

圖3 抗野值的改進無跡Kalman算法流程圖
為了驗證所提出GA-BPNN-UKF算法的濾波能力,接下來通過仿真對文獻[20]中的BPNN-EKF濾波方法和本文在此基礎上改進得到的GA-BPNN-UKF濾波方法的處理效果進行對比。
假設目標相對光點經緯儀作勻加速運動,初始位置(x,y,z)為(300,346,200)m,速度為(40,20,10)m/s,加速度為(1.3,1.7,1.3)m/s2,運行間隔1 s,總時長60 s。把直角坐標系下的x、y、z坐標轉換為光電經緯儀極坐標下的激光距離R,并將激光距離R添加均值為0、方差為10的高斯白噪聲,見圖4。

圖4 估計結果對比圖
兩種算法的偏差結果如圖5所示,可以看出,改進后算法的估計結果從整體上來說更加準確。

圖5 估計偏差對比
為了衡量誤差的整體水平,進行多次仿真實驗結果見表1,每次實驗誤差的平均值定義為:

表1 多次試驗平均值
(20)
其中:
RMS(k)=|Xestimate-Xreal|
(21)
由此可見,在相同的條件下,GA-BPNN-UKF相比BPNN-EKF具有更高的濾波精度。對RMSE的計算則更有利地證明了改進后算法的優越性。
為同時驗證加入剔除野值功能算法后的濾波精度和抗野值能力,再對激光距離R隨機添加一些野值點,通過仿真對經典UKF濾波、文獻[20]中的BPNN~EKF濾波方法和本文提出的基于GA-BPNN抗野值UKF濾波方法的處理效果進行對比,見圖6~7。

圖6 不同濾波效果對比圖

圖7 算法濾波精度對比
從兩幅圖處理結果可以明顯看出,經典UKF算法和文獻[20]中的BPNN-EKF算法的估計結果均無法有效剔除野值,且估計誤差較大,但是本文給出的基于GA-BPNN的抗野值無跡Kalman濾波方法對于去除野值有較好的效果,同時精度更高,與真實值差異更小,濾波誤差明顯滿足要求。
為進一步驗證本文算法的先進性、有效性,結合實際的測量數據,將現有文獻[12]中提出的一種融合Kalman和小波的自適應抗野值算法,在實際應用中與本文所提出的算法進行對比。這些數據是在飛行器飛行試驗中由光電經緯儀等測量設備得到,所表示的是光電經緯儀和被量測目標之間的距離R、方位角A和仰角E,在實際的測試系統中,由于受測試手段、測試環境等因素的限制,測量過程中會受到野值的嚴重干擾,使得測量誤差非常大。實際測量得到的數據可以直觀表示為圖8。

圖8 光電經緯儀站徑向實測數據
分析上述曲線圖,可見在徑向實測數據中出現不符合實際情況的異常點。數據處理需要將這些異常點剔除,運用兩種濾波算法進行處理的結果見圖9~11。

圖9 徑向距離不同算法濾波后數據對比圖

圖10 方位角不同算法濾波后數據對比圖

圖11 仰角不同算法濾波后數據對比圖
為了更直觀地對比以上兩種不同算法濾波后的抗野值能力優劣情況和濾波后數據的平滑性,這里提出一種“平均梯度”得形式,即將濾波后相鄰數據的誤差絕對值求和再求平均值。具體算法公式為:
(18)

計算后的結果如表2所示,算法1表示為融合Kalman和小波的自適應抗野值算法,算法2表示為基于GA-BPNN的抗野值無跡Kalman濾波算法。

表2 平均梯度對比
由圖9~11和表2可見,文獻[12]所用的算法相較本文所提出的基于GA-BPNN的抗野值UKF算法剔除異常點的能力較弱,本文算法能夠有效去除野值,使濾波后的數據更具可靠性。
改進后的Kalman濾波在實時數據處理中算法遞推且所需保存數據量不大,是實時處理的理想選擇,在航跡測量設備光電經緯儀數據處理中得到了成功應用。Kalman濾波算法表現出了狀態物理意義明確、算法實時性好、便于自適應改進等優異的特性,在實時和事后信號處理中具有不可替代的作用以及廣闊的應用前景。