(91388部隊(duì) 湛江 524000)
潛艇指控系統(tǒng)試驗(yàn)鑒定是潛艇作戰(zhàn)系統(tǒng)試驗(yàn)鑒定的重要組成部分,對(duì)指控系統(tǒng)的考核評(píng)定不僅具有自身的意義,還將直接關(guān)系到魚水雷武器系統(tǒng)的考核評(píng)定。目標(biāo)運(yùn)動(dòng)要素解算算法是潛艇指控系統(tǒng)試驗(yàn)的重點(diǎn)項(xiàng)目,其中連續(xù)方位解算算法又是目標(biāo)運(yùn)動(dòng)要素解算算法中的重難點(diǎn)考核評(píng)估項(xiàng)目。在連續(xù)方位算法中,純方位法具有典型代表性,其利用連續(xù)的目標(biāo)方位序列,通過(guò)濾波模型解算出目標(biāo)運(yùn)動(dòng)要素。由于純方位法對(duì)解算所需的數(shù)據(jù)類型單一(綜合聲納被動(dòng)工作方式下測(cè)得的方位數(shù)據(jù)),且能保持潛艇的隱蔽性,所以純方位法是潛艇隱攻解算目標(biāo)運(yùn)動(dòng)要素諸多算法中所采用的常用算法。純方位法解算試驗(yàn)所需處理的數(shù)據(jù)量大,處理方法復(fù)雜,在試驗(yàn)中需要通過(guò)對(duì)試驗(yàn)數(shù)據(jù)進(jìn)行實(shí)時(shí)的處理,來(lái)判別有效航次以及有效收斂航次,從而為試驗(yàn)指揮人員對(duì)試驗(yàn)進(jìn)程的控制提供重要依據(jù)。因此,針對(duì)試驗(yàn)中數(shù)據(jù)處理的實(shí)時(shí)、快捷的要求,編制一套數(shù)據(jù)處理軟件將為高效地完成指控系統(tǒng)試驗(yàn)任務(wù)發(fā)揮重要的作用。
純方位解算算法的關(guān)鍵性能指標(biāo)有平均收斂時(shí)間、收斂率和解算精度等,為提供滿足上述指標(biāo)計(jì)算所需各類型數(shù)據(jù),性能評(píng)估軟件需要完成任務(wù)有:由于DGPS測(cè)得的目標(biāo)與本艇坐標(biāo)參數(shù)可能存在野點(diǎn)和丟點(diǎn),因此必須對(duì)坐標(biāo)參數(shù)進(jìn)行平滑和插值處理,然后計(jì)算目標(biāo)運(yùn)動(dòng)要素的真值;由于目標(biāo)位置由DGPS測(cè)量,其所測(cè)量位置為其天線的位置,而非目標(biāo)聲中心位置,因此必須對(duì)目標(biāo)幾何中心位置進(jìn)行修正;由于指控系統(tǒng)中的算法都是在假設(shè)目標(biāo)等速直航的條件下進(jìn)行解算,因此必須對(duì)航次有效性進(jìn)行判斷;判斷統(tǒng)計(jì)航次的收斂性,以對(duì)收斂率指標(biāo)做出考核;找出航次收斂時(shí)刻,計(jì)算航次收斂時(shí)間,以對(duì)平均收斂時(shí)間做出考核;統(tǒng)計(jì)每個(gè)航次收斂后的12個(gè)收斂點(diǎn),以對(duì)航路解算精度做出考核;為了便于事后對(duì)真實(shí)航路進(jìn)行分析和再現(xiàn),需要顯示目標(biāo)與本艇航跡的靜態(tài)與動(dòng)態(tài)圖。綜上所述,軟件應(yīng)具備以下功能模塊:
1)目標(biāo)、本艇航跡的平滑處理以及目標(biāo)運(yùn)動(dòng)要素真值的計(jì)算(Vm、Cm、Dm);
2)對(duì)目標(biāo)、本艇的坐標(biāo)參數(shù)進(jìn)行修正;
3)航次有效性判斷;
4)航次收斂性判斷;
5)收斂時(shí)間、時(shí)刻的計(jì)算;
6)目標(biāo)運(yùn)動(dòng)要素解算精度的計(jì)算;
7)目標(biāo)與本艇航跡的靜態(tài)與動(dòng)態(tài)再現(xiàn)。
軟件通過(guò)高級(jí)應(yīng)用軟件Matlab提供的編程語(yǔ)言設(shè)計(jì)而成。Matlab提供了各種功能強(qiáng)大的函數(shù)庫(kù),使得程序能夠完成復(fù)雜的運(yùn)算,處理大量的數(shù)值數(shù)據(jù)。軟件的主要流程圖1所示,下面對(duì)流程圖做簡(jiǎn)要說(shuō)明。
1)開(kāi)始:?jiǎn)?dòng)Matlab,對(duì)Matlab服務(wù)器初始化,運(yùn)行處理軟件程序,顯示圖形用戶界面窗口。
2)試驗(yàn)數(shù)據(jù)讀?。和ㄟ^(guò)用戶界面窗口分別導(dǎo)入目標(biāo)真值數(shù)據(jù)、本艇真值數(shù)據(jù)以及本艇解算數(shù)據(jù),人工鍵入的數(shù)據(jù)有坐標(biāo)修正參數(shù)、開(kāi)始攻擊時(shí)刻及目標(biāo)初距。
3)數(shù)據(jù)有效判斷:如數(shù)據(jù)格式不對(duì)、數(shù)據(jù)超出規(guī)定范圍,程序?qū)⑻崾据斎霟o(wú)效,返回重新輸入,否則程序往下執(zhí)行。
4)開(kāi)始解算:當(dāng)按下開(kāi)始處理鍵后,數(shù)據(jù)處理程序模塊開(kāi)始運(yùn)行,包括目標(biāo)坐標(biāo)數(shù)據(jù)平滑處理,目標(biāo)速度、航向、距離真值解算,目標(biāo)穩(wěn)定性檢驗(yàn)、航次收斂率及收斂時(shí)間計(jì)算,目標(biāo)運(yùn)動(dòng)要素解算精度計(jì)算。
5)航次有效判斷:如檢驗(yàn)出目標(biāo)運(yùn)動(dòng)不滿足穩(wěn)定性的條件,則判為航次無(wú)效,此航次數(shù)據(jù)處理結(jié)束,顯示處理結(jié)果,保存結(jié)果,返回進(jìn)行下一航次數(shù)據(jù)處理,否則程序往下執(zhí)行。
6)航次收斂判斷:如計(jì)算出解算值不收斂,則此航次數(shù)據(jù)處理結(jié)束,顯示處理結(jié)果,保存結(jié)果,返回進(jìn)入下一航次數(shù)據(jù)處理,否則程序往下進(jìn)行。
7)收斂時(shí)間、時(shí)刻計(jì)算:在航次收斂的情況下,計(jì)算本航次的收斂時(shí)間與收斂時(shí)刻。
8)解算精度計(jì)算:從收斂時(shí)刻開(kāi)始,向后連續(xù)取12個(gè)點(diǎn)的目標(biāo)速度、航向、距離的解算值和對(duì)應(yīng)的真值,分別進(jìn)行二階原點(diǎn)距的計(jì)算,同時(shí)對(duì)野點(diǎn)進(jìn)行剔除。
9)數(shù)據(jù)處理結(jié)果顯示:將航次收斂判斷處理結(jié)果顯示到圖形用戶界面窗口中。包括航次有效性、航次收斂性、航次收斂時(shí)刻及收斂時(shí)間,目標(biāo)運(yùn)動(dòng)要素解算精度。
10)航路再現(xiàn):畫出目標(biāo)、本艇的原始航跡圖及平滑處理后的航跡圖,并且還將試驗(yàn)航路動(dòng)態(tài)再現(xiàn)。
11)結(jié)果保存:將試驗(yàn)數(shù)據(jù)處理結(jié)果保存在選定的文件中,并提示存儲(chǔ)情況信息。
圖1 軟件設(shè)計(jì)流程圖
軟件由用戶界面和計(jì)算服務(wù)器組成,見(jiàn)圖2。
用戶界面由試驗(yàn)數(shù)據(jù)導(dǎo)入?yún)^(qū)和試驗(yàn)數(shù)據(jù)處理結(jié)果區(qū)兩部分組成,試驗(yàn)數(shù)據(jù)導(dǎo)入?yún)^(qū)分為目標(biāo)真值數(shù)據(jù)、本艇真值數(shù)據(jù)、本艇解算數(shù)據(jù)、坐標(biāo)修正參數(shù)、開(kāi)始攻擊時(shí)刻及目標(biāo)初距6個(gè)部分。試驗(yàn)數(shù)據(jù)處理結(jié)果區(qū)分為航次有效性判斷、航次收斂性判斷、航次收斂時(shí)間、航次收斂時(shí)刻、航次解算精度結(jié)果、試驗(yàn)航路再現(xiàn)6個(gè)部分。
計(jì)算服務(wù)器包括五個(gè)主要模塊:試驗(yàn)數(shù)據(jù)讀取模塊、處理計(jì)算模塊,計(jì)算結(jié)果顯示模塊、動(dòng)態(tài)航跡再現(xiàn)模塊和計(jì)算結(jié)果存儲(chǔ)模塊。
用戶通過(guò)用戶界面窗口導(dǎo)入試驗(yàn)數(shù)據(jù)區(qū)導(dǎo)入試驗(yàn)數(shù)據(jù),服務(wù)器獲取導(dǎo)入的試驗(yàn)數(shù)據(jù),當(dāng)按下“開(kāi)始處理”鍵后,進(jìn)行處理計(jì)算模塊進(jìn)行處理處理,然后通過(guò)計(jì)算結(jié)果顯示模塊將結(jié)果顯示在用戶界面窗口中。用戶還可以通過(guò)航跡圖再現(xiàn)模塊對(duì)目標(biāo)和本艇的靜態(tài)和動(dòng)態(tài)航跡再現(xiàn)。最后,用戶通過(guò)計(jì)算結(jié)果存儲(chǔ)模塊對(duì)處理結(jié)果進(jìn)行保存。
圖2 純方位算法性能評(píng)估軟件結(jié)構(gòu)框圖
軟件輸入的文件數(shù)據(jù)有目標(biāo)和本艇航跡數(shù)據(jù)、本艇解算數(shù)據(jù)等,數(shù)據(jù)讀取主要采用textread函數(shù)完成。讀取的數(shù)據(jù)格式要求見(jiàn)表1和表2。
表1 目標(biāo)和本艇航跡數(shù)據(jù)格式
表2 本艇解算數(shù)據(jù)格式
航次有效性判斷的方法如下:在某一航次中,目標(biāo)速度和航向真值標(biāo)準(zhǔn)差與對(duì)應(yīng)的精度指標(biāo)的比值同時(shí)滿足不大于十分之一,則本航次有效,否則無(wú)效。
在數(shù)據(jù)處理方法中,對(duì)航次收斂時(shí)刻的判定是方法如下:從指揮臺(tái)發(fā)出“開(kāi)始攻擊”時(shí)刻作為零點(diǎn)。對(duì)第k航次錄取的數(shù)據(jù),首先通過(guò)真值和解算值計(jì)算出各時(shí)刻的速度、航向、初距的一次差,然后判別連續(xù)有4個(gè)點(diǎn)進(jìn)入3б范圍之內(nèi)的點(diǎn)(三個(gè)量同時(shí)進(jìn)入),將其第1個(gè)點(diǎn)的時(shí)刻記為t3,接著判別連續(xù)有4個(gè)點(diǎn)進(jìn)入2б范圍之內(nèi)的點(diǎn),將其第1點(diǎn)的時(shí)刻記為t2,再接著判別連續(xù)有4個(gè)點(diǎn)進(jìn)入б范圍之內(nèi)的點(diǎn),將其第1點(diǎn)的時(shí)刻記為t1。同時(shí)在確定出t3之后,t1之前,若有點(diǎn)又跳出3б(或2б)范圍,則前面確定的t1(或t2)無(wú)效,重新確定t1(或t2)。最終確定出t1、t2、t3后,按國(guó)軍標(biāo)給出的計(jì)算公式 t=0.05×t1+0.27×t2+0.68×t3,來(lái)獲得本航次的收斂時(shí)刻。其中б為目標(biāo)運(yùn)動(dòng)要素的精度指標(biāo)。該方法邏輯性強(qiáng),編程實(shí)現(xiàn)繁瑣,程序冗長(zhǎng),本文在深刻理解此方法的基礎(chǔ)上,創(chuàng)新提出了一種簡(jiǎn)便快捷的實(shí)現(xiàn)方法,即先判別是否有4個(gè)點(diǎn)進(jìn)入б范圍之內(nèi),如果不存在,則此航次不收斂,如果存在,則此航次收斂,并找出t1,再以t1為起點(diǎn)向前找出t2、t3,這種方法極大地簡(jiǎn)化了程序。
航跡復(fù)現(xiàn)主要包括靜態(tài)和動(dòng)態(tài)兩種,靜態(tài)復(fù)現(xiàn)就是直接顯示出本艇和目標(biāo)的航跡曲線,描述兩者的運(yùn)動(dòng)趨勢(shì),如圖3所示;動(dòng)態(tài)復(fù)現(xiàn)可以實(shí)時(shí)顯示本艇和目標(biāo)之間的相對(duì)態(tài)勢(shì)關(guān)系,并給出主要運(yùn)動(dòng)態(tài)勢(shì)參數(shù),如圖4所示。
圖3 本艇和目標(biāo)的航跡靜態(tài)復(fù)現(xiàn)圖
圖4 本艇和目標(biāo)的航跡動(dòng)態(tài)復(fù)現(xiàn)圖
Matlab為用戶開(kāi)發(fā)圖形界面了一個(gè)方便、高效的集成環(huán)境—圖形用戶界面開(kāi)發(fā)環(huán)境(Graphical User Interface Development Environment,GUIDE)。本軟件的用戶界面也正是通過(guò)Matlab提供的圖形用戶界面開(kāi)發(fā)環(huán)境GUIDE進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)的。
界面制作包括兩部分工作內(nèi)容,分別為界面設(shè)計(jì)和程序?qū)崿F(xiàn),具體的實(shí)現(xiàn)步驟如下:
1)對(duì)界面所需要實(shí)現(xiàn)的主要功能進(jìn)行分析,從而明確設(shè)計(jì)的方向和目標(biāo);
2)從用戶的角度出發(fā),預(yù)先對(duì)界面草圖進(jìn)行構(gòu)思,并在稿紙上繪制出來(lái);
3)對(duì)照稿紙上預(yù)先繪制出的界面草圖,在電腦上首先制作靜態(tài)界面;
4)完成靜態(tài)界面實(shí)現(xiàn)后,接著編寫界面動(dòng)態(tài)功能的程序,并進(jìn)行整體運(yùn)行、調(diào)試和檢查。
界面分為試驗(yàn)數(shù)據(jù)導(dǎo)入?yún)^(qū)和試驗(yàn)數(shù)據(jù)處理結(jié)果區(qū),如圖5所示。試驗(yàn)數(shù)據(jù)導(dǎo)入?yún)^(qū)包括導(dǎo)入目標(biāo)坐標(biāo)數(shù)據(jù)、導(dǎo)入本艇坐標(biāo)數(shù)據(jù)、導(dǎo)入解算值數(shù)據(jù)、坐標(biāo)修正參數(shù)、關(guān)鍵時(shí)間等;試驗(yàn)數(shù)據(jù)處理結(jié)果區(qū)包括航次有效性判斷結(jié)果、收斂性判斷結(jié)果、航次收斂時(shí)間、航次收斂時(shí)刻、目標(biāo)運(yùn)動(dòng)要素解算精度和目標(biāo)與本艇的航跡再現(xiàn)。
圖5 軟件圖形用戶界面
本文敘述了潛艇純方位算法性能評(píng)估軟件設(shè)計(jì)與實(shí)現(xiàn)的過(guò)程,文中首先對(duì)軟件的功能進(jìn)行了需求分析,在功能分析的基礎(chǔ)上,給出了軟件設(shè)計(jì)流程圖,并對(duì)流程圖作了說(shuō)明。軟件的開(kāi)發(fā)和設(shè)計(jì)環(huán)境選用了高級(jí)應(yīng)用軟件Matlab提供的編程語(yǔ)言。文中對(duì)數(shù)據(jù)文件讀取、收斂性判斷、收斂時(shí)間確定、航跡復(fù)現(xiàn)、圖形用戶界面等關(guān)鍵模塊實(shí)現(xiàn)分別進(jìn)行了描述。該軟件的實(shí)現(xiàn)已為試驗(yàn)工程人員開(kāi)展?jié)撏繕?biāo)運(yùn)動(dòng)要素解算試驗(yàn)的數(shù)據(jù)處理和性能指標(biāo)評(píng)定工作提供了不可或缺的輔助手段,取得了較好的軍事和經(jīng)濟(jì)效益。