虛擬雷達(dá)信號(hào)分析儀設(shè)計(jì)方法研究
摘要:由于虛擬儀器技術(shù)具有使用方便、成本低、開發(fā)性強(qiáng)等特點(diǎn),近年來(lái)在各個(gè)領(lǐng)域得到廣泛應(yīng)用,文中針對(duì)雷達(dá)自動(dòng)測(cè)試系統(tǒng)中對(duì)虛擬儀器的需求,以及目前流行的虛擬儀器編程軟件Labwindows/CVI在數(shù)值分析和信號(hào)處理方面的不足之處。提出了一種在Labwindows/CVI環(huán)境下利用ActiveX技術(shù)調(diào)用MATLAB工具箱中的函數(shù)從而實(shí)現(xiàn)混合編程構(gòu)建虛擬儀器的簡(jiǎn)單易行的方法,并用該方法實(shí)現(xiàn)了雷達(dá)信號(hào)分析虛擬儀器的設(shè)計(jì)。
本文引用地址:http://butianyuan.cn/article/131158.htm引言
雷達(dá)自動(dòng)測(cè)試系統(tǒng)中使用傳統(tǒng)的電子儀器實(shí)現(xiàn)雷達(dá)信號(hào)參數(shù)的提取不僅價(jià)格昂貴、系統(tǒng)集成難度大,而且對(duì)于一些復(fù)雜信號(hào)的提取也難以實(shí)現(xiàn)。虛擬儀器技術(shù)充分利用計(jì)算機(jī)的軟硬件資源,以軟件為核心,人機(jī)界面形式來(lái)實(shí)現(xiàn)這些功能。虛擬儀器編程語(yǔ)言Labwindows/CVI是美國(guó)NI公司開發(fā)的面向計(jì)算機(jī)測(cè)控領(lǐng)域的軟件,它的集成化開發(fā)平臺(tái),交互式編程方法,豐富的功能面板和庫(kù)函數(shù)大大增強(qiáng)了C語(yǔ)言的功能,為開發(fā)檢測(cè)、數(shù)據(jù)采集、過(guò)程監(jiān)控等系統(tǒng)提供了一個(gè)理想的開發(fā)環(huán)境。但是它的數(shù)值計(jì)算功能還不夠強(qiáng)大,面對(duì)信號(hào)分析領(lǐng)域先進(jìn)的理論和方法,如在信號(hào)時(shí)頻分析、神經(jīng)網(wǎng)絡(luò)、小波變換、遺傳算法、模糊理論等問(wèn)題上,還沒有形成可用的庫(kù)函數(shù)。而MATLAB軟件則擁有上述豐富的工具箱函數(shù),且具有強(qiáng)大的數(shù)值計(jì)算、矩陣計(jì)算、信號(hào)分析和處理、圖像處理等功能,它己經(jīng)成為應(yīng)用學(xué)科中的計(jì)算機(jī)輔助分析、設(shè)計(jì)、仿真等不可缺少的基礎(chǔ)軟件。因此用Labwindows/CVI與MATLAB混合編程的虛擬儀器技術(shù)來(lái)構(gòu)建雷達(dá)信號(hào)分析儀,使其有機(jī)結(jié)合、優(yōu)勢(shì)互補(bǔ),具有很強(qiáng)的使用價(jià)值。
Labwindows/CVI和MATLAB混合編程的方法
實(shí)現(xiàn)Labwindows/CVI和MATLA B混合編程的關(guān)鍵是其數(shù)據(jù)和命令的交換,即軟件接口技術(shù)。Labwindows/CVI和MATLAB都提供了與外部接口的組件,技術(shù)的核心就是如何正確建立它們之間的聯(lián)系。ActiveX方式是微軟定義的一種應(yīng)用程序接口,由于其功能強(qiáng)大,己成為事實(shí)標(biāo)準(zhǔn)。Labwindows和MATLAB之間的接口也可以采用這種方式實(shí)現(xiàn),即Labwindows/CVI作為ActiveX自動(dòng)化控制器,MATLAB作為ActiveX的自動(dòng)化服務(wù)器。
混合編程的實(shí)現(xiàn)方法
如圖1所示,Labwindows/CVI與MATLAB混合編程就是通過(guò)Labwindows /CVI與MATLAB之間的接口函數(shù)實(shí)現(xiàn)Labwindows/CVI下調(diào)用MATLAB的功能函數(shù)或運(yùn)行MATLAB環(huán)境下的程序。接口函數(shù)的建立分兩步進(jìn)行:第一步是ActiveX服務(wù)函數(shù)的創(chuàng)建,第二步是在創(chuàng)建的ActiveX服務(wù)函數(shù)的基礎(chǔ)上,添加更高一級(jí)的接口應(yīng)用程序(matlabbutil.c)?! ?/p>
ActiveX服務(wù)函數(shù)的創(chuàng)建
Labwindows/CVI環(huán)境中得到ActiveX服務(wù)函數(shù)有兩種方法,方法一:在Labwindows/CVI窗口中選擇 Tools—Create ActiveX Controller Wizard根據(jù)提示進(jìn)行操作:但該方法得到的ActiveX服務(wù)函數(shù)由于涉及到了Labwindows/CVI的遠(yuǎn)程服務(wù),調(diào)用不方便,并且要求用戶機(jī)必須先安裝MATLAB,后裝Labwindows/CVI。方法二:在Labwindows/CVI 5.0以上版本中的CVIsamplesactiveXmatlab中直接提供有Labwindows/CVI和 MATLAB的ActiveX服務(wù)函數(shù)應(yīng)用程序,該服務(wù)函數(shù)應(yīng)用程序僅適合于MATLAB 5.01。對(duì)于不同的MATLAB版本,只需將其在注冊(cè)表里的注冊(cè)碼改寫成符合ActiveX服務(wù)函數(shù)要求的格式替代5.01版本的即可。本文采用第二種方法,其具體修改示例如下:
評(píng)論