欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Matlab與opnet聯(lián)合編程解決opnet管道中陣列天線的自動跟蹤問題的制作方法

文檔序號:6580706閱讀:639來源:國知局
專利名稱:Matlab與opnet聯(lián)合編程解決opnet管道中陣列天線的自動跟蹤問題的制作方法
MATLAB與OPNET聯(lián)合編程解決OPNET管道中陣列天線的自動跟蹤問題技術(shù)領(lǐng)域
Matlab是一種面向工程實踐和科學(xué)運(yùn)算的交互式仿真軟件,它集科學(xué)計算、信號 處理、系統(tǒng)仿真與圖形可視化于一體,具有極高的編程效率,非常有利于工程技術(shù)人員方便 地解決各種問題;然而由于Matlab是一種解釋性語言開發(fā)平臺,這就決定了它的代碼執(zhí)行 效率比較低。因此,將OPNET與MATLAB結(jié)合,進(jìn)行混合編程,實現(xiàn)優(yōu)勢互補(bǔ),將大大提高工 作效率,從而達(dá)到能夠在代碼執(zhí)行速度和編程效率上找到一個最佳平衡點。
背景技術(shù)
眾所周知OPNET在網(wǎng)絡(luò)仿真方面功能強(qiáng)大,但是在物理層和鏈路層仿真方面相對 較弱。仿真中常常需要鏈路或物理層方面的開發(fā),比如自適應(yīng)陣列天線的跟蹤算法實現(xiàn)。由 于陣列天線的增益是按照跟蹤算法不斷修正加權(quán)因子,因此需要進(jìn)行大量的矩陣運(yùn)算。而 OPNET中采用C/C++進(jìn)行編程,執(zhí)行效率較高,但在矩陣運(yùn)算、數(shù)值分析、工程計算等實現(xiàn)功 能卻顯得不足。發(fā)明內(nèi)容
本發(fā)明是采用Matcom,一個能將M文件轉(zhuǎn)化成相同功能C++代碼的工具進(jìn)行矩陣 運(yùn)算,并嵌入到OPNET當(dāng)中。這樣當(dāng)OPNET仿真中,需要陣列天線對目標(biāo)進(jìn)行跟蹤時,可以 隨時根據(jù)自適應(yīng)算法調(diào)用矩陣運(yùn)算程序進(jìn)行權(quán)值計算。雖然M文件的編譯及與C/C++之間 的接口都已經(jīng)在MATLAB6. 0以后的版本中實現(xiàn)。但是,對于采用C++的工程和研究人員來 說,MATCOM的C++矩陣庫(Matrix Lib)依舊有一定的利用價值。MATCOM C++矩陣庫提供 雙精度級的計算精度,其矩陣類型可以為復(fù)數(shù)、實數(shù)、系數(shù)矩陣及η維矩陣。MATCOM中包涵 了約600個經(jīng)過嚴(yán)格測試的函數(shù),這些函數(shù)涉及線性代數(shù)、多項式數(shù)學(xué)、信號和文件I/O等 方面。為了方便使用C++的開發(fā)人員,MATCOM C++矩陣庫還重載了常用的運(yùn)算符,例如矩 陣的+、_、*、/運(yùn)算符以及矩陣的索引操作符。另外,MATCOM也提供了很多類似MATLAB函 數(shù)的圖形庫,為用戶開發(fā)曲線顯示、圖像顯示及其他數(shù)據(jù)顯示軟件提供了一個更好的選擇。
在OPNET中調(diào)用Matcom可以分成兩步來進(jìn)行,首先在VC中將M文件轉(zhuǎn)化為C++, 然后將C++代碼加到OPNET的C++管道程序中。


圖,.IVisual Matcom 工具欄,
圖,.2Matlab運(yùn)行結(jié)果
圖,.3Mideva運(yùn)行結(jié)果
圖,.4對Ims工程頭文件添加
圖,.5對Ims工程進(jìn)行設(shè)置
圖,.61ms工程中的文件一覽
具體實施例方式
l.Visual Matcom開發(fā)環(huán)境的安裝。
(1)拷貝 \bin\usertype. dat 文件(指Matcom 的安裝路徑)到 \Common\MSDev98\ Bin目錄(指VC的安裝路徑)下。
(2)運(yùn)行 Visual C++,從菜單條中選擇!"ools/Customize/Add-ins and Macro Files,選擇Browse,改變文件類型為Add-ins (. dll),選定\bin\mvcide. dll文件,確定。
(3)這樣,可以在Visual C++的開發(fā)環(huán)境中看到一個如圖1所示的Visual Matcom 工具欄,表明安裝成功。
2.通過Matcom實現(xiàn)VC對Matlab程序的調(diào)用
以天線自適應(yīng)跟蹤的一個程序zishiyingzengyi. m為例,
(I)Matlab運(yùn)行環(huán)境中編寫程序zishiyingzengyi. m,運(yùn)行結(jié)果如圖2。
(2) zishiyingzengyi. m 在 mideva 中運(yùn) 亍結(jié)果如圖 3
(3)以一個簡單的控制臺程序為例,其它程序基本相同。
在VC環(huán)境中建立一個名為Ims的Win32 Console Application工程,選擇 Project I Setting菜單項,對Link選項卡中的hput下加入v4501v. lib,并且根據(jù)Matcom 安裝目錄設(shè)置路徑D \matcom45\lib。打開C/C++選項卡,為頭文件添加目錄D \matcom45\ lib,如圖4。
(4)點擊Visual Matcom工具欄上的m++圖標(biāo),選擇保存過的Matlab文件 zishiyingzengyi. m進(jìn)行轉(zhuǎn)化。如果看到的轉(zhuǎn)化信息提示沒有錯誤就可以觀察到此時在 FileView標(biāo)簽中多了m-files,C++files created from m_files,Matrix等文件。并且該工 程目錄下增加了 zishiyingzengyi. h,zishiyingzengyi. cpp等文件。這時會在VC中出現(xiàn)一 個轉(zhuǎn)換完畢的文件,文件中如果報告有錯誤就要考慮是否程序有問題,可以雙擊C++files 文件夾下的zishiyingzengyi. m進(jìn)行修改,再重新轉(zhuǎn)化直到?jīng)]有錯誤報告為止。
新建lib文件夾,在C盤目錄下面。該文件夾中包含了以下文件v4501v. lib ; ago45. dllmatlib.h v4501v.dll??梢栽趍atcom的安裝文件中找到。需要對Edit下 的Pereference進(jìn)行設(shè)置如圖5。在find中輸入bind找到bind_shobj_flags選項,輸 Λ /LIBPATHC/matcom45/lib,對 bind_shobj_libs 中輸入 v4501v. lib,點擊確定,在 system32中放入兩個動態(tài)連接庫文件。注意在系統(tǒng)環(huán)境變量中include中包含該lib文件 夾的路徑。這樣就可以使用matcom中的矩陣運(yùn)算了圖6。
將zishiyingzengyi. cpp中代碼拷貝至opnet的C++管道階段程序中,只要在需 要在程序中包含matlib. h,在代碼開頭初始化matlib庫initM(MATC0M_VERSI0N),結(jié)束調(diào) 用后做結(jié)束工作exitMO,就可以了。通過函數(shù).addrO和.addi ()分別獲得矩陣的實部和 虛部的地址,其返回值double*型的指針。
權(quán)利要求
MATLAB與OPNET聯(lián)合編程解決OPNET管道中陣列天線的自動跟蹤問題
1.基本原理方面采用MATCOM在VC中將M文件轉(zhuǎn)化成相同功能C++代碼的工具進(jìn)行矩陣運(yùn)算,然后將 C++代碼加到OPNET的C++管道程序中,嵌入到OPNET當(dāng)中;
2.應(yīng)用方面當(dāng)OPNET仿真中,需要陣列天線對目標(biāo)進(jìn)行跟蹤時,可以隨時根據(jù)自適應(yīng)算法調(diào)用矩 陣運(yùn)算程序進(jìn)行權(quán)值計算。
全文摘要
Matlab是一種面向工程實踐和科學(xué)運(yùn)算的交互式仿真軟件,它集科學(xué)計算、信號處理、系統(tǒng)仿真與圖形可視化于一體,具有極高的編程效率,非常有利于工程技術(shù)人員方便地解決各種問題;然而由于Matlab是一種解釋性語言開發(fā)平臺,這就決定了它的代碼執(zhí)行效率比較低。因此,將OPNET與MATLAB結(jié)合,進(jìn)行混合編程,實現(xiàn)優(yōu)勢互補(bǔ),將大大提高工作效率。在OPNET中調(diào)用Matcom可以分成兩步來進(jìn)行,首先在VC中將M文件轉(zhuǎn)化為C++,然后將C++代碼加到OPNET的C++管道程序中。
文檔編號G06F9/44GK102033739SQ20091017661
公開日2011年4月27日 申請日期2009年9月24日 優(yōu)先權(quán)日2009年9月24日
發(fā)明者宗鵬, 楊秩群 申請人:宗鵬, 楊秩群
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
平塘县| 贵定县| 巴东县| 连州市| 武宁县| 浦城县| 崇仁县| 汤原县| 威宁| 濮阳市| 湘乡市| 阜康市| 芦溪县| 万州区| 江西省| 通山县| 偏关县| 临泉县| 汝阳县| 诸暨市| 棋牌| 清苑县| 巴楚县| 凤庆县| 资源县| 尤溪县| 大名县| 西充县| 酒泉市| 禄丰县| 拜城县| 南京市| 黄山市| 贺州市| 潜江市| 南乐县| 延川县| 郓城县| 车致| 万荣县| 嵊州市|