張保祥,馮玉潔
(中國(guó)空空導(dǎo)彈研究院 河南 洛陽 471009)
軟件利用429板卡結(jié)合串口技術(shù)[1]實(shí)時(shí)接收解調(diào)組件的輸出數(shù)據(jù),直觀顯示所有定位數(shù)據(jù)信息,為組件開發(fā)者判斷組件的工作狀態(tài)提供依據(jù),同時(shí)軟件要有數(shù)據(jù)存儲(chǔ)和二次計(jì)算的能力,處理能力能夠覆蓋組件所有測(cè)試參數(shù)。按功能要求將本軟件分為2個(gè)部分,分別為衛(wèi)星定位[2]組件實(shí)時(shí)429數(shù)據(jù)處理軟件和429事后數(shù)據(jù)分析軟件。軟件具有通用化強(qiáng),支持?jǐn)U展,版本上下兼容等特點(diǎn)。
為了滿足各項(xiàng)功能需求,將軟件劃分為若干功能模塊,其軟件模塊結(jié)構(gòu)如圖1所示。
圖1 軟件模塊結(jié)構(gòu)圖Fig.1 Structure figure of software module
各模塊間關(guān)系及數(shù)據(jù)處理流程如圖2所示。衛(wèi)星定位組件實(shí)時(shí)429數(shù)據(jù)處理軟件分為外部接口和內(nèi)部接口兩部分。
圖2 軟件處理流程圖Fig.2 Flow chart of software process
實(shí)時(shí)429數(shù)據(jù)處理軟件的外部接口分為數(shù)據(jù)采集模塊和儲(chǔ)存輸出模塊兩部分。
硬件連接:將429板卡安裝到計(jì)算機(jī)上并與某衛(wèi)星定位組件連接。
軟件接口:通過調(diào)用429板卡底層驅(qū)動(dòng),將配置信息:位速率、校驗(yàn)碼、接收緩沖區(qū)等傳遞給硬件,并且接收硬件返回的相關(guān)信息。配置信息用戶可以修改。
1.1.1 429數(shù)據(jù)采集模塊
軟件采集模塊:采集模塊負(fù)責(zé)接收衛(wèi)星定位組件發(fā)送的數(shù)據(jù),通過不斷查詢硬件緩沖區(qū)的內(nèi)容,來讀取硬件緩沖區(qū)中的數(shù)據(jù)到內(nèi)存。
1.1.2 429存儲(chǔ)輸出模塊
此模塊負(fù)責(zé)將內(nèi)存中的數(shù)據(jù)根據(jù)用戶的選擇記錄到文件中,文件形式根據(jù)用戶選擇采用二進(jìn)制文件或文本文件;同時(shí),將數(shù)據(jù)包解調(diào)模塊接出的信息根據(jù)用戶的需要存儲(chǔ)到文件中。
1.2.1 數(shù)據(jù)包解調(diào)模塊
數(shù)據(jù)包解調(diào)模塊將要完成的功能是將內(nèi)存中接收的數(shù)據(jù)首先進(jìn)行數(shù)據(jù)包的識(shí)別,找到數(shù)據(jù)包正確的包頭后,使用解包算法將數(shù)據(jù)中需要用到的信息解析出來。解析出的信息一方面實(shí)時(shí)顯示到界面上,一方面根據(jù)用戶的需要存入文件中。
1.2.2 參數(shù)刷新顯示模塊
429接收軟件需要在界面上實(shí)時(shí)顯示若干重要信息,這些重要信息包括導(dǎo)彈在 3個(gè)方向的速度 (Vx,Vy,Vz)、 經(jīng)度Lon、緯度 Lat、高度 Alt等。
此信息的提取是經(jīng)由數(shù)據(jù)包解調(diào)模塊來完成的,每解調(diào)完一個(gè)數(shù)據(jù)包后,將解調(diào)出的信息送入到顯示緩沖區(qū)中;同時(shí),界面顯示控件[3]每間隔固定的時(shí)間將會(huì)查詢一次顯示緩沖區(qū),將顯示緩沖區(qū)中的數(shù)據(jù)讀出,分批次顯示在界面上;同時(shí)將顯示緩沖區(qū)清空,等待下一個(gè)數(shù)據(jù)包的到來。
1.2.3 429事后數(shù)據(jù)分析軟件
429事后分析軟件的主要功能有:丟幀檢查、二次計(jì)算分析模塊。其模塊劃分也主要分為這兩部分。
1.2.3.1 丟幀檢查
丟幀檢查模塊的主要功能是根據(jù)接收數(shù)據(jù)中的GPS時(shí)間是否連續(xù),判斷衛(wèi)星定位組件發(fā)送的數(shù)據(jù)是否有丟幀,如有丟幀現(xiàn)象,將其丟幀的開始GPS[4]時(shí)間及結(jié)束GPS時(shí)間、期間共丟失多長(zhǎng)時(shí)間數(shù)據(jù)等信息記錄入報(bào)告文件,最終輸出。丟幀檢查模塊的主要判斷依據(jù)是包含在GPS數(shù)據(jù)包中的GPS時(shí)間信息,如相鄰兩偽據(jù)幀的GPS時(shí)間間隔大于500 ms則判斷為有丟幀。
1.2.3.2 二次計(jì)算分析模塊
二次計(jì)算分析模塊主要功能是根據(jù)輸入數(shù)據(jù)文件中的GPS信息計(jì)算所有包含參數(shù)的均值、方差、以及CEP。圓概率誤差[5]CEP(Circular Error Probable)是在以真實(shí)位置為圓心的圓內(nèi),偏離圓心概率為50%的二維點(diǎn)位離散分布度量。模塊的輸入為429數(shù)據(jù)文件,輸出為計(jì)算出的CEP以及δH、δLat、δlon、δX、δY、δZ值,并將其寫入報(bào)告文件。 軟件分兩種方法計(jì)算CEP,一種是由軟件先讀取數(shù)據(jù)做預(yù)處理[6],計(jì)算出X、Y、Z均值作為GPS基準(zhǔn)值,然后逐行讀取數(shù)據(jù)與基準(zhǔn)值做運(yùn)算最終算出CEP值,另一種是由用戶輸入GPS基準(zhǔn)值計(jì)算CEP值。計(jì)算CEP的數(shù)據(jù)處理流程如圖3所示。
圖3 計(jì)算CEP處理流程Fig.3 Calculate CEP process flow
本軟件從衛(wèi)星定位組件原理樣機(jī)階段即開始使用,應(yīng)用于組件原理樣機(jī)、工程樣機(jī)兩個(gè)階段產(chǎn)品的內(nèi)場(chǎng)交付測(cè)試、跑車試驗(yàn)數(shù)據(jù)分析、抗干擾試驗(yàn)數(shù)據(jù)分析中,在組件研發(fā)時(shí)的問題暴露、組件交付試驗(yàn)、數(shù)據(jù)分析報(bào)告的編寫等方面發(fā)揮了它應(yīng)有的作用。加快組件研制進(jìn)度,節(jié)省衛(wèi)星定位組件開發(fā)及試驗(yàn)成本,提高交付的衛(wèi)星定位組件可靠性,創(chuàng)造了一定的經(jīng)濟(jì)效益和社會(huì)效益。實(shí)時(shí)429數(shù)據(jù)處理軟件界面效果圖如圖4所示,429事后數(shù)據(jù)分析軟件效果如圖5所示。
圖4 實(shí)時(shí)429數(shù)據(jù)處理軟件界面效果圖Fig.4 Effect figure of real time 429 data process software interface
圖5 429事后數(shù)據(jù)分析軟件界面效果圖Fig.5 Effect figure of afterwards data analyse software interface
在衛(wèi)星定位組件測(cè)試需求的基礎(chǔ)上,完成了軟件的設(shè)計(jì)和程序的編寫、調(diào)試,實(shí)現(xiàn)了基于429板卡的測(cè)試軟件。軟件具有實(shí)時(shí)觀察組件輸出的定位數(shù)據(jù)是否正確來判斷組件工作狀態(tài),也可以將輸出數(shù)據(jù)存儲(chǔ)[7]下來進(jìn)行二次數(shù)據(jù)計(jì)算,根據(jù)計(jì)算結(jié)果判斷組件工作精度。軟件使用FIFO數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)實(shí)時(shí)100 s內(nèi)定位數(shù)據(jù)CEP計(jì)算,提高軟件效率達(dá)50%,滿足實(shí)時(shí)性要求。FIFO優(yōu)化設(shè)計(jì),在占用內(nèi)存資源相同的情況下,提高了算法的運(yùn)算效率,大大降低了運(yùn)算時(shí)延。對(duì)衛(wèi)星定位組件輸出數(shù)據(jù)的采集、存儲(chǔ)、計(jì)算分析等功能都可在本軟件內(nèi)實(shí)現(xiàn),操作簡(jiǎn)單快捷、參數(shù)顯示直觀。
[1]李現(xiàn)勇.Visual C++串口通信技術(shù)與工程實(shí)踐[M].北京:人民郵電出版社,2002.
[2]李征航,黃勁松.GPS測(cè)量與數(shù)據(jù)處理[M].武漢:武漢大學(xué)出版社,2005.
[3]官章全,韓云君,李罡.Visual C++6.0高級(jí)編程范例[M].北京:電子工業(yè)出版社,2000.
[4]吳曉進(jìn),吳燕,程琳娜.衛(wèi)星定位導(dǎo)航技術(shù)及應(yīng)用跟蹤研究[M].北京:信息產(chǎn)業(yè)部電子行業(yè)情報(bào)工作管理辦公室,2007.
[5]William Ford.William Topp.Data structure with C++[M].劉衛(wèi)東,譯.北京:清華大學(xué)出版社,1998.
[6]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001.
[7]管建和,夏軍寶.Windows程序設(shè)計(jì)[M].北京:人民郵電出版社,2002.