新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 遙測幀數(shù)、時間和特征參數(shù)的截取方法介紹

遙測幀數(shù)、時間和特征參數(shù)的截取方法介紹

作者: 時間:2012-07-28 來源:網(wǎng)絡(luò) 收藏

O 引言

本文引用地址:http://m.butianyuan.cn/article/154279.htm

  隨著科技的進(jìn)步,空空導(dǎo)彈的研制越來越復(fù)雜。相應(yīng)地就有越來越多的數(shù)據(jù)信息需要遙測傳輸,這必然導(dǎo)致遙測接收的數(shù)據(jù)文件較大。以3 Mb/s碼率計,10 min的遙測數(shù)據(jù)就有214 MB之多。數(shù)據(jù)處理軟件往往需要經(jīng)過異步幀提取,有效位屏蔽,甚至經(jīng)過費時的字符串處理才能得到最終結(jié)果。所以當(dāng)用戶處理這種大文件時往往需要等待很長的。如果能夠把這樣大的文件分割成較小的幾個文件然后分別處理,那么處理軟件的運行就可以縮短到用戶可以忍受的程度。

  另一方面,空空導(dǎo)彈的發(fā)射試驗往往比較短暫,從導(dǎo)彈離開載機直到導(dǎo)彈爆炸只有不到1 min的。數(shù)據(jù)分析人員最關(guān)心的也正是這段時間的數(shù)據(jù)。而實際遙測中,為了確保數(shù)據(jù)的可靠接收,會從發(fā)射前5 min開始記錄直到遙測信號完全消失才停止記錄。

  這種情況下,如果能夠根據(jù)導(dǎo)彈發(fā)射的信號(比如導(dǎo)彈與發(fā)射架分離的信號)來遙測數(shù)據(jù)文件也具有重要的實際意義。

  本文通過對實際需求的分析,提出了按遙測幀數(shù)、時間和三種文件,并在VC 6.O平臺上予以實現(xiàn)。

  1 軟件設(shè)計

  1.1 功能設(shè)計

  在空空導(dǎo)彈遙測中,待傳輸?shù)男盘柖际窍韧ㄟ^多路復(fù)用組裝成一個N字節(jié)長的遙測幀然后調(diào)制傳輸。在接收端解調(diào)后先通過幀同步獲得該N字節(jié)長的遙測幀,然后在幀頭加入8 B的時碼(又稱為B碼)來表示接收到該幀的時刻,如圖1所示。這樣存盤后的文件字節(jié)數(shù)是N+8的整數(shù)倍。

  

遙測幀發(fā)送接收過程 www.elecfans.com


  因為遙測數(shù)據(jù)按幀存放,所以有意義的最小分割單位是幀而不是字節(jié),對文件的最后都要歸結(jié)到按幀來截取。因此,軟件的第一個功能同時也是最基本的功能就是按幀的起止序號進(jìn)行分割。

  由于文件中每一幀數(shù)據(jù)的幀頭都有B碼,所以將該B碼換算成實際時間之后也可以根據(jù)時間進(jìn)行截取。

  數(shù)據(jù)分析人員一般要求提取導(dǎo)彈發(fā)射后到爆炸這一時間段的數(shù)據(jù),所以利用導(dǎo)彈發(fā)射電氣分離信號(ES)的跳變,截取跳變時刻前5 s直到跳變時刻后50 s的數(shù)據(jù)能夠確保覆蓋所需數(shù)據(jù),同時盡量減小數(shù)據(jù)文件的大小。

  典型的電氣分離信號圖形如圖2所示。

  

典型的電氣分離信號圖形 www.elecfans.com

  通過對圖2的分析可以得出以下結(jié)論:ES跳變點需要通過計算的來判決,比如當(dāng)前數(shù)據(jù)點與下一數(shù)據(jù)點之差超過信號范圍的2/3,那么就認(rèn)為當(dāng)前點為跳變點。但是對于圖2(c)中有野點的情況這種判決就有可能導(dǎo)致誤判。所以最好的辦法是讓用戶參與跳變點的判決。軟件自動找到第一個跳變點,用戶可以通過快捷鍵找到下一個跳變點,直到正確的跳變點為止。

  這種設(shè)計杜絕了跳變點的誤判,同時又能直觀快捷地輔助用戶找到跳變點,另外還簡化了軟件的設(shè)計。

  1.2 模塊設(shè)計

  分割一個文件的流程,如圖3所示。

  

文件的流程 www.elecfans.com

  分析圖3可以得出軟件必須的幾個模塊:

  (1)打開待分割文件并自動生成分割后文件;

  (2)分割方式選擇;

  (3)數(shù)據(jù)繪制;

  (4)起止幀序數(shù)選擇;

  (5)起止時間選擇;

(6)是否需要剔除無效幀。

  最終確定的軟件界面如圖4所示。

  

  2 軟件實現(xiàn)

  2.1 按特征分割

  按特征參數(shù)分割涉及到遙測參數(shù)解算。程序運行時首先加載動態(tài)鏈接庫dbreader.dll,postpro.dll和eu.dll。在OnInitDialog中調(diào)用函數(shù)GetTMFrame FormatInfo來獲取遙測幀格式,包括遙測幀的長度,碼率,同步碼位置等信息。然后調(diào)用函數(shù)GetTM ParaAllReeord來獲取所有參數(shù)在遙測幀中的位置信息,解算方法等。

  當(dāng)用戶從程序界面的參數(shù)下拉列表框中選擇一個參數(shù)時,觸發(fā)CBN_SELCHANGE事件并調(diào)用消息函數(shù)。在消息函數(shù)中根據(jù)參數(shù)是幀同步數(shù)據(jù)還是幀異步數(shù)據(jù)分別調(diào)用GetASyncParaValue函數(shù)或EUConvert函數(shù)解算出數(shù)據(jù),同時從數(shù)據(jù)中找出跳變點,然后在圖形控件上繪出曲線。

  2.2 按B碼時間分割

  要想根據(jù)時間信息來查找對應(yīng)的遙測幀就需要將該時間和文件中各遙測幀頭的B碼代表的時間進(jìn)行比較。如果采用遍歷查找的方法,對于總幀數(shù)為N的文件,理論上需要比較(N+1)/2次,要找到起、止兩個時間對應(yīng)的幀就要比較N+1次。這對于較大的文件來說消耗的時間會很長。

  在遙測文件中,每幀數(shù)據(jù)都是按接收到的先后順序從前往后依次存放。也就是說,搜索的目的序列是有序的。對于這種情況,可以采用折半查找法進(jìn)行搜索。理論證明,采用折半查找最多需要的比較次數(shù)為[log2(n+1)],搜索起、止兩個時間共需比較2*[log2(n+1)]次。

  2.3 按幀序數(shù)分割

  三種分割方式最后都?xì)w結(jié)到按幀分割。按幀分割惟一復(fù)雜的地方就是剔除無效幀。要剔除無效幀需要將每一幀數(shù)據(jù)的同步碼取出來和標(biāo)準(zhǔn)的同步碼進(jìn)行比較。如果差異位數(shù)超過容許值就丟棄該幀,否則保留。很多程序都采用依次右移一位,看二者最低位是否相同,如果不同則計數(shù)加1,循環(huán)直到兩個數(shù)都為零的方法。

  這種方法效率非常低。本文采用了如圖5所示的計算方法。

  

計算同步碼錯誤位數(shù) www.elecfans.com

  這種算法的關(guān)鍵在兩處:首先對兩個被比較數(shù)a和b按位異或,結(jié)果c的二進(jìn)制數(shù)中為1的位置就是a和b不一致的位置。然后c不停地與c-1按位與并將結(jié)果賦給c,直到c為O。通過歸納法可以證明c與c-1按位與可以消掉c的從低位往高位數(shù)的第一個1,所以c的二進(jìn)制值有幾個1就循環(huán)幾次。

  3 結(jié)語

  本遙測軟件采用模塊化設(shè)計,便于實現(xiàn)和測試。同時結(jié)合遙測文件的結(jié)構(gòu),實現(xiàn)了按幀序數(shù)、按時間和按特征參數(shù)三種分割方法,較好地滿足了型號遙測數(shù)據(jù)處理的需求。從軟件的設(shè)計可以看出,對于較復(fù)雜的軟件采用自頂向下,逐漸細(xì)化的分析方法,分模塊設(shè)計;對于影響程序性能的處理過程有針對性地進(jìn)行優(yōu)化,可以有效地提高程序的可靠性和性能并簡化設(shè)計過程。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉