1、第 1 页 共 42 页基于 MATLAB 的测试数据分析系统设计摘要本文详细阐述了基于 MATLAB(GUI)测试数据分析系统的设计过程。分别针对振动检测和机构运动速度检测信号,给出了不同的数据分析和处理方法。介绍了数字信号处理的基本应用和小波分析在信号滤波中的应用;利用 MATLAB 提供的GUI 可视化软件,构建了振动检测和机构运动速度检测数据分析界面;进行了相关的数据处理验证了分析系统的工作性能。关键字:信号处理,小波分析,MATLAB第 2 页 共 42 页The test data analysis based on MATLAB system designAbstractThis
2、 paper elaborates test data analysis system design process based on MATLAB (GUI)., Different methods were given out to analysis and process the vibration testing and the velocity signals. The paper introduces a basic application of digital signal processing and wavelet analysis in signal filtering;
3、Using MATLAB (GUI) which is visualization software, construct the test data analysis of the interface; finally, through the relevant test data processing, verify the analysis system performance.Keywords: signal, wavelet analysis, with MATLAB第 3 页 共 42 页1 绪论1.1 论文的研究意义及背景振动检测和机构运动速度检测是一个重要的研究领域,在工业和军
4、事上的应用尤为重要。振动是一种普遍存在的自然现象,振动包括噪声、冲击、地震等强度随时间变化的物理现象。虽然人们经常利用振动来进行运输、加工和打桩,做一些有益的工作,但更多的是振动往往起着影响机器设备性能和寿命,破坏建筑物的作用 1。而掌握机构运动速度的规律,能减轻甚至消除冲击带来的危害,且机构的运动参数测量是确定仪器工作环境条件的重要依据。振动检测和机构运动速度检测在工业和军事中的应用,针对不同性质的信号和干扰寻找最佳的信号处理方法,一直是广泛讨论的重要问题。根据被分析信号的特点和要达到的主要目的,选择最适当的滤波方法,是非常重要的问题 2。目前,研究振动问题主要有两种途径:一是通过计算机进行
5、理论分析;二是用试验手段进行测试和分析。对一些复杂的大型结构,单靠现有的振动理论及计算方法来进行分析是不够的。因为一般的理论计算是建立在一定的力学模型及数学模型基础之上的,而对于这些复杂结构,其力学模型及边界条件的简化往往建立在许多假设基础之上,只能是近似的与实际情况相符合,这是理论计算不可避免的一个缺点。因而用试验的方法来解决复杂结构振动问题是不可或缺的 3。振动测试中得到的数据在大多数情况下不是真实的振动信号或者说与真实的振动信号之间存在一定的差别,所以未经分析处理、修正,直接采用测试得到振动信号作为结果往往会产生误差,有时甚至会得出错误结论。振动信号处理就是通过一些数学运算方法对振动测试
6、所得的信号进行加工,去伪存真,计算出我们需要了解的内容,以便做进一步的分析研究。振动信号处理关心的是振动信号的表示、变换和运算以及振动信号所包含的信息。数字信号处理是在 20 世纪 60 年代中期,随着数字电子计算机和大规模集成电路技术的不断进步而迅速发展起来的一门新兴学科,数字信号处理的理论、算法及实现手段近年来获得了飞速的发展,它已广泛应用于雷达、通信、声呐、语音、图像、地震、遥感遥测、地质勘探、航空航天、生物医学工程等科学技术的各个领域,并已成为这些领域中的一种重要的现代化工具 4。第 4 页 共 42 页目前,数字处理已经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信
7、号处理系统,如通讯、系统控制、电力系统等 5。从形式上看,数字滤波有线性滤波和非线性滤波。线性滤波是指卷积滤波,又分为频域滤波和时域滤波,非线性滤波主要指是同态滤波,它是用取对数的方法将非线性问题线性化。现阶段是向多功能、集成化、智能化发展,进行参数和动态测量,是自动化过程控制系统中的重要一环,其主要是微电子与计算机技术。传感器与微计算机结合,形成了进行信号测试的软件系统 6。目前信号分析技术的发展目标是:(1)在线实时的能力提高;(2)分辨力和运算精度的提高;(3)扩大和发展新的专用功能;(4)专用机构小型化,性能标准化,价格低廉。数字信号处理是利用计算机或通用(专用)的信号处理设备,用数字
8、的数值计算方法对信号进行变换、滤波、压缩、增强、估计、识别等处理,以达到提取有用信息便于应用的目的。目前数字信号处理技术已广泛应用于通信、电子信息、雷达、遥感、生物医学工程等多个领域。数字信号处理课程也成为通信类、电子类等专业的基础课程。由于数字信号处理的理论性和实践性都很强,内容多、概念抽象、设计复杂、枯燥、难理解掌握,因此,要求应用者有较强的数学基础和一定的计算机编程能力。MATLAB是美国Mathworks公司推出的一套高性能的科学计算软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,具有使用方便、编程效率高、界面友好等特点。更重要的是MATLAB 除主包外,还包含许多功能各异的工
9、具箱( Toolbox) ,这些工具箱用于解决各个领域的特定问题,如通讯、控制系统、神经网络、信号处理、图像处理等。MATLAB信号处理工具箱( signal p rocessing toolbox)包含了许多由信号处理领域的权威专家编写的函数,这些函数可供直接调用,使编程变得非常简单 7。因此,在理解掌握数字信号处理的基本概念、基本理论与基本分析方法的前提上,运用MATLAB科学计算工具来进行信号处理与分析,将不失为一种事半功倍的途径。1.2 国内外发展现状近 30 多年来,振动信号处理经历了从模拟信号的人工分析到数字信号的计算机处理的演变过程,振动信号的处理分析无论在理论基础还是在技术上都
10、发展得很快。特别是在计算机技术迅猛发展的今天,价格低廉的普通个人电脑加一台作为电脑外设的数据采集仪不但完全取代了过去繁重的模拟信号人工测试分析工作,第 5 页 共 42 页而且基本淘汰了价格昂贵的专用振动信号处理设备。50 年代以前,信号分析技术主要是模拟分析方法,进入 50 年代,大型通用数字计算机在信号分析中有了实际应用。进入 60 年代,人造卫星、宇航探测及通信、雷达技术的发展,对信号分析的速度、分辨能力提出了更高的要求。国内外大型的动态信号测试与分析软件,尤其是模态分析软件发展迅速。MATLAB 是美国 MathWorks 公司开发的大型科学计算应用软件系统,它提供了强大的数值计算、矩
11、阵处理和绘图功能。MATLAB 系统简单实用,可信度高,灵活性好,目前已经成为国际市场上科学研究和工程应用方面的主导软件。MATLAB 提供给用户的是一种最简洁、最直观的程序开发环境。用 MATLAB 编写程序犹如在演算纸上排列出共识与求解问题,所以 MATLAB 的编程语言又被称为演算纸式的科学算法语言。在 MATLAB 强大的计算功能基础上,丹麦 B&K 公司的设计师开发出了最新的模态分析软件 MEscopeVES,它可以对机械结构的动态特性进行分析和计算,同时能在被测结构的三维模型上显示振动、声强及其它一些工业数据,MEscopeVES软件还可以显示一个大型结构的工作振型(ODS)、模态
12、振型、应力应变、温度、压力等。通过多年的实践检验和改进加上 MEscopeVES 软件的强大功能,目前全世界一些大型企业都在使用这套模态分析软件,使其成为了一套全球化的软件系统。随着试验模态分析技术的日趋完善,伴随着 B&K 公司在这方面的成功,国外一些成熟的试验模态分析系统也相继诞生,如比利时 LMS 公司的 CADA-X 系统,美国MTS 公司的 I-DEAS 系统,美国 NI 公司的数据采集软件,M+P 公司的Smartoffice,日本 RlON 公司的 DSPS 动态信号采集分析系统、MAS 模态分析软件等 8。相比国外,国内开发的动态信号采集与分析软件系统也在不断涌现。其中具有代表
13、性的有:DAS-I 动态信号分析与故障诊断系统、北京东方振动与噪声技术研究所的 DASP 系统、南京航空航天大学的 VAMS 系统、北京波谱科技有限公司开发的 VibSYS 振动信号采集、处理和分析软件 Vl.02 等。它们在信号采集、谱分析、模态参数识别等方面都有自己的优点,在工程结构设计、故障诊断、试验教学等方面发挥着重要作用。第 6 页 共 42 页1.3 论文研究的主要内容及要求本文是基于MATLAB设计一套振动测试和机构运动速度测试数据分析系统。本系统以MATLAB图形可视化设计GUI为平台,是一个非常简明直观具有良好人机交互功能的振动理论分析系统。用户可以从界面窗口直接输入参数值,
14、即可获得各振动系统的响应特性,尤其是能在图形窗口显示所需响应波形,便于用户利用图形进行不同振动系统的比较分析。本论文的大体结构:(1)第一章对振动测试和机构运动速度测试数据分析系统的背景、意义、基本概念作了简要介绍,列举了振动测试分析软件的现状与 MATLAB的优点并说明了本论文研究的重要内容及本论文的大体结构。(2)第二章介绍了软件设计的思想与特点,并给出了本数据分析系统的设计方案。本系统的方案按照需要实现的功能分为五个模块:采集、导入、处理、显示、保存。(3)第三章介绍怎样创建、设计图形用户界面图形用户界面、控件、菜单,并把图形用户界面制作的更为美观整洁。(4)第四章对本设计的功能实现进行
15、说明;对振动信号和机构运动速度测试信号进行了相应的处理,包括时域、频域、小波变换等。(5)第五章总结与展望。给出了论文的总结,并对后续工作做出了展望。第 7 页 共 42 页2 数据分析系统方案设计目前,市场上振动信号处理软件的种类不是很多,其中也包括一些进口的软件。这些软件的价格都十分昂贵,尤其是进口软件的价格更是让人不敢问津。虽然这些软件的处理功能非常丰富,但它们都存在一个最大的通病,就是使用起来不够灵活方便,特别是需要进行大批量数据处理或测点通道排列不规则需要进行重排处理时显得尤为突出 9。通过自己编写程序来处理振动信号实际上是解决以上矛盾的最佳方案,而MATLAB正是非软件专业的科研人
16、员和工程技术人员编程的最好的系统平台。因此,选择MATLAB为本系统设计的选取方案。2.1 软件设计的基本思想与特点应用软件的开发突破了传统仪器以硬件为主体的模式,它充分利用现有计算机资源,配以独特设计的软硬件,实现普通仪器的全部功能以及一些在普通仪器上无法实现的功能。使用者操作具有测试软件的计算机进行测量,通过友好的图形用户界面,以点击菜单来达到观测计算等操作目的,犹如在操作自己定义、自已设计的一台测试仪器。传统仪器的硬件是其关键,功能由厂商定义,因此其扩展性能较低。而实用的工程软件是以计算机硬件为平台,由传感器、硬件接口卡以及应用软件函数库构成虚实并存的测量系统,软件是其关键 10。与传统
17、仪器相比,工程应用软件去掉了仪器箱、操作面板、电源以及显示电路等许多实体部件,具有强大的计算功能和图形化功能,是仪器智能化、集成化、远程化以及测控一体化设计的典型范例 11。工程软件主要特点如下:1. 由于工程软件以PC机为核心,使得许多数据处理的过程不必像过去那样由测试仪器本身来完成,而是在软件的支持下,利用PC机CPU的强大的数据处理功能来完成,使得基于工程应用软件的测试系统的测试精度、速度大为提高,可实现自动化、智能化、多任务测量。2.可方便地存储和交换测试数据,测试结果的表达方式更加丰富多样。3.工程应用软件可在较高性价比的条件下,降低系统开发和维护费用,缩短技术更新周期。第 8 页
18、共 42 页2.2 测试系统的方案设计振动测试和机构运动速度检测数据分析系统实现的功能需按照常规测试的流程进行实现。系统进行采集时,首先,由传感器检测被测信号,并将被测信号输入到电荷放大器,经电荷方法器放大、转变为电压值并传输到数据采集卡,最后输入到计算机进行数据采集、存储、波形分析等一系列行为。如图2.1、2.2所示。被测信号 传感器 电荷放大器 数据采集卡 P C 机图2.1 系统设计方案的总体流程图导入数据 数据处理 波形显示 保存图形图2.2 分析系统设计流程图振动测试和机构运动速度检测数据分析系统是一个多任务系统,所以选择将相应的软件系统建立在Windows XP 操作系统之上。Wi
19、ndows XP是32位视窗操作系统,它集成了新的设备驱动程序模型,新的文件系统,32 位图形引擎以及多媒体等子系统,十分适合于多任务操作,而且它基于Windows NT 内核系统安全性较高。其次,Windows 操作系统的丰富资源,无论是访问硬件设备还是编制人机交互系统都可以有效降低编程工作量。程序设计以MATLAB作为编程工具。MATLAB是Windows平台下主要的应用程序开发环境之一,MATLAB编程语言是一种面向对象的Windows编程语言,基于MATLAB几乎可以开发出Winndows 应用的各方面的程序,从底层软件一直到直接面向用户的软件。另外,本设计中使用的数据采集卡也提供使用
20、MATLAB来开发驱动程序的接口函数,所以可以很好地建立硬件平台与软件平台之间的联系 12。此外,选择利用MATLAB语言作为编程工具,主要是因为MATLAB具有强大的数值计算功能,给应用系统本身及其开发带来很大的改善:首先,大量数学工具包的直接调用避免了程序设计中的重复性劳动,使研究开发的周期和成本得到了控制:其次,由于提供的数学工具包都针对运算过程和结果进行了专门的优化,减少了开发人员实现算法的困难,这将有效地提高应用系统的精确度和稳定性,在实践中有着很高的实用价值。根据功能的实现,把测试数据分析系统的设计分为以下几部分 13:第 9 页 共 42 页(1)信号采集模块这部分主要是依靠数据
21、采集卡进行结构体的被测信号数据采集,多功能数据采集卡将采集得到的信号转换成数字量输送给PC机。但是本设计的背景是已具备采集好的振动和机构运动速度测试数据。因此,只对数据采集卡进行简单的介绍,并不过多研究。(2)数据导入模块数据采集卡将采集好的振动和机构运动速度测试数据送入到计算机里,但是还要把这部分数据输送到所建立的振动测试和机构运动速度系统界面,以便进行后面的信号处理。所以,这个模块的作用是将计算机里的数据导入到所设计的界面。(3)信号分析模块这是最为重要的一个模块,想要做好这个模块,必须要有相关信号处理方法的基本知识。它是将采集得到的数据应进行分析处理,以得到我们所需要的数据。振动数据处理
22、模块主要包括信号的时域分析、平滑处理、FFT变换和各种窗函数等一些频域处理方法。机构运动速度数据处理模块主要进行了小波变换。(4)图形显示模块这是处理后的数据以图形的形式表现出来,让使用振动和机构运动速度测试系统界面的人更为方便直观的了解处理后数据的特点。我们可以对图形进行放大、缩小,还可以对它进行定点查看等行为。(5)保存图形模块处理后的数据图形需要重新查看、比较等。所以我们要对处理后的波形进行保存。上面这五个部分是振动测试和机构运动速度测试数据分析系统较完整的一个方案设计,也是一个数据处理的完整的步骤。本设计就是按照这五点进行思考、设计的。第 10 页 共 42 页3 系统界面设计3.1
23、MATLAB 简介MATLAB 是美国 MathWorks 公司开发的大型数学计算应用软件系统,是 MATrix LABoratory(矩阵实验室)的缩写。它用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括 MATLAB 和 Simulink 两大部分。它提供了强大的矩阵处理和绘图功能,简单易用,可信度高,灵活性好,因而在世界范围内被科学工作者、工程师以及大学生和研究生广泛应用,目前已经成为国际市场上科学研究和工程应用方面的主导软件。掌握 MATLAB 并借助它解决理论与应用问题已经成为每一个从事科学研究和工程技术人员应该具备的技能14。MATLAB 的应
24、用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。它将不同数学分支的算法以函数的形式分类成库,使用时直接调用这些函数并赋予实际参数就可以解决问题,快速而且准确。MATLAB 是一个包含大量计算算法的集合。其拥有 600 多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如 C
25、和 C+ 。在计算要求相同的情况下,使用 MATLAB 的编程工作量会大大减少。MATLAB 的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。 MATLAB 自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。而且对于一些其他软件所没有的功能(例