999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

導航信號質量監測的混合編程實現與應用

2015-09-24 04:06:36解瑩解劍中國電子科技集團公司第五十四研究所河北石家莊050081
計算機與網絡 2015年24期
關鍵詞:引擎信號方法

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

導航信號質量監測的混合編程實現與應用

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

針對導航信號質量監測算法計算量大、編程復雜和開發周期長的問題,分析了Matlab軟件等開發工具的優缺點,提出了3種混合編程的方法以實現導航信號質量監測系統的開發,包括基于引擎的方法、基于組件的方法以及基于動態鏈接庫的方法,分析了各自的特點,并采用基于動態鏈接庫的方法,簡化了導航信號質量監測算法的設計和開發工作,縮短了項目的研發周期。

導航信號質量監測 Matlab混合編程 動態鏈接庫

1 引言

基于上述分析,在導航信號質量監測中,可以采用混合編程的方法,以充分利用不同軟件的優點,從而既可以縮短開發周期,又能夠提高軟件的質量。下面主要介紹VC++和Matlab混合編程的3種方法[4]。

2 基于Matlab引擎的實現方法

VC++和Matlab混合編程最簡單的實現方式就是調用Matlab引擎。Matlab允許用戶通過調用Matlab引擎的方法來調用Matlab函數完成計算功能,并提供了一系列操作Matlab引擎的應用程序接口(API)函數,通過這些函數用戶可以實現Matlab和VC++之間的交互。這樣可以把運算任務交給Matlab來完成,而用戶界面部分則用VC++來實現,列出了一些常用的應用程序接口函數如表1所示。

表1 應用程序接口函數庫

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

基于這個方法,就可以簡化信號監測中的算法開發任務。基于引擎的方式實現簡單,但是執行效率較低,設計起來不夠靈活,在工程中應用不廣泛。

3 基于COM組件的實現方法

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

把Matlab程序編譯為COM組件的方法如下所示:①首先建立一個新的工程;②編寫Matlab函數,并把函數添加到新建的組件類中;③添加函數,實現對COM組件屬性的訪問;④對工程進行編譯,得到COM組件。得到COM組件以后,就可以在采用VC++中調用COM組件的方式,來簡化工程中的編程任務。

基于COM組件的方法雖然能夠很好的實現VC++和Matlab混合編程,但是具體實現起來步驟比較繁瑣,還需要算法設計人員具備COM組件的相關知識,因此實際中應用不多。

4 基于動態鏈接庫的實現方法

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

VC++調用Matlab動態鏈接庫的實現步驟具體如下:

只有把品質、把質量看作生命的企業,才能更好地服務于質量檢測市場。對于這一點,凌云不僅做到了,而且還將做得更好。

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

②運行mcc B csharedlib:libmycplot myplot.m,將m文件編譯為動態鏈接庫。編譯產生的文件中,對VC++調用動態鏈接庫libmyplot.h,libmyplot.lib,libmyplot.ctf,libmyplot.dll文件;

③ 創建 VC工程,取名為 testmyplot,然后選擇project|settings,在link|input選項中,添加鏈接過程中需要的庫文件;

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

然后就可以在工程中調用libmyplot的動態鏈接庫,實現相應的功能了。

在VC++中調用Matlab動態鏈接庫,每一個動態鏈接庫都對應一個MCR實例。在每一個應用中需要對MCR進行初始化,調用動態鏈接庫之前,要對鏈接庫進行初始化。調用結束后要關閉相應的動態鏈接庫。當不需要調用matlab動態鏈接庫時,要釋放調用的MCR資源。

另外還可以通過FindWindow,ModifyStyle,MoveWindow函數將生成的Matlab圖形繪制窗口其納入到VC的界面中,這樣可以使得整個程序的運行風格更加協調。是基于動態鏈接庫的混合編程計算得到的導航信號功率譜[6],如圖1所示,其中實線是基帶信號碼片延遲0.06個碼片時的功率譜,虛線是理想基帶信號功率譜。

圖1 衛星導航基帶信號功率譜(平滑譜)

基于動態鏈接庫的混合編程方法實現起來比較靈活,能夠很好的結合VC++和Matlab的優點,有效地簡化系統設計,縮短設計周期,提高了效率和可靠性,可以很好地滿足工程應用的需求。此外采用這種方法,編程人員只需要提供動態鏈接庫和相應的調用說明,有利于軟件模塊化的實現。

5 結束語

導航信號質量監測算法計算量大,編程復雜,采用混合編程的方法能夠充分利用VC++的圖形用戶界面設計能力和Matlab軟件的數值計算能力,有效地簡化了系統設計,縮短了開發周期。此外,在運算量比較大,算法比較密集的工程設計,如信號處理、圖像處理、聲音處理、數學建模和數據挖掘等領域中,混合編程方法也具有很好的應用前景。

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

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

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

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

[5]譚思云,陳紅波,李志明.Matlab和VC聯合編程的方法及實現[J].計算機應用.2004,23(1)26-29.

[6]高 成,金 濤.MATLAB信號處理與應用[M].北京:國防工業出版社,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

猜你喜歡
引擎信號方法
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
藍谷: “涉藍”新引擎
商周刊(2017年22期)2017-11-09 05:08:31
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
基于LabVIEW的力加載信號采集與PID控制
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
無形的引擎
河南電力(2015年5期)2015-06-08 06:01:46
捕魚
基于Cocos2d引擎的PuzzleGame開發
主站蜘蛛池模板: 五月天综合婷婷| 中文字幕亚洲第一| 久久99久久无码毛片一区二区| 欧美激情一区二区三区成人| 在线看片免费人成视久网下载| 伊人久久大线影院首页| 国产一级裸网站| 大陆国产精品视频| 71pao成人国产永久免费视频| 色丁丁毛片在线观看| 波多野结衣AV无码久久一区| 亚洲男人天堂2018| 久久黄色免费电影| 91精品久久久无码中文字幕vr| 欧美高清国产| 国产区福利小视频在线观看尤物| 国产精品观看视频免费完整版| 国产精品刺激对白在线| 欧美亚洲中文精品三区| 久久成人免费| 在线免费不卡视频| 91人妻在线视频| 国产精品19p| 天天摸天天操免费播放小视频| 欧美高清三区| 免费可以看的无遮挡av无码| 国产人人射| 亚洲码在线中文在线观看| 欧美在线一二区| 777午夜精品电影免费看| 久久美女精品| 国产精选小视频在线观看| 亚洲AV无码乱码在线观看代蜜桃 | 亚洲国产AV无码综合原创| 五月激激激综合网色播免费| 高清久久精品亚洲日韩Av| 成人福利在线观看| 国产午夜福利亚洲第一| 又猛又黄又爽无遮挡的视频网站| 久久综合九色综合97婷婷| 九九热视频在线免费观看| 国产精品九九视频| 国产特一级毛片| 国产爽妇精品| 色亚洲成人| 欧美第一页在线| 内射人妻无码色AV天堂| 亚洲综合久久成人AV| 免费 国产 无码久久久| 成人在线天堂| 九九热精品视频在线| 狠狠色综合网| 在线观看的黄网| 国产精品尹人在线观看| 亚洲va在线∨a天堂va欧美va| 第一页亚洲| 四虎影视8848永久精品| 国产99精品视频| 免费在线成人网| 精品无码日韩国产不卡av | 奇米精品一区二区三区在线观看| 成人福利在线观看| 高h视频在线| 中文字幕日韩丝袜一区| 国产国产人在线成免费视频狼人色| 亚洲色欲色欲www在线观看| 婷婷五月在线| 在线国产欧美| 亚洲第一成年人网站| 成人午夜精品一级毛片| av色爱 天堂网| 欧美日韩专区| 黄色免费在线网址| 精品国产香蕉在线播出| 人妻一本久道久久综合久久鬼色| 亚洲一级色| www.youjizz.com久久| 免费中文字幕在在线不卡| 在线播放国产一区| 色婷婷国产精品视频| 精品无码一区二区三区在线视频| 丁香婷婷久久|