![利用MEX實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)處理和仿真_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/025c5f37-bad6-493a-907a-728e78781d3f/025c5f37-bad6-493a-907a-728e78781d3f1.gif)
![利用MEX實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)處理和仿真_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/025c5f37-bad6-493a-907a-728e78781d3f/025c5f37-bad6-493a-907a-728e78781d3f2.gif)
![利用MEX實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)處理和仿真_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/025c5f37-bad6-493a-907a-728e78781d3f/025c5f37-bad6-493a-907a-728e78781d3f3.gif)
![利用MEX實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)處理和仿真_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/025c5f37-bad6-493a-907a-728e78781d3f/025c5f37-bad6-493a-907a-728e78781d3f4.gif)
![利用MEX實(shí)現(xiàn)對(duì)硬件的實(shí)時(shí)處理和仿真_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/11/025c5f37-bad6-493a-907a-728e78781d3f/025c5f37-bad6-493a-907a-728e78781d3f5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 摘 要:介紹了MATLAB中MEX的原理結(jié)構(gòu)和基于MEX完成MATLAB對(duì)硬件的操作控制,實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)或準(zhǔn)實(shí)時(shí)處理的方法。該方法的使用,使我們可以利用MATLAB實(shí)現(xiàn)對(duì)系統(tǒng)的半實(shí)物仿真,驗(yàn)證總體方案,優(yōu)化信號(hào)處理算法,加快系統(tǒng)開發(fā)進(jìn)程。 在工程設(shè)計(jì)和應(yīng)用中常常用到MATLAB,因?yàn)樗哂凶吭降臄?shù)值計(jì)算功能和強(qiáng)大的圖形處理能力,其輸出結(jié)果可視化,編程效率極高,極少的代碼
2、即可實(shí)現(xiàn)復(fù)雜的運(yùn)行。以往常用MATALB進(jìn)行大量的數(shù)值計(jì)算和預(yù)先數(shù)據(jù)處理仿真,在本文中將介紹一種利用MATLAB的MEX編程進(jìn)行實(shí)時(shí)或準(zhǔn)實(shí)時(shí)數(shù)據(jù)處理和分析的方法,可用于對(duì)系統(tǒng)進(jìn)行半實(shí)物仿真,加快系統(tǒng)開發(fā)進(jìn)程。1 MEX程序的介紹 在MATLAB中,MEX(MATLAB外部數(shù)據(jù)接口程序)文件是由C或Fortran源程序經(jīng)過編譯生成的MATLAB動(dòng)態(tài)鏈接子程序。在Windows系統(tǒng)中,MEX文件是32位DLL格式,可以直接使用戶訪問Windows資源環(huán)境的各種功能,可以用DLL格式的MEX文件生成基于Windows的用戶圖形界面,也可以利用Windows的動(dòng)態(tài)數(shù)據(jù)交換能力,與其他的Wi
3、ndows應(yīng)用程序交換必要的數(shù)據(jù)。MEX文件如同MATLAB的內(nèi)置函數(shù)一樣,能被MATLAB的解釋器根據(jù)命令自動(dòng)地裝入和執(zhí)行。其應(yīng)用有以下幾點(diǎn): (1)對(duì)于某些已有的C或Fortran程序,可通過MEX方式在MATLAB環(huán)境中直接調(diào)用。 (2)對(duì)影響MATLAB執(zhí)行速度的FOR循環(huán),可以編寫相應(yīng)的C或Fortran子程序完成相同的功能,并編譯成MEX,提高運(yùn)行速度。 (3)對(duì)于A/D或是D/A卡,或其他PC硬件,可以直接用MEX文件進(jìn)行訪問,擴(kuò)大MATLAB的功能。更重要的是,在這種對(duì)實(shí)時(shí)性要求較高的場(chǎng)合,使用MEX文件能夠滿足各種苛刻的要求。
4、(4)利用MEX文件,還可以使用一些軟件,如Windows用戶資源。 因此在MATLAB中使用MEX文件,既能夠滿足實(shí)時(shí)性處理要求,又能夠充分發(fā)揮MATLAB的優(yōu)越性,節(jié)約編程時(shí)間。 MEX源代碼文件由2部分組成: 入口子程序其作用是在MATLAB系統(tǒng)與被調(diào)用的外部子程序之間建立通信聯(lián)系,可以看作其通信協(xié)議,定義被MATLAB調(diào)用的外部子程序的入口地址,定義MATLAB系統(tǒng)向子程序傳遞的子程序參數(shù)和向MATLAB返回的結(jié)果參數(shù)等。 計(jì)算子程序就是要鏈接的外部子程序,用于完成一些特定的計(jì)算,他由入口子程序調(diào)用。 MEX源代碼文件的2部分
5、既可以分開,又可以組合在一起。入口子程序必須是mexFunction,其構(gòu)成形式必須為(以C語言為例): void mexFunction( 其中,nrhs和prhs 分別為mxArray輸入?yún)?shù)的個(gè)數(shù)和變量指針,nlhs和plhs分別為輸出參數(shù)的個(gè)數(shù)和變量的指針。這些參數(shù)是用來傳遞MATLAB啟動(dòng)MEX文件的參數(shù)。按語法規(guī)則,函數(shù)的調(diào)用的一般形式是: 這里,fun是MEX文件名或M文件名,變量a,b,c稱為輸出變量;d,e,f等稱為輸入變量。 MEX文件編寫完成后,便可以進(jìn)行編譯。MA
6、TLAB 5.3以上的版本提供了一個(gè)C語言編譯器LCC,也使用計(jì)算機(jī)已經(jīng)安裝的VC,BC編譯器進(jìn)行編譯。編譯好的MEX文件作為一個(gè)函數(shù)在MATLAB中直接調(diào)用或鏈接,參與MATLAB程序運(yùn)算和控制,達(dá)到提高計(jì)算效率的目的。 如果將MATLAB中的MEX程序和GUI(圖形用戶界面)程序有機(jī)的結(jié)合起來,就可以更好地達(dá)到實(shí)時(shí)控制和數(shù)據(jù)處理顯示功能。2 C語言的MEX應(yīng)用實(shí)例 下面以一個(gè)工程實(shí)例說明MEX文件的應(yīng)用。 在某雷達(dá)演示驗(yàn)證系統(tǒng)中,目標(biāo)是利用MATLAB強(qiáng)大而便捷的運(yùn)算編程能力對(duì)系統(tǒng)進(jìn)行體制驗(yàn)證。在該系統(tǒng)中,數(shù)據(jù)通過高速A/D采集卡采集整理,然后進(jìn)行多波束
7、形成,最后進(jìn)行頻譜分析,門限檢測(cè)。在處理中,不僅涉及對(duì)硬件的訪問和控制,而且涉及了大量的數(shù)據(jù)變換和分析運(yùn)算。處理框圖如圖1所示。 在本方案中采用MEX編程實(shí)現(xiàn)對(duì)硬件A/D卡的實(shí)時(shí)控制和訪問。數(shù)據(jù)采集卡采用PCIDSA4020。該卡是一塊塊即插即用的超高速四通道20 MHz PCI數(shù)據(jù)采集卡,電壓輸入范圍、采集觸發(fā)方式、中斷、校驗(yàn)、通道控制全部可由軟件設(shè)置,配有相應(yīng)的應(yīng)用軟件包,支持Visual C+,Visual Basic,DLL庫調(diào)用。實(shí)現(xiàn)中采用C語言調(diào)用廠家提供的數(shù)據(jù)采集卡函數(shù)庫,編譯生成MEX動(dòng)態(tài)鏈接庫控制數(shù)據(jù)采集卡進(jìn)行數(shù)據(jù)采集。數(shù)據(jù)采集
8、完成后,在MATLAB中完成對(duì)數(shù)據(jù)的正交變換、 從應(yīng)用實(shí)例可以看出,入口子程序起到鏈接C子程序與MATLAB系統(tǒng)的作用;同時(shí)入口子程序完成大部分的輔助工作,特別是判斷變量,來檢測(cè)輸入/輸出變量的個(gè)數(shù)、以及變量的數(shù)據(jù)類型,這樣可以避免由于指針與數(shù)據(jù)不匹配而導(dǎo)致的錯(cuò)誤。 由于本系統(tǒng)采取的方案是將大量數(shù)據(jù)采集后進(jìn)行準(zhǔn)實(shí)時(shí)處理,若數(shù)據(jù)量較小的時(shí)候,可直接將采集數(shù)據(jù)轉(zhuǎn)化為MATLAB數(shù)組進(jìn)行實(shí)時(shí)處理。圖2就是用MATLAB中的GUI生成的人機(jī)界面,圖右邊的可隨時(shí)設(shè)置參數(shù),圖左邊為處理數(shù)據(jù)顯示。3 結(jié)語 MATLAB中MEX文件的使用使我們可以方便地使用MATLAB作為我們?cè)O(shè)計(jì)、仿真的工具。使應(yīng)用MATLAB進(jìn)行數(shù)據(jù)分析與處理可以提供良好的實(shí)時(shí)性,提高程序的運(yùn)行速度,使我們?cè)谙到y(tǒng)的半實(shí)物仿真實(shí)驗(yàn)中可以節(jié)約大量的編程時(shí)間,將重點(diǎn)放在對(duì)系統(tǒng)處理算法驗(yàn)證上。參考文獻(xiàn)1龔劍,朱亮.MATLAB 5.X入門與提高M(jìn).北京:清華大學(xué)出版社,20002程衛(wèi)國,馮峰,等.MATLAB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 按揭手房買賣協(xié)議書
- 灰土擠密樁施工承包合同
- 2025年南寧貨運(yùn)從業(yè)資格試題答案大全
- 2025年青海貨運(yùn)從業(yè)資格試題題庫
- 2025年鶴崗b2貨運(yùn)資格證模擬考試
- 電工承包簡(jiǎn)單合同(2篇)
- 2024-2025學(xué)年四年級(jí)語文上冊(cè)第二單元6天安門廣場(chǎng)教案1蘇教版
- 浙教版數(shù)學(xué)七年級(jí)上冊(cè)《2.1 有理數(shù)的加法》聽評(píng)課記錄
- 七年級(jí)英語上冊(cè) Module 8 Choosing presents Unit 3 Language in use說課稿 (新版)外研版
- 2024-2025學(xué)年高中物理課時(shí)分層作業(yè)2庫侖定律含解析教科版選修3-1
- 2024-2025學(xué)年第二學(xué)期學(xué)校全面工作計(jì)劃
- 《中國傳統(tǒng)文化》課件模板(六套)
- 2023年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招(數(shù)學(xué))試題庫含答案解析
- 中考語文非連續(xù)性文本閱讀10篇專項(xiàng)練習(xí)及答案
- GB/T 13088-2006飼料中鉻的測(cè)定
- 經(jīng)顱磁刺激的基礎(chǔ)知識(shí)及臨床應(yīng)用參考教學(xué)課件
- 小學(xué)語文人教四年級(jí)上冊(cè)第四單元群文閱讀“神話故事之人物形象”PPT
- 鄉(xiāng)村振興匯報(bào)課件
- 紅色記憶模板課件
- 麗聲三葉草分級(jí)讀物第四級(jí)A Friend for Little White Rabbit課件
- DBJ61_T 179-2021 房屋建筑與市政基礎(chǔ)設(shè)施工程專業(yè)人員配備標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論