李世寶 陳瑞祥 劉建航 陳海華 丁淑妍 龔琛
摘要:增益修改的卡爾曼濾波(MGEKF)算法在實(shí)際應(yīng)用時(shí),一般使用帶有誤差的測(cè)量值代替真實(shí)值進(jìn)行增益修正計(jì)算,導(dǎo)致修正結(jié)果也被誤差污染。針對(duì)這一問(wèn)題,提出一種基于反向傳播神經(jīng)網(wǎng)絡(luò)(BPNN)改進(jìn)的MGEKF算法,該算法使用訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)代替MGEKF的增益修正函數(shù)。該算法在網(wǎng)絡(luò)訓(xùn)練階段,以實(shí)際測(cè)量值作為神經(jīng)網(wǎng)絡(luò)的輸入,真實(shí)值修正后的結(jié)果作為訓(xùn)練目標(biāo);在實(shí)際應(yīng)用中,使用網(wǎng)絡(luò)的輸出修正卡爾曼增益。針對(duì)移動(dòng)單站只測(cè)向目標(biāo)定位問(wèn)題進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:該算法與擴(kuò)展卡爾曼濾波(EKF)、MGEKF、平滑增益修改的卡爾曼濾波(sMGEKF)算法相比:定位精度至少提升10%,并且有更強(qiáng)的穩(wěn)定性。
關(guān)鍵詞:增益修改卡爾曼濾波;反向傳播神經(jīng)網(wǎng)絡(luò);只測(cè)向目標(biāo)定位
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)志碼:A
Abstract:In practical application, Modified Gain Extended Kalman Filter (MGEKF) algorithm generally uses erroneous measured values instead of the real values for calculation, so the modified results also contain errors. To solve this problem, an improved MGEKF algorithm based on Back Propagation Neural Network (BPNN), termed BPNNMGEKF algorithm, was proposed in this paper. At BPNN training time, measured values were used as the input, and modified results by true values as the output. BPNNMGEKF was applied to single moving station bearingonly position experiment. The experimental results shows that, BPNNMGEKF improves the positioning accuracy of more than 10% compared to extended Kalman filter, MGEKF and smoothing modified gain extended Kalman filter algorithm, and it is more stable.
Key words:Modified Gain Extended Kalman Filter (MGEKF); Back Propagation Neural Network (BPNN); bearingonly target positioning
0 引言
移動(dòng)單站目標(biāo)定位以其設(shè)備簡(jiǎn)單、機(jī)動(dòng)性強(qiáng)、易于實(shí)現(xiàn)等特點(diǎn),越來(lái)越多地應(yīng)用于軍事、民事領(lǐng)域。近年來(lái)城市中無(wú)線干擾源越來(lái)越猖獗,給人們生活帶來(lái)嚴(yán)重影響,車載移動(dòng)單站只測(cè)向(BearingOnly,BO)目標(biāo)定位是城市中查找干擾源的重要手段,而車載移動(dòng)站與機(jī)載移動(dòng)站以及高架固定站相比,它高度很低,不容易接收到直達(dá)波(Line Of Sight,LOS),另外復(fù)雜的城市環(huán)境更加劇了這種情況的發(fā)生。除了提高測(cè)向設(shè)備的精度還需要一個(gè)可靠的、性能優(yōu)越的濾波算法[1-2]。
由于BO是一個(gè)非線性的問(wèn)題,為它設(shè)計(jì)一個(gè)濾波方法十分困難,為了簡(jiǎn)化計(jì)算往往將線性濾波器改造后應(yīng)用于非線性問(wèn)題,其中擴(kuò)展卡爾曼濾波(Extended Kalman Filter,EKF)算法就是應(yīng)用最廣的一類。EKF要求非線性問(wèn)題只取泰勒展開(kāi)的第一項(xiàng),舍棄高階項(xiàng)進(jìn)行線性化,然而舍棄高階項(xiàng)帶來(lái)的偏差會(huì)顯著降低算法的穩(wěn)定性。為減小這個(gè)影響,Song等[3]提出了增益修改的擴(kuò)展卡爾曼濾波(Modified Gain Extended Kalman Filter,MGEKF)算法,該算法使用一個(gè)修正的卡爾曼增益代替原始的增益,在后來(lái)的應(yīng)用中被證實(shí)可以很好地提高EKF的性能。MGEKF在計(jì)算新的增益時(shí)需要真實(shí)的角度值參與運(yùn)算,但是真實(shí)值是無(wú)法獲取的,所以都是使用測(cè)量值代替真實(shí)值進(jìn)行計(jì)算。然而測(cè)量值含有誤差,所以計(jì)算結(jié)果也會(huì)被這個(gè)誤差污染,出現(xiàn)較大偏差。針對(duì)這個(gè)問(wèn)題本文提出一種基于反向傳播神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network,BPNN)改進(jìn)的MGEKF算法——BPNNMGEKF (Improved MGEKF Based on BPNN)。利用神經(jīng)網(wǎng)絡(luò)可以擬合任何相關(guān)關(guān)系的特性,來(lái)擬合實(shí)際測(cè)量值、誤差方差(假設(shè)誤差服從0均值高斯分布)和使用真實(shí)值修正的卡爾曼增益之間的關(guān)系,將這個(gè)網(wǎng)絡(luò)替代MGEKF的修正函數(shù),使得修正結(jié)果更接近于使用真實(shí)值修正的結(jié)果,提高算法的精度和穩(wěn)定性。
1 相關(guān)研究
只測(cè)向定位算法是無(wú)源測(cè)向的一種,通過(guò)探測(cè)目標(biāo)方向來(lái)確定目標(biāo)位置,這是一個(gè)典型的非線性狀態(tài)估計(jì)問(wèn)題[4-5]。為了簡(jiǎn)化問(wèn)題,往往將非線性問(wèn)題線性化利用線性濾波器進(jìn)行處理,其中典型的應(yīng)用就是EKF[6]。從KEF引入測(cè)向定位問(wèn)題后,因?yàn)樗膬?yōu)良性能迅速成為了一個(gè)熱門的研究方向。然而經(jīng)典的EKF存在一個(gè)致命的問(wèn)題,在線性化時(shí)舍棄了泰勒展開(kāi)的高次項(xiàng),舍棄的高階項(xiàng)帶來(lái)了很大的偏差,這個(gè)偏差往往導(dǎo)致濾波發(fā)散,為解決這個(gè)問(wèn)題,文獻(xiàn)[3]提出了增益修改的卡爾曼濾波算法算法,該算法的基本思想是:如果非線性函數(shù)是可以修正的也就是非線性函數(shù)可以改寫成狀態(tài)向量的線性形式,那么就可以用真實(shí)值對(duì)卡爾曼濾波的增益進(jìn)行修正。后來(lái)文獻(xiàn)[7]使用更為簡(jiǎn)潔的方法驗(yàn)證了只測(cè)角條件下的MGEKF濾波方程,并經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證MGEKF的正確性和有效性。另外針對(duì)EKF這個(gè)問(wèn)題也有其他的一些改進(jìn)算法,比如文獻(xiàn)[8]提出的粒子濾波算法(Particle Filter,PF)通過(guò)對(duì)非線性問(wèn)題的等概率取樣,獲取大量的隨機(jī)點(diǎn)稱之為粒子。理論上如果粒子選擇合理可以得到十分精確的結(jié)果,然而合理的采樣是一個(gè)非常困難的問(wèn)題,并且大量的粒子參與運(yùn)算會(huì)帶來(lái)很大的運(yùn)算量。文獻(xiàn)[9]提出的UKF(Unscented Kalman filter,UKF)算法可以看作PF的改進(jìn),通過(guò)精心地選取少量的點(diǎn)代替PF中大量的粒子,同樣可以得到精確的后驗(yàn)概率,通常UKF可以近似到二階泰勒展開(kāi)。
文獻(xiàn)[8-9]提出的算法雖然也能取得了很好的效果,但是都不如MGEKF計(jì)算簡(jiǎn)單、實(shí)用性強(qiáng),因此MGEKF得到了廣泛的應(yīng)用,然而MGEKF仍然存在很多的問(wèn)題。針對(duì)它的問(wèn)題,也有很多的改進(jìn)算法,如文獻(xiàn)[10]提出的平滑MGEKF(smoothing Modified Gain EKF,sMGEKF)就是將一段時(shí)間內(nèi)的測(cè)量值取RTS平滑(RauchTungStriebel smoothing)作為增益修改方程的輸入,減小測(cè)量誤差帶來(lái)的影響。另外MGEKF在迭代過(guò)程中和EKF一樣需要計(jì)算非線性方程的雅可比(Jacobians)行列式以及測(cè)量方程,計(jì)算量很大。文獻(xiàn)[11]依據(jù)迭代擴(kuò)展卡爾曼濾波(Iterated Extended Kalman Filter,IEKF)算法的思想提出迭代MGEKF(Iterated MGEKF,IMGEKF),以最大后驗(yàn)概率代替近似條件平均,不必計(jì)算雅可比行列式,提高運(yùn)算效率。但是所有使用MGEKF思想的算法,進(jìn)行增益修改時(shí)都需要真實(shí)的值進(jìn)行計(jì)算,然而真實(shí)值是不能獲取的,實(shí)際應(yīng)用中就以測(cè)量值代替真實(shí)值進(jìn)行計(jì)算,由于測(cè)量值是存在測(cè)量誤差的,這個(gè)誤差也傳遞給了修正后的卡爾曼增益,當(dāng)測(cè)量值存在較大誤差時(shí)會(huì)嚴(yán)重影響算法的性能。文獻(xiàn)[12-13]指出BPNN有著擬合任意相關(guān)關(guān)系的特性,實(shí)際測(cè)量值、測(cè)量誤差方差和使用真實(shí)值修正的卡爾曼增益顯然存在某種相關(guān)關(guān)系,所以本文提出一種以MGEKF為框架,使用BPNN網(wǎng)絡(luò)代替MGEKF增益修正函數(shù)的改進(jìn)算法算法BPNNMGEKF,用BPNN擬合實(shí)際測(cè)量值和真實(shí)修正值的非線性關(guān)系,通過(guò)輸入測(cè)量值得到真實(shí)的增益修正結(jié)果。下面將對(duì)BPNNMGEKF算法的設(shè)計(jì)進(jìn)行詳細(xì)介紹。
2 BPNNMGEKF的算法設(shè)計(jì)
BPNNMGEKF算法主要分為兩步:BPNN訓(xùn)練階段和BPNNMGEKF迭代定位階段。在網(wǎng)絡(luò)訓(xùn)練階段,獲取大量的實(shí)驗(yàn)數(shù)據(jù),計(jì)算出真實(shí)的目標(biāo)角度值,將真實(shí)值代入MGEKF的增益修改函數(shù)計(jì)算得到真實(shí)的增益修正值g,然后以實(shí)際測(cè)量值、誤差方差作為BPNN的輸入,以g作為訓(xùn)練目標(biāo)進(jìn)行網(wǎng)絡(luò)訓(xùn)練。訓(xùn)練結(jié)束后,該網(wǎng)絡(luò)就能表示測(cè)量值、誤差方差和g之間的相關(guān)關(guān)系。在迭代定位階段,仍然使用MGEKF的框架,只是將BPNN網(wǎng)絡(luò)的輸出作為增益修正結(jié)果。下面將對(duì)BPNNMGEKF算法進(jìn)行詳細(xì)說(shuō)明。
2.2 BPNN的設(shè)計(jì)
2.2.1 BPNN的層數(shù)選擇
Kolmogorov證明通過(guò)三層BP神經(jīng)網(wǎng)絡(luò)可以近似任何非線性函數(shù)[14],另外BPNN隱含層的轉(zhuǎn)換函數(shù)(Transfer Function)一般選用Sigmoid函數(shù), 所以可以構(gòu)建一個(gè)三層的、以Sigmoid函數(shù)作為隱含層轉(zhuǎn)換函數(shù)的BP神經(jīng)網(wǎng)絡(luò)來(lái)擬測(cè)量值和增益修正值的相關(guān)關(guān)系。
2.2.2 網(wǎng)絡(luò)輸入數(shù)量和輸出數(shù)量
BPNN的輸入數(shù)量由輸入向量的維數(shù)決定。通過(guò)式(8)和2.1節(jié)的分析可以得出BPNN的輸入向量為M=[i,i,i,σ],其中i表示實(shí)際測(cè)量值,(i,i)表示i時(shí)刻的目標(biāo)估計(jì)位置,σ表示測(cè)量誤差方差(假設(shè)測(cè)量誤差服從0均值的高斯分布);輸出向量g=[g0,g1],則BPNN的結(jié)構(gòu)示意圖如2所示。
2.2.3 隱含層節(jié)點(diǎn)的數(shù)量
隱含層節(jié)點(diǎn)的數(shù)量是一個(gè)非常重要的參數(shù),如果選擇過(guò)大,會(huì)導(dǎo)致學(xué)習(xí)結(jié)果收斂于局部最小值點(diǎn)或者使網(wǎng)絡(luò)結(jié)構(gòu)變得十分復(fù)雜;如果選擇過(guò)小則會(huì)影響擬合性能。由于沒(méi)有好的理論來(lái)指導(dǎo)隱含層節(jié)點(diǎn)數(shù)量的選取,所以最常用的就是實(shí)驗(yàn)法:選擇不同的節(jié)點(diǎn)數(shù)量訓(xùn)練網(wǎng)絡(luò),比較它們學(xué)習(xí)結(jié)果,選取最優(yōu)的隱含層數(shù)量。通過(guò)實(shí)驗(yàn)驗(yàn)證,BPNNMGEKF選取隱含層節(jié)點(diǎn)數(shù)為9。
2.2.4 BPNN的學(xué)習(xí)流程
整個(gè)學(xué)習(xí)流程分為兩步:首先,計(jì)算網(wǎng)絡(luò)的訓(xùn)練目標(biāo),使用每一步真實(shí)的角度值,通過(guò)式(9)計(jì)算得到真實(shí)的增益修正值g=[g0,g1];然后,使用Matlab的BP神經(jīng)網(wǎng)絡(luò)工具箱中的newff函數(shù)和train函數(shù)訓(xùn)練2.2節(jié)設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)[15]。學(xué)習(xí)完成后,BPNN就可以表示測(cè)量值i和增益修正值g之間的關(guān)系,此時(shí)通過(guò)測(cè)量值就可得到真實(shí)的增益修正值,從而避免了傳統(tǒng)MGEKF增益修正算法中測(cè)量值的誤差污染增益修正值。
3 實(shí)驗(yàn)驗(yàn)證
為了檢驗(yàn)BPNNMGEK的性能,將其應(yīng)用于車載移動(dòng)單站無(wú)源測(cè)向目標(biāo)定位中,如圖4所示,實(shí)驗(yàn)場(chǎng)景選擇復(fù)雜的城市環(huán)境,有大量的非視距傳播(NonLineOfSight,NLOS)存在,非??简?yàn)算法的性能。車載移動(dòng)單站出發(fā)位置坐標(biāo)是(115.99541,36.462975)(文中出現(xiàn)的經(jīng)緯度坐標(biāo)皆是百度地圖坐標(biāo),下同),結(jié)束位置坐標(biāo)是(116.026796,36.463704),干擾源位置坐標(biāo)(此處并沒(méi)有真正的干擾源,假設(shè)正常的廣播信號(hào)作為干擾源,這不會(huì)影響實(shí)驗(yàn)的正確性)為(115.995302, 36.488952)。測(cè)向車按照?qǐng)D4中的行走路線,以基本恒定的速度行駛,往復(fù)測(cè)試50次,獲取100組學(xué)習(xí)訓(xùn)練數(shù)據(jù)。
在汽車行進(jìn)過(guò)程中,根據(jù)《無(wú)線電監(jiān)測(cè)網(wǎng)傳輸協(xié)議(RMTP)規(guī)范》,每秒可獲得8組角度值、測(cè)向車全球定位系統(tǒng)(Global Positioning System, GPS)坐標(biāo)數(shù)據(jù)(需要轉(zhuǎn)化為百度地圖坐標(biāo))和信號(hào)強(qiáng)度,取8組中信號(hào)強(qiáng)度最大的一組作為該時(shí)刻測(cè)向結(jié)果; 然后依照上述方式測(cè)得40組數(shù)據(jù)作為性能測(cè)試數(shù)據(jù); 然后分別使用BPNNMGEKF算法、EKF算法、MGEKF算法以及sMGEKF算法進(jìn)行定位,比較定位性能。實(shí)驗(yàn)步驟如下:
1)按照上述方法獲取100組學(xué)習(xí)數(shù)據(jù),和40組測(cè)試數(shù)據(jù),并根據(jù)各自的經(jīng)緯度坐標(biāo)計(jì)算實(shí)際的角度值;
2)根據(jù)實(shí)際角度值按照式(8)計(jì)算增益修改值;
3)使用Matlab按照2.2節(jié)的方法訓(xùn)練BPNN;
4)學(xué)習(xí)結(jié)束后,使用40組測(cè)試數(shù)據(jù)對(duì)不同算法進(jìn)行定位測(cè)試,統(tǒng)計(jì)定位性能。
通過(guò)圖5可以看出,MGEKF直接用測(cè)量值代替真實(shí)值計(jì)算,使得結(jié)果誤差很大,并且測(cè)量數(shù)據(jù)有大誤差出現(xiàn)時(shí)波動(dòng)很大。sMGEKF對(duì)測(cè)量值進(jìn)行RTS平滑處理,一定程度上減小了大誤差的影響,沒(méi)有出現(xiàn)很大的波動(dòng),但是這些大誤差會(huì)影響到附近的點(diǎn),并將它傳播下去,這導(dǎo)致了sMGEKF后期誤差距離有輕微的上升。而B(niǎo)PNNMGEKF算法收斂速度很快,誤差距離較小。綜合比較sMGEKF、BPNNMGEKF和MGEKF,性能都有提升,而B(niǎo)PNNMGEKF性能表現(xiàn)最好。
通過(guò)圖6可以看出BPNNMGEKF性能要優(yōu)于其他算法,定位誤差在82m左右,而sMGEKF誤差在90m左右。EKF算法和MGEKF算法在后期誤差呈上升趨勢(shì),因?yàn)橛心承y(cè)試數(shù)據(jù)沒(méi)有收斂,估計(jì)的目標(biāo)位置遠(yuǎn)離實(shí)際位置,誤差持續(xù)增大。整體來(lái)看,BPNNMGEKF算法和sMGEKF算法要好于MGEKF算法,BPNNMGEKF性能表現(xiàn)最好。
為了驗(yàn)證BPNNMGEKF算法的穩(wěn)定性,取出使得EKF算法發(fā)散的測(cè)試數(shù)據(jù)單獨(dú)進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖7所示,使EKF發(fā)散的測(cè)試數(shù)據(jù)是NLOS更普遍存在的情況,通過(guò)圖7可以看出,所有算法均有不同程度的性能下降。其中純EKF算法基本已經(jīng)失去作用,完全不能收斂,而MGEKF算法也有出現(xiàn)了較大的誤差,后期誤差上升也很明顯,說(shuō)明有較多的測(cè)向數(shù)據(jù)沒(méi)有收斂。sMGEKF算法雖然性能較為穩(wěn)定,但是后期誤差還有一些上升的趨勢(shì),說(shuō)明有少量發(fā)散的情況存在,而B(niǎo)PNNMGEKF性能最為穩(wěn)定,定位誤差也較??;并且BPNNMGEKF算法表現(xiàn)非常穩(wěn)定,沒(méi)有誤差上升的趨勢(shì),說(shuō)明沒(méi)有或者只有極少數(shù)的測(cè)試數(shù)據(jù)出現(xiàn)發(fā)散的情況。綜合來(lái)看BPNNMGEKF算法在定位精度和穩(wěn)定性方面都要優(yōu)于其他算法。
4 結(jié)語(yǔ)
傳統(tǒng)的MGEKF算法,使用測(cè)量值代替真實(shí)值修正卡爾曼增益,使得測(cè)量誤差傳播到了修正結(jié)果,針對(duì)這一問(wèn)題,本文提出一種基于BPNN改進(jìn)的卡爾曼增益修改方法,使用BPNN擬合測(cè)量值與修正值之間的相關(guān)關(guān)系,通過(guò)測(cè)量值和神經(jīng)網(wǎng)絡(luò)獲取更精確的增益修正結(jié)果。新算法仍然使用MGEKF算法的框架,只是使用BPNN代替增益修改函數(shù)修正卡爾曼增益。在真實(shí)場(chǎng)景下實(shí)驗(yàn)表明,新算法有更好的穩(wěn)定性和定位精度。
參考文獻(xiàn):
[1]STANSFIELD R G. Statistical theory of DF fixing[J]. Journal of the Institution of Electrical Engineers—Part IIIA: Radio Communication, 1947, 94(15): 762-770.
[2]華鐵洲, 李冬海, 胡德秀. 改進(jìn)的單站無(wú)源定位方法[J]. 計(jì)算機(jī)應(yīng)用, 2010,30(Z1): 27-28.(HUA T Z, LI D H, HU D X. Improved method of single observer passive localization[J]. Journal of Computer Applications, 2010, 30(Z1): 27-28.)
[3]SONG T L, SPEYER J L. A stochastic analysis of a modified gain extended Kalman filter with applications to estimation with bearings only measurements [J].IEEE Transactions on Automatic Control, 1985, 30(10): 940-949.
[4]BLACKRNAN S, HOUSE A. Design and Analysis of Modern Tracking Systems[M]. Boston, MA: Artech House, 1999: 1-24.
[5]BLACKMAN S, WHITE T, BLYTH B, et al. Integration of passive ranging with Multiple Hypothesis Tracking (MHT) for application with angleonly measurements[C]// Proceedings of Signal and Data Processing of Small Targets 2010. Bellingham, WA: SPIE, 2010: 769815.
[6]SPINGARN K. Passive position location estimation using the extended Kalman filter[J]. IEEE Transactions on Aerospace and Electronic Systems, 1987, AES23(4): 558-567.
[7]GALKOWSKI P J, ISLAM M. An alternative derivation of the modified gain function of song and speyer[J]. IEEE Transactions on Automatic Control, 1991, 36(11): 1323-1326.
[8]RISTIC B, ARULAMPALAM S, GORDON N. Beyond the Kalman filter[J]. IEEE Aerospace and Electronic Systems Magazine, 2004, 19(7): 37-38.
[9]WAN E, van der MERWE R. The unscented Kalman filter for nonlinear estimation[C]// Proceedings of the IEEE 2000 Adaptive Systems for Signal Processing, Communications, and Control Symposium. Piscataway, NJ: IEEE, 2000: 153-158.
[10]QIAN Z, SONG T L. Improvement of bearings only target tracking using smoothing[C]// Proceedings of the 2014 IEEE International Conference on Control Science and Systems Engineering. Piscataway, NJ: IEEE, 2014: 1-5.
[11]HUANG Y, SONG T L. Iterated modified gain extended Kalman filter with applications to bearings only tracking[J]. Journal of Automation and Control Engineering, 2015, 3(6):1439-1442.
[12]林盾, 陳俐. BP 神經(jīng)網(wǎng)絡(luò)在模擬非線性系統(tǒng)輸出中的應(yīng)用[J]. 武漢理工大學(xué)學(xué)報(bào): 交通科學(xué)與工程版, 2003, 27(5): 731-734.(LIN D, CHEN L. Application of BP neural network to modeling output of nonlinear system[J]. Journal of Wuhan University of Technology (Transportation Science and Engineering), 2003, 27(5): 731-734.)
[13]NERGUIZIAN C, DESPINS C, AFFS S. Geolocation in mines with an impulse response fingerprinting technique and neural networks[J]. IEEE Transactions on Wireless Communications, 2006, 5(3): 603-611.
[14]HAYKIN S. Neural Networks: a Comprehensive Foundation[M]. 2nd Ed. Upper Saddle River: Prentice Hall, 2001:178-269.
[15]閔惜琳, 劉國(guó)華. 用 Matlab 神經(jīng)網(wǎng)絡(luò)工具箱開(kāi)發(fā) BP 網(wǎng)絡(luò)應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用, 2001,21(Z1): 163-164.(MIN X L,LIU G H. Development of BP network application using Matlab neural network toolbox[J]. Journal of Computer Applications, 2001,21(Z1): 163-164.)