《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > 基于MATLAB的實時數據采集與分析研究
基于MATLAB的實時數據采集與分析研究
程偉 程文波 李燦平 成都理工大學信息工程學院
摘要: 數據采集系統涉及多學科,所研究的對象是物理或生物等各種非電或電信號。根據各種非電或電信號的特征,利用相應的歸一化技術,將其轉換為可真實反映事物特征的電信號后,經A/D轉換器轉換為計算機可識別的有限長二進制數字編碼,以此作為研究自然科學和實現工業實時控制的重要依據,實現對宏觀和微觀自然科學的量化認識
Abstract:
Key words :

 

      1、引言
 
  數據采集系統涉及多學科,所研究的對象是物理或生物等各種非電或電信號。根據各種非電或電信號的特征,利用相應的歸一化技術,將其轉換為可真實反映事物特征的電信號后,經A/D轉換器轉換為計算機可識別的有限長二進制數字編碼,以此作為研究自然科學和實現工業實時控制的重要依據,實現對宏觀和微觀自然科學的量化認識,典型的數據采集系統組成如圖1所示。
 
  在采集過程中,將傳感器獲取的參數通過A/D轉換送入內存,然后由CPU對其進行分析、運算和處理,如數字濾波、量綱變換、誤差修正、數字顯示等。在本文中,嘗試通過利用MATLAB的數據采集工具箱對自主設計的數據采集系統進行模擬仿真,結果實現了對設計系統的模擬操作檢驗與數據分析。為了滿足實時采集的要求,采用了Compilier編譯器,Compilier以M語言編制的程序為輸入,可以根據需要生成獨立運行的應用程序或可以被 C/C++程序調用的動態鏈接庫文件。它支持MATLAB所有的內部函數,可使程序變得簡潔高效。
 
圖1 典型數據采集系統的組成
 
  2、數據采集工具箱介紹
 
   在MATLAB數據采集工具箱里集成了數據采集的M文件格式的函數和MEX文件格式的動態鏈接庫。其主要特征[4][5]如下:
 
  (1) 提供了將實時測量數據從數據采集硬件采集到MATLAB中的框架。
 
  (2) 支持模擬量輸入(AI)、模擬量輸出(AO)以及數字量I/O子系統,包括模擬量I/O實時變換。
 
  (3) 支持PC聲卡和業界非常流行的數據采集設備如NI卡、并行口(LPT1-LPT3)、Keithley卡等。
 
  (4) 采用事件驅動模式進行數據采集。數據采集工具箱由三部分組成:M文件格式的函數、數據采集引擎和硬件驅動,如圖2所示。這些組成部分使得MATLAB與數據采集硬件之間的信息傳遞成為可能。
 
 
圖2 數據采集引擎與硬件驅動
 
  3、數據采集過程

  3.1 數據采集的基本步驟
 
  (1)創建設備的一個對象。對象創建函數列表如下:
 
表1 對象創建函數列表
 
  (2)添加通道或數據線。模擬量I/O對象中用應添加通道,而數字量I/O對象中應添加數據線,與添加通道或數據線有關的函數列表如下:
 
表2 與添加通道或數據線有關的函數列表
 
  (3)配置屬性。屬性分為公共屬性和通道/數據線屬性,而兩者又再被分為基本屬性與設備特有屬性。其中公共屬性為返回設備對象的所有可配置的公共屬性名及其可能的屬性值,應將對象作為Set函數的輸入參數;要返回設備對象的所有公共屬性及其當前值或為顯示某個屬性的當前值,應將對象或屬性名作為 Get函數的輸入參數。對于通道/數據線屬性,則使用Channel(Line)屬性。
 
  (4)獲取或輸出數據。包括啟動設備對象,記錄或發送數據及停止設備對象三個步驟。其中啟動設備執行Start函數、提取記錄數據使用 Getdata函數、發送數據前的數據排列使用Putdata函數、停止使用用Stop函數;另外運行狀態用Running屬性標識、記錄狀態由 Logging屬性標識、發送狀態由Sending屬性標識,其取值均為On或Off。對于數字量I/O對象,該部分處理有所不同。
 
  (5)清除。當不再需要設備對象時,應使用刪除函數Delete將設備對象從內存中清除,并使用清除命令Clear將對象從MATLAB工作空間中清除。
 
  3.2 應用實例與分析
 
  3.2.1 MATLAB對RS232 的串口通信設計

   MATLAB是一個跨平臺軟件,而此處使用的是自主設計的數據采集卡,因此不具備直接訪問的能力。但MATLAB的面向對象技術,已用一個對象把計算機串口封裝起來,只要用Serial函數創建串口對象即可[6]。關鍵語句為:s=serial(‘COM1’,‘BaudRate’,9600)。 MATLAB封裝的串口對象支持對串口的異步讀寫操作,通過對異步讀寫設置,PC在執行讀寫串口函數時能立即返回,不必等待串口把數據串輸完畢。當指定數據傳輸結束時就觸發事件,執行事件回調函數,對事件回調函數編程,進行數據處理,這樣可以大大提高數據處理的效率。
 
    MEX是MATLAB的可執行程序,是MATLAB調用其它語言編寫的程序或算法的接口,在Windows環境下是擴展名為DLL的動態鏈接庫。對MEX 編譯器進行配置的方法是:在MATLAB命令窗口中運行mex-setup,選擇VC6.0++作為編譯器。用C語言編寫端口讀、寫的操作程序,程序包含有頭文件mex.h和mexFunction函數,mexFunction函數中nelhs表示輸出變量的個數,plhs包含指向輸出變量指針的數組,nrhs表示輸入變量的個數,prhs包含指向輸入變量指針的數組。接口編形成的MEX文件與參考文獻[7][8]類似,在此不再累述。 
 
  3.2.2 數據采集與分析
 
  (1)數據讀取的MATLAB實現
 
  主要代碼為:
 
  %讀取通道數及總數據量
 
  fid=fopen(‘cardiogram.add’,‘r’);
 
  Status=fseek(fid,56,‘bof’);
 
  nDataChNum=fread(fid,1,‘long’);
 
  status=fseek(fid,204, ‘bof’);
 
  nAllDataLength=fread(fid,1, ‘long’);
 
  %按通道數循環讀出各通道起始地址
 
  status=fseek(fid,76, ‘bof’);%
 
  for i="1:" nDataChNum
 
  pChannelAdr(i)=fread(fid,1, ‘long’)
 
  end
 
  %按通道數循環讀出各通道數據
 
  for i="1:nDataChNum"
 
  status=fseek(fid,pChannelAdr(i)+360, ‘bof’)
 
  nSegNum=fread(fid,1, ‘log’)
 
  status=fseek(fid,pChannelAdr(i)+160*nSegNum+1024, ‘bof’);
 
  data=fread(fid,nAllDataLength, ‘short’);
 
  end
 
  sta=fclose(fid);
 
  (2)數據處理與圖形繪制
 
  利用MATLAB的圖形用戶接口,通過編程可以很方便地構建數據采集與分析的用戶交互界面。將數據采集系統采集的實際心電圖信號,用RS232導入到PC 中。在MATLAB環境下,運行以上已經編好的程序,即可得到如下的模擬實驗結果。不過要說明的是,此處使用的數據采集系統是八通道同步采集,而仿真時僅使用的是其中一個通道進行的操作。
 
圖3 實際心電圖信號的采集與處理效果圖
 
  4、結語
 
   使用自主開發的數據采集系統,通過合理運用串口及MTLAB強大的數值計算和分析功能,實現了基于MATLAB的實時數據處理和分析。通過模擬實驗表明,該方法對于其它類似采集卡依然實用,具有一定的應用價值和發展前景。
 
此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一成人在线| 国产精品99久久99久久久二8| 亚洲精品1234| 精品动漫3d一区二区三区| 国产手机视频一区二区| 国产麻豆午夜三级精品| 国产麻豆精品视频| 国产精品尤物| 国产日韩欧美一区二区| 国产日韩欧美综合| 国产一区二区视频在线观看| 国产私拍一区| 狠狠网亚洲精品| 伊人激情综合| 亚洲国产精品999| 亚洲国产综合在线| 亚洲日本va午夜在线影院| 91久久精品网| 亚洲美女91| 一区二区三区精品在线| 中文一区在线| 亚洲欧美国产视频| 欧美一区二区福利在线| 久久精品国产69国产精品亚洲| 久久精品国产清自在天天线 | 一区二区精品国产| 亚洲桃色在线一区| 亚洲欧美三级伦理| 欧美一区二区在线视频| 久久精品亚洲精品| 日韩午夜中文字幕| 亚洲午夜久久久久久久久电影网| 亚洲一区激情| 久久精品一区二区| 免费在线成人| 欧美激情在线有限公司| 国产精品v片在线观看不卡| 国产精品毛片va一区二区三区 | 亚洲欧美日韩直播| 欧美一区二区三区在线| 久久久久一区二区三区| 欧美大片免费| 国产精品白丝jk黑袜喷水| 国产欧美精品日韩精品| 精品成人在线视频| 夜夜爽www精品| 欧美一区二区三区男人的天堂| 久久精品一区二区三区不卡| 亚洲精品日韩激情在线电影| 午夜精品久久久99热福利| 久久精品一区二区| 欧美久久久久久久久久| 国产精品免费在线| 伊人久久大香线| 久久国产精品一区二区三区| 亚洲国产精选| 一区二区三区黄色| 欧美一区二区三区久久精品茉莉花| 亚洲欧洲一区二区三区在线观看| 亚洲一二三区在线| 久久久人成影片一区二区三区观看| 欧美黑人国产人伦爽爽爽| 国产精品午夜久久| 亚洲欧洲日产国产网站| 亚洲欧美bt| 日韩视频三区| 久久精品二区亚洲w码| 欧美久久电影| 国产在线欧美日韩| 99视频有精品| 亚洲国产成人久久综合| 亚洲欧美综合网| 欧美极品在线观看| 国产午夜亚洲精品理论片色戒| 亚洲精品人人| 亚洲高清毛片| 亚洲欧美精品在线观看| 欧美国产欧美综合| 国产字幕视频一区二区| 99国产精品99久久久久久| 亚洲国产va精品久久久不卡综合| 亚洲一区区二区| 欧美精品一区二区视频| 激情视频一区二区三区| 亚洲一区中文字幕在线观看| 亚洲日本中文字幕| 久久久久天天天天| 国产美女在线精品免费观看| 夜夜嗨av一区二区三区中文字幕 | 噜噜噜久久亚洲精品国产品小说| 国产精品素人视频| 99视频在线观看一区三区| 最新中文字幕一区二区三区| 久久精品二区三区| 国产精品视频不卡| 99精品欧美一区二区三区综合在线| 亚洲国产日韩在线| 久久精品一区二区三区不卡牛牛| 国产精品免费一区豆花| 夜夜嗨av色一区二区不卡| 亚洲精品一区二区三| 久热这里只精品99re8久| 国产亚洲综合性久久久影院| 亚洲午夜免费福利视频| 亚洲一区二区精品| 欧美日韩精品三区| 亚洲美女黄色| 亚洲美女视频网| 欧美国产日韩精品免费观看| 亚洲电影第1页| 亚洲激情社区| 免费观看成人| 影视先锋久久| 亚洲人屁股眼子交8| 欧美大片在线观看一区| 在线看不卡av| 亚洲精品国精品久久99热| 免费永久网站黄欧美| 在线观看亚洲| 亚洲精品少妇网址| 欧美精品亚洲一区二区在线播放| 亚洲国产视频一区| 一区二区三区视频在线| 欧美日韩在线视频首页| 一级成人国产| 亚洲欧美电影在线观看| 国产麻豆91精品| 欧美在线精品免播放器视频| 久久久久天天天天| 樱桃视频在线观看一区| 亚洲另类在线视频| 欧美日韩激情小视频| 日韩亚洲不卡在线| 午夜精品久久久久久久白皮肤| 国产精品尤物福利片在线观看| 午夜精品免费视频| 久久综合久久88| 亚洲经典一区| 亚洲一区二区三区免费在线观看| 国产精品久久久一区二区| 亚洲欧美精品suv| 久久视频在线看| 亚洲国产高清一区| 亚洲私人影院在线观看| 国产精品美女久久久浪潮软件 | 欧美精品日韩一区| 这里只有精品视频| 久久久av水蜜桃| 亚洲高清不卡在线观看| 亚洲视频日本| 国产一区二区三区丝袜| 亚洲人成人99网站| 国产精品激情av在线播放| 欧美一区成人| 欧美韩日一区二区| 亚洲性av在线| 久热精品视频在线观看| 亚洲精品专区| 久久国产直播| 亚洲精品1234| 欧美亚洲综合久久| 亚洲国产91色在线| 午夜激情综合网| 永久免费毛片在线播放不卡| 亚洲天堂网在线观看| 国产日韩在线看| 夜夜精品视频一区二区| 国产午夜精品全部视频在线播放| 亚洲日本免费电影| 国产精品丝袜白浆摸在线| 最新日韩av| 国产伦精品一区二区三区高清| 亚洲激情成人在线| 国产精品高潮呻吟久久av无限| 亚洲国产成人精品久久久国产成人一区 | 亚洲欧美精品在线观看| 极品日韩av| 亚洲影音一区| 亚洲国产欧美日韩| 欧美在线观看视频一区二区| 91久久精品一区| 久久久久高清| 一本大道久久a久久精品综合| 久久久久久久综合| 9l视频自拍蝌蚪9l视频成人| 久久综合久久综合久久| 中文日韩在线| 欧美丰满少妇xxxbbb| 亚洲欧美视频一区二区三区| 欧美日韩123| 亚洲高清视频的网址| 国产精品无码专区在线观看| 日韩视频免费观看| 含羞草久久爱69一区| 先锋亚洲精品| 亚洲人成网站在线播| 久热精品视频在线| 性欧美1819性猛交| 国产精品不卡在线| 日韩一级不卡|