新聞中心

EEPW首頁 > 手機與無線通信 > 設計應用 > 基于VC6.0的遙測幀數(shù)、時間和特征參數(shù)的截取方法

基于VC6.0的遙測幀數(shù)、時間和特征參數(shù)的截取方法

作者: 時間:2012-07-03 來源:網絡 收藏

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

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

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

  

  2 軟件實現(xiàn)

  2.1 按分割

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

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

  2.2 按B碼分割

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

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

  2.3 按幀序數(shù)分割

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

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

  

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

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

  3 結語

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


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉