謝愷, 秦鵬程
(陸軍炮兵防空兵學(xué)院, 安徽 合肥 230031)
彈道外推算法是炮位偵察校射(簡稱偵校)雷達(dá)實現(xiàn)炮位偵察校射功能的關(guān)鍵,算法的適用性和優(yōu)劣直接影響彈道外推的精度[1-2]。濾波外推法是當(dāng)前炮位偵校雷達(dá)使用的主要算法,現(xiàn)有的濾波外推算法以彈丸位置和速度建立六維狀態(tài)(簡稱六態(tài))向量,通過擴(kuò)展卡爾曼濾波(EKF)算法進(jìn)行外推,但存在低伸彈道等情況下定位精度低的問題[2]。濾波外推算法需要建立彈道方程,其最初的目的主要是為了編制射表[3],因此彈道方程只是較好地擬合了火炮射程,但對整條彈道曲線的空間位置擬合效果并不理想,即彈道模型和真實彈道并不完全重合,存在模型誤差,導(dǎo)致外推距離越遠(yuǎn),外推誤差越大。此外,現(xiàn)有的濾波外推算法假設(shè)彈道系數(shù)為常數(shù),以相鄰兩點的速度、加速度濾波值代入彈道方程,只能進(jìn)行粗略估計[4]。文獻(xiàn)[5]通過經(jīng)驗公式求取彈道系數(shù),但對先驗條件要求苛刻,難以實際使用。彈道外推算法本質(zhì)上是一個非線性估計問題,當(dāng)采用EKF算法進(jìn)行估計,如2階Taylor級數(shù)以上項無法忽略時,線性化將會產(chǎn)生較大的誤差。
基于以上考慮,本文對現(xiàn)有的外推算法進(jìn)行了研究和改進(jìn)。通過增加狀態(tài)向量,選用無跡卡爾曼濾波(UKF)等非線性濾波算法建立反向外推模型,分別開展對彈道方程的七維狀態(tài)(簡稱七態(tài))向量算法、UKF算法及反向外推算法的研究,擇優(yōu)選取彈道外推所用算法。最終驗證了基于七態(tài)向量反向UKF(簡稱七態(tài)反向UKF)外推算法。
采用卡爾曼濾波算法計算彈道系數(shù)時,首先要建立彈丸運(yùn)動狀態(tài)方程??紤]到彈道外推的快速反應(yīng)、實時性等要求[6],通常選用質(zhì)點彈道模型[1-4]。彈道系數(shù)是影響彈道外推的重要參數(shù),現(xiàn)有的濾波算法以彈丸在三維空間的位置和速度為狀態(tài)向量建立狀態(tài)方程,在認(rèn)為彈道系數(shù)為常數(shù)的條件下,以相鄰兩點的速度、加速度濾波值代入彈道方程進(jìn)行彈道系數(shù)粗略估計。這種估計方法存在一定的誤差,有時甚至超出了理論范圍,目前只能采取硬限幅進(jìn)行限制。還有一種彈道系數(shù)估計方法,通過馬赫數(shù)、阻力系數(shù)、彈丸速度等參數(shù)求取彈道系數(shù)[5],該算法對先驗條件的要求較高,難以實際使用。
為精確求解彈道系數(shù),可將其納入濾波過程,選取彈丸位置(x,y,z)及其在相應(yīng)坐標(biāo)軸上的速度分量(vx,vy,vz)以及彈道系數(shù)Cb形成七態(tài)向量
X=[x1,x2,x3,x4,x5,x6,x7]T=[x,y,z,vx,vy,vz,Cb]T.
(1)
狀態(tài)方程是描述動態(tài)系統(tǒng)各狀態(tài)變量和輸入之間關(guān)系的方程,通常采用狀態(tài)變量1階導(dǎo)數(shù)來描述各狀態(tài)、輸入和時間之間的關(guān)系。彈道估計時狀態(tài)方程[5]為
(2)
測量方程是表達(dá)狀態(tài)變量、測量變量和輸入之間關(guān)系的方程,通常情況下測量值是狀態(tài)變量的線性組合。炮位偵校雷達(dá)的測量值矢量可以表示為
Z=[Rβε],
(3)
式中:R為雷達(dá)到目標(biāo)的距離;β為雷達(dá)探測目標(biāo)的方位角;ε為雷達(dá)探測目標(biāo)的俯仰角。引入零均值高斯白噪聲V,其方差為Q,則量測方程[1,5]為
(4)
UKF算法以無跡變換[7]為基礎(chǔ),采用卡爾曼線性濾波框架,具體采樣形式為確定性采樣,對非線性函數(shù)的概率密度分布進(jìn)行近似;估計精度至少達(dá)到2階,計算量與EKF算法處于同一量級;不需要計算Jacobian矩陣,可以處理不可導(dǎo)的非線性函數(shù)[7]。與EKF算法一樣,UKF算法使用線性最小均方估計的方法進(jìn)行測量更新。根據(jù)測量更新框架,使用無跡變換來處理均值和協(xié)方差的非線性傳遞,就可以得到UKF算法。
考慮如下非線性高斯離散時間系統(tǒng):
(5)
式中:x(k)∈RLx為系統(tǒng)在k時刻的狀態(tài),z(k)∈RLz為k時刻的觀測量,Lx、Lz分別指狀態(tài)和觀測量的維數(shù);u(k)和v(k)分別為系統(tǒng)的模型誤差引起的狀態(tài)噪聲和測量噪聲,其協(xié)方差分別為R和Q.
針對(5)式描述的系統(tǒng),UKF算法流程[8-9]如下:
1)設(shè)置狀態(tài)的初始條件
0=E(x0),P0=E[(x0-0)(x0-0)T],
(6)
2)計算樣點
計算2L+1個Sigma點,即采樣點,
(7)
式中:L為狀態(tài)維數(shù);λ為一個縮放比例參數(shù)。
3)時間更新
樣點集的一步預(yù)測
Xk|k-1=f[Xk-1];
(8)
系統(tǒng)狀態(tài)量的一步預(yù)測及協(xié)方差矩陣為
(9)
(10)
式中:W為各采樣點相應(yīng)的權(quán)值,下標(biāo)m為均值、c為協(xié)方差,上標(biāo)i為采樣點數(shù)。
預(yù)測的觀測值
Zk|k-1=h[Xk|k-1].
(11)
4)測量更新
系統(tǒng)預(yù)測的均值及協(xié)方差
(12)
(13)
(14)
增益矩陣
(15)
系統(tǒng)的狀態(tài)更新和協(xié)方差更新
(16)
式中:zk為k時刻的觀測量。
(17)
計算各采樣點對應(yīng)的權(quán)值
第二種是對Thread子類進(jìn)行定義,也對run方式進(jìn)行重寫:clasMyThread extends Thread{public void run(){}}
(18)
式中:λ=α2(L+κ)-L,用來降低總預(yù)測誤差,α為控制采樣點的分布狀態(tài),κ為待選參數(shù),其取值應(yīng)確保(L+λ)P為半正定矩陣;參數(shù)β可以合并方程中高階項的動差,β≥0.
如圖1所示,目前的彈道方程外推采用卡爾曼濾波算法,沿時間軸的正方向?qū)Ψ匠踢M(jìn)行逐點線性化,Ss(起始波束)作為濾波初值,Se(截止波束)作為濾波終點。外推時從Se開始,按照估計的七態(tài)向量進(jìn)行反向遞推,狀態(tài)轉(zhuǎn)移方程為
Sk+1=ΦkSk+ωk,
(19)
式中:Sk為k時刻觀測波束;Φk為狀態(tài)轉(zhuǎn)移矩陣;ωk為狀態(tài)噪聲。這種情況下彈道外推距離從Se延伸到炮位水平面。
為了減小外推距離、降低外推誤差,本文提出了彈道方程反向外推算法,將跟蹤的截止波束Se作為濾波起點,將起始波束Ss作為濾波終點,沿時間軸的負(fù)方向進(jìn)行濾波外推。將彈道方程的狀態(tài)方程轉(zhuǎn)換為
Sk=ΨkSk+1+τk,
(20)
并重新逐點線性化,該算法的關(guān)鍵是推導(dǎo)(20)式。本文給出的反向濾波算法,保持狀態(tài)轉(zhuǎn)移矩陣Ψk=Φk和狀態(tài)噪聲τk=ωk,對時間“方向”取反向,將跟蹤波束中的最后一點Ss作為卡爾曼濾波的起始點,各坐標(biāo)軸上的速度分量為(-vx,-vy,-vz),于是(1)式可改寫為
X=[x1,x2,x3,x4,x5,x6,x7]T=
[x,y,z,-vx,-vy,-vz,Cb]T.
(21)
沿彈丸運(yùn)動軌跡反向濾波,得到跟蹤起始點Ss的彈道方程七態(tài)參量,將參量中的速度分量取負(fù)數(shù),用4階龍格- 庫塔方程[3]進(jìn)行外推,就得到了炮位坐標(biāo)。該方程的外推距離從Ss延伸到炮位面,此算法外推距離短、誤差更小。
表1中列出了10 000次蒙特卡洛仿真條件下各算法的外推終點圓中間誤差和平均用時以及算法的改進(jìn)效果。由表1可以得出結(jié)論:上述各算法的計算量處于同一量級,七態(tài)算法定位精度要優(yōu)于六態(tài)算法;UKF算法定位精度要優(yōu)于EKF算法;反向算法定位精度要優(yōu)于正向算法。下面結(jié)合圖2、圖3對各算法優(yōu)化項取得表1中優(yōu)化效果的原因進(jìn)行分析。
將靶場彈道精密測量雷達(dá)數(shù)據(jù)相鄰兩點的速度、加速度濾波值代入彈道方程,求得彈道系數(shù),作為仿真中的真實彈道系數(shù)。計算各算法求得的彈道系數(shù)與真實彈道系數(shù)的誤差。圖2從10 000次蒙特卡洛仿真中隨機(jī)抽取了20次七態(tài)算法得到彈道系數(shù)誤差。從圖2可以看出:將彈道系數(shù)納入濾波過程,求得的彈道系數(shù)誤差更小,有助于提高彈道外推的精度。
表1 外推算法仿真結(jié)果對照表
為方便觀察,圖3中列出了不同算法濾波處理后的位置誤差、速度誤差。經(jīng)濾波處理后的終點作為外推起點,分析各圖中濾波終點誤差。由圖3(a)、圖3(b)可以看出:六態(tài)UKF算法位置誤差略高于六態(tài)EKF算法,但其速度誤差明顯低于六態(tài)EKF算法。由圖3(c)、圖3(d)可以看出:七態(tài)UKF算法位置誤差與七態(tài)EKF算法基本一致,但速度誤差較小。由圖3(e)、圖3(f)可以看出,七態(tài)反向UKF算法位置誤差、速度誤差都要低于七態(tài)反向EKF算法。由于位置誤差造成的影響將會直接疊加在外推落點上,而外推過程中的速度誤差卻通過誤差累積使其影響不斷擴(kuò)大,因此速度誤差對外推的影響更大。從圖3(a)、圖3(b)可以看出,UKF算法存在位置誤差稍大的情況,但是由于其速度誤差小,UKF算法的定位精度依然較好,如表1所示。
通過上文對彈道系數(shù)誤差和位置誤差、速度誤差等比較項進(jìn)行的分析可以看出:1)采用七態(tài)算法可以有效地降低彈道系數(shù)誤差。雖然圖3中七態(tài)算法位置誤差在部分采樣點大于六態(tài)算法,但由于其數(shù)值較小,而且位置誤差基本是平移到定位誤差上,與速度誤差、彈道系數(shù)誤差等放大到定位誤差的累積效應(yīng)相比,基本可以忽略。因此,七態(tài)算法定位精度仍要高于六態(tài)算法,如表1所示。2)采用UKF算法,可以降低濾波終點的彈道系數(shù)誤差、位置誤差和速度誤差,外推精度高。3)與七態(tài)算法相比,七態(tài)反向算法對空氣阻力建模不夠全面,因而存在一定的位置誤差、速度誤差,二者彈道系數(shù)誤差大小處在同一水平,如圖2、圖3所示。但反向算法減小了外推距離,降低了模型積累誤差,而模型積累誤差對定位精度的影響更大。因此,反向算法濾波外推效果更好,如表1所示。
基于以上分析,本文提出的七態(tài)反向UKF算法,在不顯著增加計算量的基礎(chǔ)上定位精度比原算法提高約50%,在炮位偵校雷達(dá)定位精度上體現(xiàn)了優(yōu)越性。
本文針對一定條件下炮位偵校雷達(dá)定位精度偏低的問題,提出了七態(tài)反向UKF算法。該算法將彈道系數(shù)納入濾波過程,可以有效地提高彈道系數(shù)的精度。采用UKF算法進(jìn)行非線性參數(shù)估計,比EKF算法具有更高的精度和穩(wěn)定性。使用反向濾波算法能夠減少外推距離,進(jìn)而降低彈道方程的模型誤差。理論分析與仿真表明,新算法在計算量相當(dāng)?shù)那闆r下,具有更高的定位精度。
本文所采用的外推算法雖然具有較高的精度,但主要工作是對濾波算法進(jìn)行優(yōu)化,沒有充分利用先驗信息,如彈丸的多普勒速度、彈丸的重力約束等。下一步將充分利用先驗信息,建立更為完善的彈道外推模型。