基于MATLAB的实时数据采集与分析研究
2022冬奥会金牌
数据采集  电 子 测 量 技 术
  EL ECTRONIC M EASUREM EN T TEC HNOLO GY 第31卷第8期2008年8月 
基于MAT LAB的实时数据采集与分析研究
程 伟1 程文波2 李灿平2
(1.宜宾学院网络管理中心 宜宾 644007;2.成都理工大学信息工程学院 成都 610059)
摘 要:数据采集系统在许多领域均得到了广泛应用,不过大多采集方式均基于目前流行的采集设备,而对自主开发的数据采集系统通过合理运用串口及MA TL AB强大的数值计算和分析功能,实现基于MA TL AB的实时数据处理和分析的方式则相对较少。本文简要介绍了MA TL AB的数据采集工具箱的主要特征和数据采集的基本方法,尝试使用自主设计的数据采集系统,通过MA TL AB软件进行实际人体心电图实时数据采集读取和分析处理仿真,实验结果表明了该方法的可行性,具有一定的应用价值。
关键词:数据采集工具箱;实时;串口通信;系统仿真
中图分类号:TP274.2  文献标识码:A
R eal2time data acquisition and analysis based on MAT LAB
Cheng Wei1 Cheng Wenbo2 Li Canping2
(1.t he Network Management Center,Y ibin University,Y ibin644007;
2.College of Information Engineering,Chengdu University of Technology,Chengdu610059)
Abstract:Data acquisition system has been widely used in some fields.However,a majority of means of data acquisition are based on popular devices currently,it is sparse that use independent design and realize data acquisition and analysis by reasonably using serial,and powerf ul numeric2count and analytical capability of M TL AB.This paper briefly
introduces main feature and basic method of data acquisition toolbox
in matlab7.0,the outcome of experiments indicates
that it is feasible to achieve real2time data acquisition,reading and analysis.
K eyw ords:data acquisition toolbox;real2time;serial communication;system simulation
0 引  言
数据采集系统涉及多学科,所研究的对象是物理或生物等各种非电或电信号。根据各种非电或电信号的特征,利用相应的归一化技术,将其转换为可真实反映事物特征的电信号后,经A/D转换器转换为计算机可识别的有限长二进制数字编码,以此作为研究自然科学和实现工业实时控制的重要依据,实现对宏观和微观自然科学的量化认识,典型的数据采集系统组成如图1所示。
图1 典型数据采集系统的组成
在采集过程中,将传感器获取的参数通过A/D转换送入内存,然后由CPU对其进行分析、运算和处理,如数字滤波、量纲变换、误差修正、数字显示等。在本文中,尝试通过利用MA TL AB的数据采集工具箱对自主设计的数据采集系统[1]进行模拟仿真,结果实现了对设计系统的模拟操作检验与数据分析。为了满足实时采集的要求,采用了Compilier编译器[2],Compilier以M语言编制的程序为输入,可以根据需要生成独立运行的应用程序或可以被C/C++程序调用的动态链接库文件[3]。它支持MA TL AB所有的内部函数,可使程序变得简洁高效。
1 数据采集工具箱介绍
在MA TL AB数据采集工具箱里集成了数据采集的M文件格式的函数和M EX文件格式的动态链接库。其主要特征[425]如下:
(1)提供了将实时测量数据从数据采集硬件采集到MA TL AB中的框架。
(2)支持模拟量输入(A I)、模拟量输出(AO)以及数字量I/O子系统,包括模拟量I/O实时变换。
(3)支持PC声卡和业界非常流行的数据采集设备如NI卡、并行口(L P T12L P T3)、Keit hley卡等。
隔离霜防晒霜
(4)采用事件驱动模式进行数据采集。数据采集工具箱由3部分组成:M文件格式的函数、数据采集引擎和硬件驱动,如图2所示。这些组成部分使得MA TL AB与数
2
9
        程伟等:基于MA TL AB
的实时数据采集与分析研究第8期
据采集硬件之间的信息传递成为可能。
图2 数据采集引擎与硬件驱动
2 数据采集过程
2.1 数据采集的基本步骤
(1)创建设备的一个对象。对象创建函数列表如表1所示。
表1 对象创建函数列表
函数描述
analoginput创建一个模拟量输入对象
analogoutput创建一个模拟量输出对象
digitalio创建一个数字量I/O对象
(2)添加通道或数据线。模拟量I/O对象中用应添加通道,而数字量I/O对象中应添加数据线,与添加通道或数据线有关的函数列表如表2所示。
表2 与添加通道或数据线有关的函数列表
函数描述
addchannel 向一个模拟量输入/出对象添加硬件通道
addlinet 向一个数字量输I/O对象添加硬件数据线
addmuxchannel 使用AMU X264T多路复用器时用于添加通道
(3)配置属性。属性分为公共属性和通道/数据线属性,而两者又再被分为基本属性与设备特有属性。其中公共属性为返回设备对象的所有可配置的公共属性名及其可能的属性值,应将对象作为Set函数的输入参数;要返回设备对象的所有公共属性及其当前值或为显示某个属性的当前值,应将对象或属性名作为Get函数的输入参数。对于通道/数据线属性,则使用Channel(Line)属性。
(4)获取或输出数据。包括启动设备对象,记录或发送数据及停止设备对象3个步骤。其中启动设备执行Start函数、提取记录数据使用Getdata函数、发送数据前的数据排列使用Putdata函数、停止使用Stop函数;另外运行状态用Running属性标识、记录状态由Logging属性标识、发送状态由Sending属性标识,其取值均为On或Off。对于数字量I/O对象,该部分处理有所不同。
(5)清除。当不再需要设备对象时,应使用删除函数Delete将设备对象从内存中清除,并使用清除命令Clear 将对象从MA TL AB工作空间中清除。
2.2 应用实例与分析
2.2.1 MA TL AB对RS232的串口通信设计
MA TL AB是一个跨平台软件,而此处使用的是自主设计的数据采集卡,因此不具备直接访问的能力。但MA TL AB的面向对象技术,已用一个对象把计算机串口封装起来,只要用Serial函数创建串口对象即可[6]。关键语句为:s=serial(‘COM1’,‘BaudRate’,9600)。MA TL AB封装的串口对象支持对串口的异步读写操作,通过对异步读写设置,PC在执行读写串口函数时能立即返回,不必等待串口把数据串输完毕。当指定数据传输结束时就触发事件,执行事件回调函数,对事件回调函数编程,进行数据处理,这样可以大大提高数据处理的效率。
M EX是MA TL AB的可执行程序,是MA TL AB调用其它语言编写的程序或算法的接口,在Windows环境下是扩展名为DLL的动态链接库。对M EX编译器进行配置的方法是:在MA TL AB命令窗口中运行mex-set up,选择VC6.0++作为编译器。用C语言编写端口读、写的操作程序,程序包含有头文件mex.h和mexFunction函数, mexFunction函数中nelhs表示输出变量的个数,plhs包含指向输出变量指针的数组,nrhs表示输入变量的个数, prhs包含指向输入变量指针的数组。接口编形成的M EX 文件与文献[728]类似,在此不再累述。
2.2.2 数据采集与分析
(1)数据读取的MA TL AB实现
主要代码为:
%读取通道数及总数据量
fid=fopen(‘cardiogram.add’,‘r’);
Stat us=f seek(fid,56,‘bof’);
nDataChNum=fread(fid,1,‘long’);
stat us=f seek(fid,204,‘bof’);
nAllDataLengt h=fread(fid,1,‘long’);
立秋的句子短句唯美%按通道数循环读出各通道起始地址
stat us=f seek(fid,76,‘bof’);%
for i=1:nDataChNum
pChannelAdr(i)=fread(fid,1,‘long’)
生粉是什么东西end
%按通道数循环读出各通道数据
for i=1:nDataChNum
stat us=f seek(fid,pChannelAdr(i)+360,‘bof’)
nSegNum=fread(fid,1,‘log’)
stat us=f seek(fid,pChannelAdr(i)+1603nSegNum +1024,‘bof’);
data=fread(fid,nAllDataLengt h,‘short’);
end
听见下雨的声音sta=fclose(fid);
3
9
 第31卷
电 子 测 量 技 术
(2)数据处理与图形绘制
利用
MA TL AB 的图形用户接口,通过编程可以很方便地构建数据采集与分析的用户交互界面。将数据采集系统采集的实际心电图信号,用RS232导入到PC 中。在MA TL AB 环境下,运行以上已经编好的程序,即可得到如
图3所示的模拟实验结果。不过要说明的是,此处使用的数据采集系统是8通道同步采集,而仿真时仅使用的是其中一个通道进行的操作。
图3 实际心电图信号的采集与处理效果图
3 结  论
使用自主开发的数据采集系统,通过合理运用串口及
MA TL AB 强大的数值计算和分析功能,实现了基于MA TL AB 的实时数据处理和分析。通过模拟实验表明,该方法对于其它类似采集卡依然实用,具有一定的应用价值和发展前景。
参考文献
[1] 程文波,李灿平.一种多通道同步数据采集系统的设
计[J ].医疗设备信息.2007,11(22):11212,31.
[2] 孙海峰,张晓林.MA TL AB C 共享库在测控分析系统
福建中考成绩查询开发中的应用[J ].电子测量技术,2006,29(5):1562
157,205.
[3] 马超,高世伦.基于MA TL AB 的噪声信号采集与分
析系统研究[J ].柴油机设计与制造,2006,14(4):
31235.
[4] 张明照.应用MA TL AB 实现信号分析和处理[M ].
北京:科学出版社,2006:1232175.
[5] 付俊庆,李凤玲.MA TL AB 环境下的实时数据采集
方法[J ].测控技术,2004,23(1):30232.
[6] 赵云鹏.MA TL AB 串口通信在数据采集中的应用
[J ].微计算机信息:测控自动化,2006,22(121):1112112.
[7] 许大好,李询,谢倩.MA TL AB 控制N I 数据采集卡
实现实时数据采集[J ].常州工学院学报,2006,19(5):35238.
[8] 王志萍,张一枫.基于MA TL AB 的过程控制实验装
置的实时控制[J ].微计算机信息:测控自动化,2006,22(5):13214.
作者简介
程伟,男,1973年出生,汉族,四川仁寿人,宜宾学院网管中心实验师,主要从事信息处理与网络通信的研究。
程文波,男,1979年出生,四川西充人,汉族,博士研究生,讲师,主要研究方向为现代信号与信息处理。
李灿平,男,1957年出生,重庆人,汉族,副教授,硕士生导师,主要研究方向为数字图像处理、信息安全等。
(上接第36页)
[9] SH EN G B ,L I Q ,MAO W.Data storage placement
in sensor networks[C].In :Conti M ,Sivakumar R ,eds.Proc.of t he 7t h ACM Int ’ Mobile Ad Hoc Networking
and Computing.Los Angeles :ACM Press ,2006:3442355.
[10] 周鹏.基于神经网络的管道流量泄漏在线监测技术的实现[J ].电子测量技术,2007,30(1):
1632167.
作者简介
王志勇,男,1967年出生,汉族,河南
信阳人,工程师,主要从事电子电工、电气工程、电子测量技术等方面实验教学与科研工作。
E 2mail :zpzqxy @163
49・

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。