基于MATLAB的信号采集和分解方法

上传人:飞****9 文档编号:130669921 上传时间:2020-04-30 格式:DOC 页数:14 大小:154KB
返回 下载 相关 举报
基于MATLAB的信号采集和分解方法_第1页
第1页 / 共14页
基于MATLAB的信号采集和分解方法_第2页
第2页 / 共14页
基于MATLAB的信号采集和分解方法_第3页
第3页 / 共14页
基于MATLAB的信号采集和分解方法_第4页
第4页 / 共14页
基于MATLAB的信号采集和分解方法_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《基于MATLAB的信号采集和分解方法》由会员分享,可在线阅读,更多相关《基于MATLAB的信号采集和分解方法(14页珍藏版)》请在金锄头文库上搜索。

1、一种基于MATLAB的信号采集和分解方法收藏 MATLAB是美国Mathworks公司开发的适合于工程各领域的分析设计与复杂计算的软件,该软件包括基本部分和专业扩展两大部分。扩展部分称为工具箱,用于解决某一方面的专业问题。文中实现的是基于数据采集工具箱和小波变换工具箱的声音信号采集和分析方法。 数据采集工具箱是一种建立在MATLAB环境下的M函数文件和MEX动态链接库文件的集合,包含大区域的组件:M文件函数、数据采集引擎及硬件驱动适配器,它具有如下特点:是一种通过使用与PC机兼容的、即插即用的数据采集设备在MATLAB环境中的架构;支持模拟信号的输入输出, 据采集工具箱采集! 个通道的动态信号

2、,然后利用以及数字信号的输入、输出,子系统还包括同步模拟输入输出的转换;支持声卡;事件驱动采集。 MATIAB数据采集工具箱被广泛的使用在工程学和科学的领域, 从数据采集和分析到应用程序开发。MATLAB环境集合了数学计算, 图形化输出, 和强有力的计算机程序语言。内建的接口让使用者可以从仪器、档案、和外部数据库和程序中读取数据。另外, MATLAB 应用程序还可以整合使用其它著名的计算机语言所开发出来的函式库如C 、C+、FORTRAN, 和Java。 下面介绍MATLAB数据采集工具箱的内部结构, 和外部的使用接口, 熟悉数据采集工具箱的使用方法将会了解如何使用同一组指令去操作各种不同硬件

3、的数据采集卡以进行模拟输入(AI), 模拟输出(AO), 数字输出入(DIO)的各种操作。对于MATLAB的使用者而言将是一项有力的工具。何谓MATLAB数据采集工具箱(Data Acquisition Toolbox)。 数据采集工具箱是一组M-File函式集和MEX-File 等动态链接链接库所组成的, 专门使用在数据采集方面的一组函式库。它提供了以下主要的功能:1. 以相同的指令操作 模拟输入(AI), 模拟输出(AO), 数字输出入(DIO)和同步模拟输出入转换各式功能, 不会因不同硬件而产生不同的指令.2. 一个及时数据采集环境, 被测量的数据不需经由转换可直接进入MATLAB 直接

4、进行分析。3. 支持主要的数据采集卡的厂商, 如:凌华, Agilent, ComputerBoards 和 National Instruments。4. 支持事件驱动(Event-driven)的数据采集。MATLAB数据采集工具箱的内部结构数据采集工具箱包括三个模块分别为: M-File 函式集, 数据采集引擎(Data Acquisition Engine), 和硬件转接驱动程序(Hardware Driver Adaptors)。如下图所示, 这些模块允许使用者在MATLAB 内和使用者的数据采集硬件之间交换数据。 数据采集工具箱的三大模块和数据流动的关系属性和事件是内部沟通的方式,

5、 数据是主要传送的标的, 分述如下:属性(Property values)使用者能经由属性的改变而改变使用者的数据采集行为, 经由数据采集工具箱属性的改变将会影响到硬件驱动程序的行为, 使硬件的工作符合使用者的实际需要。 资料(Data)使用者能从感应器获取数据并存放它在MATLAB内,或从MATLAB 输出数据到作动器。此外使用者能在数字(1和0)和数字的输出入(DIO)之间进行数据转换。 事件(Events)事件发生在当某个特定的情况符合之后,通常在使用者设定属性后使用者可以指定一个或更多的回呼函数(Callback function)去处理不同的事件。使用者能使用事件的一些方式包括预先决

6、定相当数量的数据被采集之后立刻进行分析, 或当硬件驱动程序有错误发生时显示一个错误讯息到MATLAB的工作区。 开始进行数据采集或许最有效学习数据采集工具箱的方式为,连接使用者的硬设备然后开始使用数据采集工具箱实际的进行数据采集的工作. 实际进行如何输入或输出数据。这个部分提供使用者一个简单的例子说明怎么从实际的硬件上采集数据(AI), 又如何从MATLAB中产生数据并输出到实际的硬件(AO), 另一种常见的数据采集是使用数字I/O(DIO)。以上均为典型的数据采集范例并且会对个范例作说明。使用者应该记住这些步骤并修改成为自己的数据采集应用。 注意模拟输入和模拟输出范例使用一张凌华 DAQ20

7、10的数据采集卡, 如果使用者使用一种另外支持的硬件装置, 使用者应该修改硬件转接驱动程序的名称(Hardware Driver Adaptor Name.)和设备识别码(Hardware Device Identifier)。如果使用者想要所有函数的相关说明, 可以参考MATLAB的函数说明。如果使用者想要其它的属性相关说明, 可以参考MATLAB的基本属性说明。 如果使用者已经安装好凌华 DAQ2010的数据采集卡,安装好硬件驱动程序. 就可在光盘中或是到凌华科技网站http:/www.凌华 中寻找D2K-MTLB的DAQ2000系列的硬件转接驱动程序,安装D2K-MTLB后就算完成了准备

8、动作。 模拟输入(AI)范例这个范例将会使用数据采集工具箱对真实的数据采集卡进行设定, 操作, 采集数据, 并以图表显示出来.,只要稍为修改设定属性值, 即可使用在真实的应用中. 1.宣告一个装置对象 宣告一个可以代表DAQ2010的模拟输入对象(ai)ai = analoginput(凌华,1); 2.增加输入信道(Add channels) 增加一个硬件信道到aichan = addchannel(ai, 0); 3.设定属性值 设定取样频率和触发来源和条件set(ai,SampleRate,2000)set(ai,TriggerType, Immediate)set(ai,Trigger

9、Channel, chan) %不一定要执行此指令因为会需要Trigger讯号set(ai,TriggerConditionValue, 2.0) %不一定要执行此指令因为会需要Trigger讯号 4.开始采集数据 当数据采集结束时, ai会自动停止数据采集并传回数据.此时亦可使用图表将数据显示. start(ai)data = getdata(ai);plot(data) 5.清除宣告的对象变量 当使用者不再需要使用ai 装置对象变量时, 使用者必需清除并释放ai 所占用的内存.delete(chan)clear chandelete(ai)clear ai 图二: 数据采集模拟输入(AI)

10、范例的执行结果 模拟输出(AO)范例这个范例将会使用数据采集工具箱对真实的数据采集卡进行设定, 操作, 输出数据, 并以图表显示准备要输出的波形.,只要稍为修改设定属性值, 即可使用在真实的应用中. 1.宣告一个装置对象 宣告一个可以代表DAQ2010的模拟输出对象(ao)ao = analogoutput (凌华,1); 2.增加输出通道(Add channels) 增加一个或二个硬件信道到aochan = addchannel(ao, 0); %或 addchannel(ao,0:1); 3.设定属性值 设定更新频率set(ao,SampleRate,2000) 4.开始输出资料 首先先在

11、MATLAB内产生所要输出的波形, 然后可以把波形数据写入ao, 一次可以写入一个通道或是写入二个通道.data = 10*sin(linspace(0,2*pi*10,8000);plot(data)putdata(ao, data) %或 putdata(ao,data data) 5.清除宣告的对象变量 当使用者不再需要使用ao 装置对象变量时, 使用者必需清除并释放ao 所占用的内存.stop(ao)delete(chan)clear chandelete(ao)clear ao 图三: 数据模拟输出(AO)范例的输出波形 数字输出入(DIO)范例这个范例将会使用数据采集工具箱对真实的

12、数据采集卡进行数字的输出, 同时读回那些值. 1.宣告一个装置对象 宣告一个可以代表DAQ2010的数字输出入对象(dio)dio = digitalio (凌华,1); 2.增加数字讯号线(Add lines) 增加八个数字讯号线到dio, 同时将数字讯号线设定为”输出”addline(dio,0:7,out); 3.读和写数值 产生一个数值的数组, 并将它送到dio装置对象, 注意读和写数字讯号线通常不必再对其输出入的方向重新设定.pval = 1 1 1 1 0 1 0 1;putvalue(dio,pval)gval = getvalue(dio);plot(gval) 5.清除宣告的

13、对象变量 当使用者不再需要使用dio 装置对象变量时, 使用者必需清除并释放dio 所占用的内存.delete(dio)clear dio 在此简单的介绍MATLAB数据采集工具箱的内部结构和使用方法,使用此种方式在MATLAB内控制数据采集卡是最直接的方式,同时可以完全和MATLAB整合并进行实时的数据存取和实时的分析,使用资料采集工具箱再加上一片可以在工具箱内使用的数据采集卡是所有需要作数据采集的工程师必备的工具。 小波分析是近十几年才发展起来并迅速应用到图像处理和语音分析等众多领域的一种数学工具,属于时频分析的一种。小波变换是一种信号的时间-尺度(时间-频域)分析方法,具有多分辨率分析的

14、特点,在信号处理中,小波在信号(如声音信号,图像信号等)处理中得到极其广泛的应用。小波分析是当前数学中一个迅速发展的新领域,它同时具有理论深刻和应用十分广泛的双重意义。小波变换的概念是由法国从事石油信号处理的工程师J.Morlet在1974年首先提出的,通过物理的直观和信号处理的实际需要经验的建立了反演公式,当时未能得到数学家的认可。正如1807年法国的热学工程师J.B.J.Fourier提出任一函数都能展开成三角函数的无穷级数的创新概念未能得到著名数学家J.L.Lagrange,P.S.Laplace以及A.M.Legendre的认可一样。幸运的是,早在七十年代,A.Calderon表示定理的发现、Hardy空间的原子分解和无条件基的深入研究为小波变换的诞生做了理论上的准备,而且J.O.Stromberg还构造了历史上非常类似于现在的小波基;1986年著名数学家Y.Meyer偶然构造出一个真

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号