許飛,袁杰波,田若思,丁小芩,榮婉婷
(1.上海機電工程研究所,上海 201109;2.哈爾濱工業大學,黑龍江 哈爾濱 150001)
常見的導彈初始對準方法有自對準、靜基座對準、動基座對準等,隨著有移動發射需求的空空導彈、地空導彈、空地導彈的加速發展,應用于各種場景下的動基座對準方法成為了研究熱點[1]。相較于其他的對準方法,動基座對準需要外部信息進行輔助,且外部信息和子慣導信息都隨環境變化[2],對準工作時序復雜,對準和導航過程中需監測的量時間分布較為分散,因此,桌面級動基座對準性能測試無法覆蓋系統動態的過程。基于桌面測試環境下,對飛控軟件狀態驗證不到位,只能帶著問題系統聯調,增加了系統級問題分析復雜性和飛控軟件反復次數,導彈研制進度較慢。本文針對動基座對準特性和桌面測試現狀,整合現有測試流程,基于MFC,Matlab技術,研制了飛控動基座對準性能桌面測試系統,實現首次收斂時間測試、收斂品質測試、導航誤差測試等功能,且具備擴展能力,通過適應性更改軟件,對各型飛控動基座軟件進行桌面測試,實現測試平臺通用化[3]。
動基座對準需要配備主慣導和子慣導2個系統進行傳遞對準,它是一種特殊的對準方式,由外部信息(主慣導)輔助,導彈上的子慣導利用已對準好的主慣導信息進行對準校正。主慣導傳遞給子慣導的姿態、速度、位置等信息,由于安裝誤差、載體形變等因素[4],存在一定的失準角,需要動基座對準的數學模型通過一定的濾波方式估計失準角,對子慣導系統的姿態進行修正[5]。動基座對準的性能可通過如下測試進行評判。
飛控軟件中有動基座對準實時收斂標志字、周期性重置濾波器后收斂標志字、運行過程中從未收斂標志字,桌面測試平臺通過監測實時收斂標志字首次置1的時間,即可得知導彈動基座對準首次收斂的時間[6]。在收斂品質一樣時,首次收斂時間越小越好。
飛控動基座對準分支運行一拍后,姿態角會被刷新,桌面測試系統監測導彈姿態角第1次變為非0,記為動基座開啟時間。飛控軟件運行過程中,會有導彈運行狀態返回,桌面測試系統監測該狀態字可得知飛控動基座對準工作時序是否運行正常。
取導彈狀態變量為
X=(δvn,δve,?n,?u,?e).
(1)
狀態方程為

(2)
式中:F為狀態轉移矩陣;W為系統噪聲陣。
觀測方程為
Z=HX+V,
(3)
式中:
(4)
濾波過程如下:
P=ΦPΦT+Qk,
(5)
K=PHT[HPHT+R]-1,
(6)
X=ΦX+K[Z-HΦX],
(7)
P=[I-KH]P[I-KH]T+KRKT.
(8)
在重置濾波器前,失準角誤差矩陣P中的敏感值絕對值應該有變小趨勢且趨于穩定,查看失準角標準差判定導彈動基座對準品質[7]。
模擬發控通訊封鎖后,給飛控裝訂初始導航參數,飛控根據動基座對準結果開始捷聯解算,模擬IMU以封鎖時刻的姿態,保持靜止、靜止情況加高斯白噪聲的狀態下導航100 s,分別判斷導彈飛行的距離,測試導彈導航誤差[8],導航誤差越小越好。
飛控動基座對準性能桌面測試系統由硬件和軟件2部分組成,硬件包括:飛控設備、電氣轉接箱、模型計算機、模擬發控計算機、電源、配套電纜,軟件平臺包括模型機軟件、模擬發控軟件、遙測接收分析軟件。桌面測試系統總體方案框圖如圖1所示。

圖1 桌面測試系統總體方案框圖Fig.1 Desktop test system overall solution block diagram
電氣轉接箱通過2根測試總線與飛行控制設備相連,完成飛控的供電和各個外設的連接;與模型機設備通過2路422總線連接,完成飛行過程中慣測量和導引頭的模擬數據收發;與模擬發控設備通過1路422總線連接,模擬發射裝置的發控流程,完成導彈初始參數裝訂;模型基設備和模擬發控設備之間通過1路422總線連接,完成同步信號的收發,使得裝訂數據與慣測量的變化同步;除飛控以外的各個設備外界交流電源進行供電。本文重點介紹軟件平臺。
2.2.1 軟件功能概述
根據系統功能定義,充分考慮多平臺融合、簡化使用流程和強實時性的需求,選用MFC作為軟件開發平臺,Matlab數字仿真過程封裝成dll庫作為被調用對象,連接SQL數據庫產生供桌面仿真使用的目標數據。MFC是微軟提供的基于C++語言的軟件開發基礎類庫,支持圖形、接口通信、數據庫、多線程等高級開發應用,便于設計人員二次開發[9]。Matlab擁有豐富的優化、計算工具,擅長于做復雜的矩陣運算。MFC和Matlab之間的混合編程,將綜合MFC可視化編程和Matlab數值計算的優勢[10],提高桌面測試系統軟件的開發效率,縮短研發周期。同時,規定好dll庫的調用接口后,不同型號間只需更換數字仿真過程即可測試,易于實現開發平臺的通用化。軟件整體框架如圖2所示。
2.2.2 軟件設計要求
桌面測試系統軟件根據配置的導彈發射裝置初始位置和姿態、轉動角速度、運行速度、桿臂長度、封鎖發控時間、模擬飛行時間、是否有高斯白噪聲,實時仿真模擬發控和模擬IMU的輸出全過程,生成2個獨立的數據庫,供模擬發控和模擬IMU調用。模擬發控動態完成飛控參數裝訂,模擬IMU實時輸出導彈的慣測數據,測試飛控動基座對準軟件功能和性能。具體軟件功能要求如下:

圖2 測試平臺軟件執行框圖Fig.2 Test platform software execution block diagram
(2) 仿真初始化:響應仿真初始化命令,Matlab讀入界面配置的仿真參數,實現系統資源分配、創建仿真進程、初始化輸出文件。
(3) 仿真進程調度:響應仿真開始、仿真結束等界面控制命令,完成主慣導、子慣導運動姿態和位置等參數的動態仿真[12]。
(4) 數據庫文件生成:將主慣導、子慣導動態仿真出的數據按指定格式存進數據庫。
(5) 人機界面交互:實時顯示發射裝置和導彈狀態,響應人機交互設置、發射裝置運行狀態參數設置。
(6) 數據加載:點完開始測試按鈕,模擬發控和模擬IMU軟件需要實時加載仿真生成的數據庫,按照指定的周期逐行給飛控發送數據。
(7) 通信同步:根據作戰時發控、IMU與飛控通信的真實時序,同步兩者首次與飛控建立通信的時間。
(8) 長時穩定通信:模擬發控和模擬IMU軟件要嚴格按照配置的周期、封鎖時間與導彈飛控進行長時間的422總線通信。
(9) 數據記錄與分析:測試開始后實時記錄飛控的遙測數據,對測試敏感信息進行分析,得出結論。
我國的產融結合呈現三大特點:一是結合方向單向性,因現行金融法規限制,我國都是產業資本向金融資本單向流動;二是結合方式多樣性,受各地市場發展不平衡、企業發展階段不一致影響,我國從初級的產融結合到系統的金融控股公司均存在;三是運作主體規范性,我國幾乎是大型企業、龍頭企業、優勢企業先行開展產融結合業務。
(10) 異步多線程執行:將硬件通信、數據處理、人機界面刷等新分別建立線程,提高CPU利用效率。
2.2.3 關鍵設計說明
針對圖2的軟件整體執行框圖,重點介紹Matlab操作SQL數據庫、MFC程序調用Matlab仿真生成的dll、模擬發控和模擬IMU通信同步、周期控制、多線程異步執行。
(1) Matlab要連接數據庫,必須使用JDBC/ODBC Bridge。用C/C++語言將JDBC調用轉換為ODBC APIS,送給待訪問的數據庫對應的ODBC驅動程序,其連接過程如圖3所示[13]。Matlab對數據庫SQL的操作,可以先獲取數據庫句柄,然后調用Matlab函數進行操作,Matlab常用的數據庫操作有exec,ping,insert,close,database,get,set,update,rows,cols等[14]。Matlab程序界面通過設置數據庫保存路徑、文件名、用戶名、密碼、仿真時間(封鎖時間)即可得到目標數據庫。此外,由于數據庫訪問具有遠程訪問功能,可直接將數據庫保存到各自待運行的仿真宿主機上,實現了仿真軟件多臺運行機器之間的一體化操作。
(2) Matlab可編寫2種m文件:腳本文件、函數文件。腳本文件由一系列變量和函數組成,沒有輸入輸出參數,可直接運行,但無法被轉換為dll。而函數文件擁有輸入輸出參數和返回值,只需給待調用的腳本文件加一個函數名,通過Matlab代碼編譯器mcc創建基于C/C++的dll,本測試系統軟件采用函數文件編寫Matlab數字仿真過程,實現dll轉換較為方便[15]。MFC程序調用Matlab代碼生成的dll,可選用Matlab開發平臺提供的mbuild工具編譯鏈接,也可在IDE開發環境下使用MSVC工具來編譯鏈接。考慮到軟件的可繼承性、通用性的原則,本測試系統軟件選用MSVC,在VC中添加Matlab安裝路徑和Lib路徑,編寫調用dll的驅動代碼,即可完成MFC程序調用數字仿真生成的dll。
(3) 動態測試系統要想讓發控裝訂的戰車信息和模型機產生的慣測數據達到動態匹配,必須使2個軟件在時間上達到同步。因此,模型機開啟后先給模擬發控發送4字節同步幀,收到回復后再給飛控發送格式如表1所示的數據幀。模擬發控軟件啟動后,循環檢測同步字節,匹配后才給飛行控制設備發送運行令。在實際測試時,先打開模擬發控軟件,然后打開模型機軟件,動態測試軟件的操作流程如圖4所示。

圖3 Matlab與數據庫連接Fig.3 Matlab and database connection

表1 模型機422通信格式Table 1 Model machine 422 communication format

圖4 動態測試軟件操作流程Fig.4 Dynamic test software operation process
(4) 桌面仿真軟件與飛控的RS-422通信都是按照固定的周期進行的,具體周期控制流程圖如圖5所示。進入循環發送之前記下上一拍計數器的拍數,然后實時比對當前計數器的拍數,直到達到分頻后的頻率值再進行RS-422通信,更新上一拍的拍數到當前拍數。在示波器上觀測分頻后RS-422通信頻率,用1 ms的延時函數修正周期差值。對于模擬IMU軟件,定時部分建在RS-422發送進程中。對于模擬發控軟件,定時部分建在發控流程線程中。

圖5 仿真軟件周期控制流程圖Fig.5 Simulation software cycle control flow chart
(5) 考慮桌面測試系統軟件涉及到RS-422的收發通信、模型解算、發控流程處理、窗口顯示刷新等速率不一的流程,若程序采用單線程順序執行,CPU大部分時間都在死等,窗口將不能流暢的更新狀態。因此,軟件采用異步多線程方式進行編程,采用如圖6的模擬IMU結構圖和如圖7的模擬發控結構圖。
為了驗證測試仿真平臺的正確性,選擇了成熟的飛控軟件和數字仿真原Matlab代碼,仿真測試導彈靜止發射和以20 m/s勻速前進發射的情況。測試結果顯示,首次收斂時間均小于5 s,在失準角值趨于穩定前一段時間值較大,是由于卡爾曼濾波還未收斂,屬于正常現象。首次收斂前,靜止發射時北向、東向失準角標準差為0.041°,0.039°,勻速前進發射兩向失準角均方差為0.076°,0.059°,2種方式的100 s靜止導航誤差均小于60 m,與系統聯調結果符合,見圖8,9。

圖6 模型機結構圖Fig.6 Model machine structure diagram

圖7 模擬發控結構圖Fig.7 Analog control structure diagram

圖8 靜止發射失準角Fig.8 Static emission misalignment angle

圖9 勻速前進發射失準角Fig.9 Uniform forward launch misalignment angle
本文以動基座對準研究為背景,提出了一種飛控動基座對準性能桌面測試系統設計,并對測試方法、系統設計方案進行探討,得出測試結論。在系統軟件設計方面,分別對軟件功能、設計要求、關鍵設計進行介紹,通過MFC調用Matlab生成的數字仿真dll實現平臺通用化。相較于傳統的桌面靜態測試系統,此桌面測試系統能夠仿真導彈發射的動態過程,對飛控軟件動基座功能和性能的驗證更全面,提高了飛控軟件研制效率,降低系統調試成本,在涉及桌面動態仿真驗證領域具有較高的應用價值。