當前位置:編程學習大全網 - 編程語言 - 基於MATLAB的數據采集系統的設計研究 開題報告怎麽寫?

基於MATLAB的數據采集系統的設計研究 開題報告怎麽寫?

摘要:由於MA7ⅡAB不能直接對硬件端12進行讀寫操作,缺乏了實時性,使得工程上的應用受到了

極大的限制。而通過MATI.AB應用程序接口Mex調用C++語言,可實現在MATLAB環境下對硬件端

12信號的讀寫。為此,筆者對Mex接口文件進行了詳細介紹,包括Mex接口的各種特殊功能、詳細編

寫規則和具體編譯要求,具體闡述了Mex接口在MA啊AB環境下的調用及使用。並根據Mex接口的

相關功能。對MATLAB數據采集系統的設計在理論上進行了探討,以圖對MATLAB功能進行進壹步

的擴展。

關鍵詞:MATLAB:接口;數據采集Research of Data—Collection System Based onⅣ隊TLAB

Wang Hailong,Chen Shanjie,Li Qian,Zhang Peng,Ku Tao,Xu Dahua

(Co//ege ofEngieering,Nanjing Agriculture University,Nanjing 210031)

Abstract:Since MATLAB can not write directly to hardware available for operation.and it lacks of a re。

al-time,it works on the applications has been significantly hampered.MATLAB applications through rede—

ployment C++language interface Mex.Achievable in the MATI。AB environment for the specific hardware

interface signals.Therefore,author of a paper details Mex interfaces,inchding interfaces Mex various spe—

cial functions,and specific translation rules for the preparation of detailed,enuncimed the transfer and the

use of Mex interfaee in the MA’nAB environment.And in accordance with the relevant functional interface

Mex.MATIAB data acquisition system for the design in theory explored in a bid to further expand the

functions of MA7n。AB.

Key words:MA,11AB,Interface,Data collectionMATLAB產品系列被廣泛地應用於包括信號與

圖像處理、控制系統設計、通訊、系統仿真等諸多領域。

它的壹大特性是有眾多的面向具體應用的工具箱和仿

真塊,包含了完整的函數集用來對信號圖像處理,控制

系統設計,神經網絡等特殊應用進行分析和設計。其他

的產品延伸了MATLAB的能力,包括數據采集,報告

生成,和依靠MATLAB語言編程產生獨立C/C++代

碼等等。

正因為其強大的科學計算與可視化功能、簡單易

用的開放式可擴展環境以及所擁有的各種面向不同領

域而擴展的工具箱(ToolBox)t11,使得MATLAB在許多

學科領域中成為計算機輔助設計與分析、算法研究和

應用開發的基本工具和首選平臺。

但是,MATLAB也存在局限性,就是不能直接對

硬件端口進行讀寫操作,從而影響了它在測控系統開

發上的應用範圍。但它提供了應用程序接口API,通過

該接口,用戶可以方便地完成MATLAB與外部環境

的交互(如圖1所示)。為此,如何通過接口文件調用其

它語言編寫的程序(如C_蔔}),再通過其實現對硬件端

口的讀寫操作,最終實現在單壹MArⅡAB環境中進

行測控系統的開發,便成了壹項值得探討和研究的問

題。1 MATLAB應用程序接口文件Mex

MATLAB應用程序接口(APD主要包括3部分:

Mex文件(外部程序調用接13),Mat文件(數據輸入輸

出接口)及MATLAB計算引擎函數庫。它們實現的壹

般功能分別為:(1)在MATLAB環境中調用C/c++

語言或FORTRAN語言編寫的程序,以提高數據處理

效率;(2)向MATLAB環境傳送數據或從MATLAB

環境接收數據,即實現MATLAB系統與外部環境的

數據交換;(3)在MATLAB和其他應用程序間建立客

戶機/服務器關系,將MATLAB作為壹個計算引擎,

在其他應用程序中調用從而降低程序設計的工作量。

以下重點介紹Mex文件的應用。

1.1眥X是壹種動態鏈接的子程序,其具體功能如下

(1)對於某些已有的C程序,可以通過Mex方式

在MATLAB環境中直接調用;

(2)對於影響MATLAB執行速度的FOR__I,OOP

等循環體,可以編寫相應的C程序完成相同功能,並

編譯成Mex文件,提高運行速度;(3)對於A/D或D/A卡,或其他PC硬件,可以直

接用Mex文件進行訪問,擴展MATLAB的功能;

(4)利用MEX文件,還可以使用壹些軟件,如

Windows的用戶界面資源等。

1.2 Mex文件的編程規則

(1)編制自己的C++算法程序;

(2)編制MEX源文件代碼;

MEX文件的源文件主要有兩個部分組成:

①計算子例行程序(Computational Routine)。它是

鏈接的外部子程序,包含所有要完成計算功能的源代

碼,用來完成實際的計算工作。

②入口子例行程序(Gateway Routine)。它是計算子例行程序和MATLAB環境之間的接口,用於完成

兩者間的數據交互。入口子例行程序是MATLAB調用C抖程序所必需的部分,計算子例行程序可以由入

口子例行程序調用以完成其特定的功能要求。入口子

例行程序具體的使用格式如下:

#include"mex.h"void MexFunction(int nlhs,

mxArray牛pills[],

int nrhs,const mxArray·prhs[])

{

//C語言代碼

)

其中,入口子程序的函數名必須為MexFunction。

prhs為壹個結構體類型的指針數組,該數組元素按順

序指向所有的輸入參數;nrhs為輸入參數的個數;plhs

與prhs的類型壹致,它指向所有的輸出參數;nlhs表

示輸出參數的個數。該函數通過prhs獲得輸入數據,對這些輸入數據的處理後經由plhs獲得結果,該結果

作為輸出數據與其它程序進行數據交互嘲。

1.3 Mex文件的編譯和調用

在編譯Mex文件之前,必須先在MATLAB下安

裝好Mex編譯器,安裝方法如下:在MATLAB命令窗

口中輸入mex.setup然後按照提示向導逐步安裝即

可。

Mex文件在MATLAB命令窗口中直接編譯,方

式如下:>>mex filename,然後按回車鍵,如果編譯通

過,系統就會生成同名字的DLL文件,在以後的程序

中可以像調用MATLAB的內建函數壹樣直接調用此

函數。原理如圖2。

由上可知,Mex文件可以作為壹個MATLAB的

內建函數來處理,但這個函數又具有強大的接口功能,

可以完成對硬件端口信號的讀寫操作。其對硬件端口

讀寫操作的總流程如圖3所示:2基於MATLAB的數據采集系統的概念設計

擬采用MATLAB和C的交互編程來處理數據采

集問題,這樣系統不僅具有傳統計算機數據采集系統

的全部功能,而且還具有很強的數據處理能力,實際上

構成了智能虛擬儀器t3]。

初步設計系統由三個模塊構成,MATLAB模塊的

功能包括圖形顯示和存取、數據分析和處理等,C語言

模塊主要實現串行通信功能,而硬件設備則完成對物

理量的變換[4,5/。如圖4所示。

當采樣對象確定後硬件設備也就隨之而定,而C

語言部分實現通信功能也是固定的,故所有的數據處

理功能設置都在MATLAB環境中的人機界面中實

現。該系統的3個界面實現功能如下。

主界面主要由壹個圖形框和4個按鈕構成。圖形框借助於MATLAB的圖形處理功能,以最佳匹配模

式動態顯示實時采樣數據,實現自動示波器功能。4個

按鈕名稱分別尚釅設置串口”、“開始采集”、“數據處理”

和“退出系統”,鼠標點擊即可實現相應功能。

在主界面選擇了“串口設置”後,就進入通信協議.

設置界面。這個界面主要由5個彈出式菜單和2個按

鈕構成,彈出式菜單的名稱和選項分別是:端口選擇

(COMI--COM4)、波特率(300-19200)、數據位m8)、停

止位(o~2)和校驗位(無、奇、偶),而2個按鈕則分別對

所設參數進行確認或者修正。

在主界面選擇了“數據處理,,後,則進入數據處理

界面。這個界面的功能與采樣對象有關,需由用戶自己

針對任務要求進行編程。3結束語

MATLAB具有各種豐富的數值運算及圖形處理

功能,大量實用控制工具箱的存在更為其控制應用奠

定了堅實的基礎;而C語言則對硬件系統具有強有力

的處理能力,可方便地實現數據采集、串行通訊等功

能嘲。Mex文件是MATLAB調用C++和其他語言(如

Visual Fortran等)的簡易接口,它極大地擴展了

MATLAB的應用範圍,使MATLAB系統成為真正意義上的開放的、功能完善的、自包容的程序設計和數據

處理集成環境Isl。參考文獻

l王正林,王盛開,陳國順.MATLAB/Simulink與控制系統仿真嗍.

北京:電子工業出版社,2005:11-13.

2張威.MATLAB外部接121編程嗍.西安:西安電子科技大學出版

社,2004:50-85.

3廖良斌,喻方平.基於DSP和USB的圖像采集系統的研究叨.武漢

理工大學學報(交通科學與工程版),2006,.30(1):120.123.

[4申鼎才,郭慶平.基於Interact的分布式數據采集與分析在巖土工

程中的應用研究明.武漢理工大學學報(交通科學與工程版),

2005,29(6):974-976,992.

5王誌冰,李漢強.基於USB總線的數據采集系統的設計與實現叨.

武漢理工大學學報(交通科學與工程版),2005,29(5):758.761.

[6楊義偉,蔣大明,戴勝華.駝峰信號微機監測系統的數據采集陰.武

漢理工大學學報(交通科學與工程版),2005,.29(1):154-156.

[7楊健,張慧慧.基於DSP和ARM的網絡化數據采集與信號分析終

端田.計算機工程,2006,32(8):269-271.

8李堯坤,史忠科,畢業等.Matlab在基於B/S模式的決策支持系統

中的應用叨.計算機工程,2006,32(5):255-256,282.

  • 上一篇:學生信息管理系統
  • 下一篇:怎樣快速提高打字速度?
  • copyright 2024編程學習大全網