您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 机械/模具设计 > 用MATLAB编写程序对机械振动信号进行分析2
燕山大学课程设计(论文)任务书院(系):电气工程学院基层教学单位:学号学生姓名专业(班级)设计题目用MATLAB编写程序对机械振动信号进行分析设计技术参数1,振动信号的时间域内的相关参数,如平均值、最大值、最小值、标准差、方差、峰峰值等;2,振动信号的频率域分析,包括FFT频谱分析、倒谱分析以及功率谱分析等。设计要求1,根据所拟合的振动信号,选取所需要的时域性能指标和频域分析的性能指标对振动信号进行分析。2,编写信号的处理程序,对拟合信号进行处理。并对结果进行分析。工作量适中工作计划6月29日到30日,查找与课程设计相关的资料;7月1日到7月4日,用MATLAB编写程序并调试;7月5日到7月7日,写课程设计的任务书;7月8日,课程答辩。参考资料1,宋爱国、刘文波等主编,测试信号分析与处理。北京:机械工业出版社,2005.92,谢平、王娜、林洪斌等主编,信号处理原理及应用。北京:机械工业出版社,2008.103,吴大正、高西全等主编,MATLAB及在电子信息课程中的应用。北京:电子工业出版社,2006.34,聂祥飞、王海宝、谭泽富主编,MATLAB程序设计及其在信号处理中的应用。成都:西南交通大学出版社,2005.45,李培芳、孙晖、李江主编,信号与系统分析基础。北京:清华大学出版社,2006.126,王宏主编,MATLAB6.5及其在信号处理中的应用。北京:清华大学出版社,2004.10指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。年月日二、摘要1)MATLAB的简单介绍MATLAB是美国Mathworks公司开发的新一代科学计算软件:MATLAB是英文MATtrixLABoratory(矩阵实验室)的缩写;MATLAB是一个专门为科学计算而设计的可视化计算器。利用这个计算器中的简单命令,能快速完成其他高级语言只有通过复杂此案出才能实现的数值计算和图形显示。MATLAB是一种既可交互使用又能解释执行的计算机编程语言。所谓交互使用,是指用户输入一条语句后立即就能得到该语句的计算结果,而无需像C语言那样首先编写源程序,然后对之进行编译,连接,才能最终形成可执行文件。MATLAB语言可以用直观的数学表达式来描述问题,从而避开繁琐的底层编程,因此可大大提高工作效率。MATLAB是解决工程技术问题的技术平台。利用它能够轻松完成复杂的数值计算,数据分析,符号计算和数据可视化等任务。MATLAB软件由主包和各类工具箱构成。其中,主包基本是一个用C/C++等语言编写成的函数库。该函数库提供矩阵(或数组)的各种算法以及建立在此基础上的各种应用函数和一些相关的用户有好操作界面。而工具箱从深度和广度上大大扩展了MATLAB主包的功能和应用领域。随着自身的不断完善和发展,MATLAB功能越来越强大,应用也越来越广泛。2)信号测试技术与分析随着机械工业不断向自动化、高精度、智能化等方向的发展,在机械设备运行及生产过程中进行参量测试、分析与诊断等处理过程已成为必要环节,许多信号处理方法如时域统计分析、相关分析、相干分析、频谱分析等已经被广泛被应用与机械工程测试领域。测试信号通常指的是被测对象的运动或状态信息。测试信号可以用数学表达式描述,也可以用图形、图表等进行描述。在工程测试中,有的信号可以用数学公式精确描述,而大量的测试信号却只能用数学公式来近似描述。随着数字信号处理理论和快速算法的不断完善,特别是数字信号处理芯片的高速发展,测试信号分析与处理技术已经在许多领域越来越普及。本设计为机械测试信号的时域和频域分析,其中时域分析包括对信号最大值、最小值、中值、方差的分析,频域分析包括FFT分析、频谱分析、倒谱分析。频域分析中FFT是离散傅立叶变换DFT的快速算法,它使DFT在数字通信、语音信号处理、图像处理、系统仿真、雷达理论、光学、医学、地震监测等各个领域得到了广泛应用。然而,各种应用一般都以卷积和相关运算的具体处理为依据,或者以DFT作为连续傅立叶变换的基础。FFT主要包括两类:按时间抽取法和按频率抽取法。倒频谱实际上是频域信号取对数的傅立叶变换再处理,或称为“频域信号的傅立叶变换再变换”。对功率谱密度函数取对数的目的是使再变换以后信号的能量更加集中。倒频谱可以分析复杂频谱上的周期成分,分离和提取在密集泛频信号中的成分。对于具有同族谐频和异族谐频等复杂信号的分析,效果很好。倒频谱用于对语音分析中的语言音调的测定和检测、机械振动谱图中的谐波分量作故障检测和诊断以及排除回波等方面是很有效的。三、设计书正文1)设计内容本次设计内容是基于已经学习的数字信号处理的知识,对于机械振动信号进行分析。分析过程包括时域分析和频域分析两大部分,时域分析的指标包括离散序列的平均值、最大值、最小值以及标准差。频域分析的性能指标包括对序列进行FFT谱分析、倒谱分析以及功能谱分析。在进行上述分析之前先要对振动信号进行拟合。机械振动分为确定性振动和随机振动,确定性振动又分为周期振动和非周期振动,周期振动又进一步分为简谐振动和复杂的周期振动。所以可以根据上述的分类来拟合振动信号。在设计信号的处理程序时,用MATLAB中的相关函数来对所拟合的振动信号进行时域分析和频域分析,并对绘出的频谱图进行说明。2)设计原理现构造一个振动信号(再该程序中以两个衰减振动分量和一个随机数rand之和来拟合振动信号),再利用MATLAB中的函数mean()、min()、max()、std()对离散序列中的平均值、最大值、最小值、标准差等时域性能进行分析,通过调用函数fft(y);psd(y);rcep(y)对该振动信号进行频域内的性能分析。3)设计过程①处理程序:closeall;clearall;A1=3;A2=4;f1=100;f2=250;fs=1000;t=0:1/fs:2;N=length(t);X1=A1*exp(-0.9*t).*sin(2*pi*f1*t);X2=A2*exp(-1.5*t).*sin(2*pi*f2*t);R=rand(1,N);Y=X1+X2+R;figure(1);plot(t,Y);title('振动信号的波形');xlabel('时间/秒');ylabel('幅度');grid;holdon;%时域分析m=mean(Y);disp(m);mi=min(Y);disp(mi);mx=max(Y);disp(mx);st=std(Y);disp(st);%频域分析l=length(Y);r=fft(Y)/l;r=fftshift(r);f=linspace(-fs/2,fs/2,l);figure(2);plot(f,abs(r));grid;holdon;figure(3);psd(Y,2048,1000,kaiser(512,5),0,0.95);figure(4);yc=rceps(Y);plot(yc);②运行结果分析:时域分析结果序列的平均值为0.5038序列的最小值为-6.7750序列的最大值为7.5083序列的标准差为1.6180频域分析结果00.20.40.60.811.21.41.61.82-8-6-4-202468振动信号的波形时间/秒幅度这是所拟合得到的振动信号的图像。-500-400-300-200-100010020030040050000.10.20.30.40.50.60.7上图为FFT频谱图,从该频谱中可以看到有三个主要高峰值,即在0Hz,100Hz,250Hz处。050100150200250300350400450500-30-20-10010203040FrequencyPowerSpectrumMagnitude(dB)在功率谱中可以很明显的看到振动信号中有100Hz和250Hz两个主要的频率。表明信号中含有这两个频率的周期成分。05001000150020002500-0.500.511.522.534)理论知识在设计过程中我们所需要的理论知识有离散傅立叶变换(DFT)、功率谱的概念和意义以及倒谱的概念和意义。①DFT的定义和意义:DFT的定义式为:DFT的意义:DFT的意义在于它表示信号中的各个频率的分量的振动幅值的大小,亦即该分量对于振动信号影响的大小。通过DFT的快速算法FFT可以很方便的将振动信号的各个分量的幅值比重计算出来。即可以把信号的主频分量提取出来。②功率谱的概念和意义:功率谱的定义式为若X(Ω)=DFT[x(m)],x(n)为N点序列。则X*(Ω)=DFT[xN(-m)]从而有DFT[R(M)]=N1DFT[x(m)]DFT[xN(-m)]X(k)=DFT[x(n)]=knNNnWnx10)(0≤k≤N-1X(n)=N110)(NkknNWkX=x(n)0≤n≤N-1即S^Nx(Ω)=N1X(Ω)X*(Ω)=N1|X(Ω)|^2综上所述,先用FFT求出随机离散序列的DFT,再计算幅频特性的平方,再除以N,即得到该随机信号的功率谱估计。功率谱的意义在于它可以对信号中的周期成分进行分析。③倒谱的概念与意义:倒谱可以分析复杂频谱图上的周期成分,分离和提取在密集泛频信号中的成分。倒频谱对于整个谱的形状不敏感。四、设计心得体会通过这将近一周半的数字信号处理的课程设计,我先在图书馆里查找了相关的书籍,如MATLAB类的编程书籍,各类数据处理类的书籍以及机械振动类的书籍等,即丰富了自己的知识范围,又对与自己所学的知识有了更深的了解和认识,同时也对它的应用有了一个大体的认识。这样将会更加激励我好好学习相关的知识,不断的将所学的知识用于实践。于实践中牢牢的掌握它。在设计的过程中,我也认识到了自己所学知识的不足。这也让我再次认识到知识是无尽的,只有不断的充实自己、完善自己的知识理论体系,才能够更好的胜任自己以后的工作。设计过程中知识的不足也让我更加坚定了终身学习的决心。在设计的过程中,我也得到了我们设计小组的成员和很多同学的帮组。这也加强了我与其他同学合作的能力。查找资料的过程中我也增强自己学习的能力,这些都将让我在以后的学习、生活和工作中受益匪浅。总之,对于这样的课程设计活动,我收获了很多东西,也将使我在以后的学习、工作中更加轻松和积极。这也正是参加这次活动的目的和意义。6)参考文献1,宋爱国、刘文波等主编,测试信号分析与处理。北京:机械工业出版社,2005.92,谢平、王娜、林洪斌等主编,信号处理原理及应用。北京:机械工业出版社,2008.103,吴大正、高西全等主编,MATLAB及在电子信息课程中的应用。北京:电子工业出版社,2006.34,聂祥飞、王海宝、谭泽富主编,MATLAB程序设计及其在信号处理中的应用。成都:西南交通大学出版社,2005.45,李培芳、孙晖、李江主编,信号与系统分析基础。北京:清华大学出版社,2006.126,王宏主编,MATLAB6.5及其在信号处理中的应用。北京:清华大学出版社,2004.10目录一、设计任务书———————————————1二、设计摘要———————————————21,MATLAB的简单介绍-------------------------------22,信号测试技术与分析-------------------------------2三、设计正文———————————————41,设计内容-------------------------------------------------42,设计原理-------------------------------------------------43,设计过程-------------------------------------------------5处理程序…………………………………………5运行结果及分析…………………………………64,理论知识------------------------------------------------10四、设计心得体会——————————————12五、参考文献———————————————13
本文标题:用MATLAB编写程序对机械振动信号进行分析2
链接地址:https://www.777doc.com/doc-4651969 .html