<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

          作者: 時(shí)間:2012-07-03 來(lái)源:網(wǎng)絡(luò) 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/154472.htm

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

            

            2 軟件實(shí)現(xiàn)

            2.1 按分割

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

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

            2.2 按B碼分割

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

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

            2.3 按幀序數(shù)分割

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

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

            

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

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

            3 結(jié)語(yǔ)

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


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();