亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)的混合編程實(shí)現(xiàn)與應(yīng)用

        2015-09-24 04:06:36解瑩解劍中國(guó)電子科技集團(tuán)公司第五十四研究所河北石家莊050081
        關(guān)鍵詞:調(diào)用引擎編程

        解瑩解劍(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

        導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)的混合編程實(shí)現(xiàn)與應(yīng)用

        解瑩解劍(中國(guó)電子科技集團(tuán)公司第五十四研究所,河北石家莊050081)

        針對(duì)導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)算法計(jì)算量大、編程復(fù)雜和開發(fā)周期長(zhǎng)的問(wèn)題,分析了Matlab軟件等開發(fā)工具的優(yōu)缺點(diǎn),提出了3種混合編程的方法以實(shí)現(xiàn)導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)系統(tǒng)的開發(fā),包括基于引擎的方法、基于組件的方法以及基于動(dòng)態(tài)鏈接庫(kù)的方法,分析了各自的特點(diǎn),并采用基于動(dòng)態(tài)鏈接庫(kù)的方法,簡(jiǎn)化了導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)算法的設(shè)計(jì)和開發(fā)工作,縮短了項(xiàng)目的研發(fā)周期。

        導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè) Matlab混合編程 動(dòng)態(tài)鏈接庫(kù)

        1 引言

        基于上述分析,在導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)中,可以采用混合編程的方法,以充分利用不同軟件的優(yōu)點(diǎn),從而既可以縮短開發(fā)周期,又能夠提高軟件的質(zhì)量。下面主要介紹VC++和Matlab混合編程的3種方法[4]。

        2 基于Matlab引擎的實(shí)現(xiàn)方法

        VC++和Matlab混合編程最簡(jiǎn)單的實(shí)現(xiàn)方式就是調(diào)用Matlab引擎。Matlab允許用戶通過(guò)調(diào)用Matlab引擎的方法來(lái)調(diào)用Matlab函數(shù)完成計(jì)算功能,并提供了一系列操作Matlab引擎的應(yīng)用程序接口(API)函數(shù),通過(guò)這些函數(shù)用戶可以實(shí)現(xiàn)Matlab和VC++之間的交互。這樣可以把運(yùn)算任務(wù)交給Matlab來(lái)完成,而用戶界面部分則用VC++來(lái)實(shí)現(xiàn),列出了一些常用的應(yīng)用程序接口函數(shù)如表1所示。

        表1 應(yīng)用程序接口函數(shù)庫(kù)

        通過(guò)調(diào)用Matlab引擎的方法實(shí)現(xiàn)混合編程,需要首先把Matlab對(duì)應(yīng)的包含文件和庫(kù)文件包含到VC++路徑中,具體方法如下:進(jìn)入VC++的tools/options/directories,在include file中添加D:MATLABR2007AEXTERNINCLUDE,在library file中添加D:MATLABR2007AEXTERNLIBWIN32MICROSOFT。編寫VC++程序時(shí),需要包含Matlab引擎頭文件#include“engine.h”。在調(diào)用Matlab引擎之前需要首先定義Matlab引擎變量,并調(diào)用engOpen函數(shù)開啟引擎,在計(jì)算完畢后,需要調(diào)用engClose函數(shù)關(guān)閉Matlab引擎。程序中可以開啟多個(gè)Matlab引擎,但是同時(shí)只能有一個(gè)引擎處于運(yùn)行狀態(tài)。

        基于這個(gè)方法,就可以簡(jiǎn)化信號(hào)監(jiān)測(cè)中的算法開發(fā)任務(wù)。基于引擎的方式實(shí)現(xiàn)簡(jiǎn)單,但是執(zhí)行效率較低,設(shè)計(jì)起來(lái)不夠靈活,在工程中應(yīng)用不廣泛。

        3 基于COM組件的實(shí)現(xiàn)方法

        組件對(duì)象模型(COM)是以組件為發(fā)布單元的對(duì)象模型,它是建立在二進(jìn)制級(jí)別上的規(guī)范,所以組件對(duì)象之間的交互規(guī)范不依賴于任何特定的開發(fā)語(yǔ)言[5]。采用這種方法開發(fā)模式可以實(shí)現(xiàn)跨語(yǔ)言的編程,也使得軟件升級(jí)換代更加簡(jiǎn)單。

        把Matlab程序編譯為COM組件的方法如下所示:①首先建立一個(gè)新的工程;②編寫Matlab函數(shù),并把函數(shù)添加到新建的組件類中;③添加函數(shù),實(shí)現(xiàn)對(duì)COM組件屬性的訪問(wèn);④對(duì)工程進(jìn)行編譯,得到COM組件。得到COM組件以后,就可以在采用VC++中調(diào)用COM組件的方式,來(lái)簡(jiǎn)化工程中的編程任務(wù)。

        基于COM組件的方法雖然能夠很好的實(shí)現(xiàn)VC++和Matlab混合編程,但是具體實(shí)現(xiàn)起來(lái)步驟比較繁瑣,還需要算法設(shè)計(jì)人員具備COM組件的相關(guān)知識(shí),因此實(shí)際中應(yīng)用不多。

        4 基于動(dòng)態(tài)鏈接庫(kù)的實(shí)現(xiàn)方法

        動(dòng)態(tài)鏈接庫(kù)(DLL)可以使程序設(shè)計(jì)更加靈活,可以很好地實(shí)現(xiàn)代碼共享,采用一種語(yǔ)言設(shè)計(jì)的動(dòng)態(tài)鏈接庫(kù),可以很好的在其他語(yǔ)言中進(jìn)行調(diào)用,而不會(huì)增加設(shè)計(jì)復(fù)雜度。Matlab也提供了把m文件編譯為動(dòng)態(tài)鏈接庫(kù)的方法,以利于使用不同編程語(yǔ)言的程序員調(diào)用。使用matlab編譯器之前,需要對(duì)其進(jìn)行設(shè)置,運(yùn)行mbuild setup,選擇安裝VC++對(duì)應(yīng)的編譯器,然后就可以用通過(guò)mcc命令,把相應(yīng)的Matlab文件編譯成動(dòng)態(tài)鏈接庫(kù)。

        VC++調(diào)用Matlab動(dòng)態(tài)鏈接庫(kù)的實(shí)現(xiàn)步驟具體如下:

        只有把品質(zhì)、把質(zhì)量看作生命的企業(yè),才能更好地服務(wù)于質(zhì)量檢測(cè)市場(chǎng)。對(duì)于這一點(diǎn),凌云不僅做到了,而且還將做得更好。

        ①編寫Matlab函數(shù)文件,取名為myplot.m;

        ②運(yùn)行mcc B csharedlib:libmycplot myplot.m,將m文件編譯為動(dòng)態(tài)鏈接庫(kù)。編譯產(chǎn)生的文件中,對(duì)VC++調(diào)用動(dòng)態(tài)鏈接庫(kù)libmyplot.h,libmyplot.lib,libmyplot.ctf,libmyplot.dll文件;

        ③ 創(chuàng)建 VC工程,取名為 testmyplot,然后選擇project|settings,在link|input選項(xiàng)中,添加鏈接過(guò)程中需要的庫(kù)文件;

        ④將libmyplot.dll復(fù)制到Windows系統(tǒng)目錄(system或者system32)后者testmyplot工程的debug目錄中,將libmyplot.h,libmyplot.lib復(fù)制到testmyplot工程目錄中,將libmyplot.ctf復(fù)制到testmyplot工程的debug目錄中。

        然后就可以在工程中調(diào)用libmyplot的動(dòng)態(tài)鏈接庫(kù),實(shí)現(xiàn)相應(yīng)的功能了。

        在VC++中調(diào)用Matlab動(dòng)態(tài)鏈接庫(kù),每一個(gè)動(dòng)態(tài)鏈接庫(kù)都對(duì)應(yīng)一個(gè)MCR實(shí)例。在每一個(gè)應(yīng)用中需要對(duì)MCR進(jìn)行初始化,調(diào)用動(dòng)態(tài)鏈接庫(kù)之前,要對(duì)鏈接庫(kù)進(jìn)行初始化。調(diào)用結(jié)束后要關(guān)閉相應(yīng)的動(dòng)態(tài)鏈接庫(kù)。當(dāng)不需要調(diào)用matlab動(dòng)態(tài)鏈接庫(kù)時(shí),要釋放調(diào)用的MCR資源。

        另外還可以通過(guò)FindWindow,ModifyStyle,MoveWindow函數(shù)將生成的Matlab圖形繪制窗口其納入到VC的界面中,這樣可以使得整個(gè)程序的運(yùn)行風(fēng)格更加協(xié)調(diào)。是基于動(dòng)態(tài)鏈接庫(kù)的混合編程計(jì)算得到的導(dǎo)航信號(hào)功率譜[6],如圖1所示,其中實(shí)線是基帶信號(hào)碼片延遲0.06個(gè)碼片時(shí)的功率譜,虛線是理想基帶信號(hào)功率譜。

        圖1 衛(wèi)星導(dǎo)航基帶信號(hào)功率譜(平滑譜)

        基于動(dòng)態(tài)鏈接庫(kù)的混合編程方法實(shí)現(xiàn)起來(lái)比較靈活,能夠很好的結(jié)合VC++和Matlab的優(yōu)點(diǎn),有效地簡(jiǎn)化系統(tǒng)設(shè)計(jì),縮短設(shè)計(jì)周期,提高了效率和可靠性,可以很好地滿足工程應(yīng)用的需求。此外采用這種方法,編程人員只需要提供動(dòng)態(tài)鏈接庫(kù)和相應(yīng)的調(diào)用說(shuō)明,有利于軟件模塊化的實(shí)現(xiàn)。

        5 結(jié)束語(yǔ)

        導(dǎo)航信號(hào)質(zhì)量監(jiān)測(cè)算法計(jì)算量大,編程復(fù)雜,采用混合編程的方法能夠充分利用VC++的圖形用戶界面設(shè)計(jì)能力和Matlab軟件的數(shù)值計(jì)算能力,有效地簡(jiǎn)化了系統(tǒng)設(shè)計(jì),縮短了開發(fā)周期。此外,在運(yùn)算量比較大,算法比較密集的工程設(shè)計(jì),如信號(hào)處理、圖像處理、聲音處理、數(shù)學(xué)建模和數(shù)據(jù)挖掘等領(lǐng)域中,混合編程方法也具有很好的應(yīng)用前景。

        [1]Elliott D,Kaplan,Christopher J,Hegarty.Understanding GPS Principles and Applications,Second Edition.[M].寇艷紅,譯.北京:電子工業(yè)出版社,2007:111-171

        [2]Mitelman A M.Signal Quality Monitoring for GPS Augmentation Systems[D].USA:Stanford University,2004.

        [3]陳路路.VC++和Matlab集成應(yīng)用的研究[J].無(wú)線電工程,2006,36(5):55-58.

        [4]劉 維.精通Matlab與C/C++混合程序設(shè)計(jì)[M].北京:北京航空航天大學(xué)出版社,2008:138-253.

        [5]譚思云,陳紅波,李志明.Matlab和VC聯(lián)合編程的方法及實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用.2004,23(1)26-29.

        [6]高 成,金 濤.MATLAB信號(hào)處理與應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2005:28-82.

        Implement and Application of Mixed Co-programming of Navigation Signal Quality Monitoring

        XIE Ying,XIE Jian
        (The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

        In view of complex computation,complex programming and long development period of navigation signal quality monitoring algorithm,this paper analyzes the advantages and disadvantages of development tools such as Matlab.The three co-programming methods are proposed to implement the development of navigation signal quality monitoring system,such as engine-based method,component-based method and DLL-based method,and their characteristics are analyzed.The DLL-based method is used to simplify the design and development of navigation signal quality monitoring algorithm and shorten the development period.

        navigation signal quality monitoring;Matlab;Co-programming;Dynamic Link Library(DLL)

        TP311

        A

        1008-1739(2015)24-58-3

        定稿日期:2015-11-26

        猜你喜歡
        調(diào)用引擎編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        無(wú)形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于Cocos2d引擎的PuzzleGame開發(fā)
        久久久av波多野一区二区| 久久久久久久无码高潮| 国产va免费精品观看| 欧美巨大精品欧美一区二区| 久久久久久久妓女精品免费影院| 国产高清天干天天视频| 精品人妻久久av中文字幕| 91三级在线观看免费| 国产无套乱子伦精彩是白视频| 乱人妻中文字幕| 亚洲av色福利天堂| 国产一区二区精品久久凹凸| 在线观看播放免费视频| 亚洲乱码中文字幕综合久久| 国产日韩精品suv| 曰本人做爰又黄又粗视频| 精品久久久久久久中文字幕| 一区二区三区国产美女在线播放| 一区二区三区在线观看精品视频| 久久这里都是精品99| 人人摸人人搞人人透| 男女边吃奶边做边爱视频| 国产主播一区二区在线观看| 亚洲综合免费在线视频| 国产精品一区二区黄色| 久久精品国产色蜜蜜麻豆| a在线免费| 强d漂亮少妇高潮在线观看| 成人在线观看视频免费播放| 国产亚洲一区二区三区| 欧洲熟妇色xxxx欧美老妇多毛| 国内精品久久久久久无码不卡| 一区二区三区国产97| 亚洲精品一区二区高清| 国产xxxxx在线观看| 7878成人国产在线观看| av天堂吧手机版在线观看| 日本加勒比精品一区二区视频| 免费看男女做羞羞的事网站| 国产精美视频| 日本一区二区三区在线|