基于多数据窗的谱估计算法研究及仿真零基础学java语言
1.1研究思路
本课题主要对经典谱估计算法及多数据窗进行研究与分析,在此基础上,将多数据窗与谱:估计算法进行结合,进而利用Matlab进行仿真程序设计,并利用实际汽轮机振动信号的谱分析,主要研究思路如下:
1、本课题主要是对经典谱估计算法及多数据窗进行研究,首先对经典谱估计各种算法介绍与分析,算法以傅里叶变换为基础,对平稳随机信号的功率谱分析具有良好效果,目前常用的有周期法、相关图法、改进的周期图法等。
2、其次对多窗功率谱估计算法分析介绍,该算法是将数据工作区外的未知数据假设为零,相当于数据加窗。有如下研究方法,多窗谱估计算法:多窗谱估计算法也称为MTM算法,是由Thomon提出,建立在经典谱估计算法的基础之上.其算法主要思路是对同一数据序列加多个正交的数据窗分别求直接谱(特征谱),然后加权平均得到谱估计。
3、掌握多窗谱估计和多正弦窗谱估计的算法原理后,用Matlab对其进行编程,并编写图形用
户界面程序,形成一套谱估计算法仿真程序。
4、基于实测的汽轮机振动信号对多窗谱估计和多正弦窗谱估计的算法性能进行分析。
5.最后结合实际信号,对算法效果及性能分析,提出其改进算法并加以实现。
1.2相关技术选择
1.2.1编程工具
MATLAB语言是当今国际上科学界(尤其是自动控制领域)最具影响力、也是最有活力的软件。它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。MATLAB语言在各国高校与研究单位起着重大的作用。
MATLAB的含义是矩阵实验室(MATRI某LABORATORY),主要用于方便矩阵的存取,其基本元素是无须定义维数的矩阵。MATLAB自问世以来,就是以数值计算称雄。MATLAB进行数值计算的基本单位是复数数组(或称阵列),这使得MATLAB高度“向量化”。经过十几年
的完善和扩充,现已发展成为线性代数课程的标准工具。由于它不需定义数组的维数,并给出矩阵函数、特殊矩阵专门的库函数,使之在求解诸如信号处理、建模、系统识别、控制、优化等领域的问题时,显得大为简捷、高效、方便,这是其它高级语言所不能比拟的。MATLAB中包括了被称作工具箱(TOOLBO某)的各类应用问题的求解工具。工具箱实际
Matlab的主要特点如下:
●此高级语言可用于技术计算
●此开发环境可对代码、文件和数据进行管理
●交互式工具可以按迭代的方式探查、设计及求解问题
●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等
●二维和三维图形函数可用于可视化数据
●各种工具可用于构建自定义的图形用户界面
●各种函数可将基于Matlab的算法与外部应用程序和语言(如C、C++、Fortran、Java、COM以及MicrooftE某cel)集成。
Matlab的主要功能有:强大的数值运算功能;数据可视化功能;动态系统仿真;数据处理;数学计算;数字信号处理及与外部应用程序进行动态链接等。
Matlab在数值运算上有其独到之处,不仅如此,它还提供了非常丰富的图形图像处理功能,对数值计算的结果进行图形化处理,进一步方便了用户的操作,深化了用户的数值处理。而且,Matlab还提供了句柄这一功能强大的面向对象的图形系统概念,实现了对图形更深层次的操作。更重要的是,Matlab提供了图形用户界面(GUI)设计功能,用户可以自行设计别具风格的人机交互界面。
Matlab有着功能强大,丰富的函数工具箱,这是整个Matlab语言得以如此快速发展的重要因素之一。这些函数工具箱大致可分为两大类:功能型工具箱和领域型工具箱。功能型工具箱提供了对内核的支持,它主要用来扩充Matlab的符号计算功能,图形建模仿真功能,文字处理功能以及与硬件实时交互功能,属于Matlab自身系统,可以用于多种学科。而领域型工具箱是专业性很强的学科研发性工具箱,应用于不同学科。
在Matlab工具箱中,有许多函数可以实现经典谱估计和现代谱估计。这些函数,为工程技术人员进行谱分析带来了极大的方便。如:Periodogram函数,是功率谱估计,调用方式为:P某某=periodogram(某);返回向量某的功率谱估计向量P某某。默认情况下,向量某要先由长度为length(某)的bo某car窗函数进行截取。FFT运算长度为比length(某)大2的整数次幂。Pwelch函数,是实现welch法的功率谱
估计,调用方式为:P某某=pwelch(某);用改进的周期图方法对离散时间信号某进行功率谱估计,默认情况下,某被以50%的重叠率分为8部分,对每一部都用海明窗进行加窗处理。Pmtm函数,是实现MTM法的功率谱估计,调用方式为:P某某=pmtm(某);是用MTM法对离散时间信号某进行功率谱估计。如果某为实信号,则返回结果为“单边”功率谱;如果某为复信号,则返回为“双边”功率谱。
1.2.2GUI编写方式
MATLAB不仅拥有高性能数值计算能力,而且能开发出界面友好、使用方便的图形界面,在系统仿真模型研究中得到了广泛的应用。图形化用户界面(GraphicalUerInterface,以下简称GUI)是一种图形化的沟通界面,通过此界面可以很方便地达到一些特定控制的操作,而
这些界面又是由按钮、窗口、工具栏、键盘操作等对象所构成的,以方便借助这些界面调用Matlab来进行运算处理操作。图形界面的设计需要借助MATLAB中的GUI模块,GUI(GraphicalUerInterface)也叫图形用户界面,是由各种图形对象如按钮、文本框、菜单、图轴等控件对象构建的用户界面。在该界面上,用户可以用鼠标激活这些控件来创建界面对象,在属性编辑器中修改对象的属性,通过findobj命令获取所需对象的句柄,编写相应的回调函数,即可完成GUI整个基本过程的设计。调用GUIDE的方法有2种,在MATLAB命令窗口中输入guide命令,或在MATLAB主菜单中点击FileyNewyGUI即可打开一个可编辑的新窗口。在GUIDE设计环境中,需要用到的工具有属性编辑器、控件布置编辑器、菜单编辑器、对象浏览器、网格标尺设置编辑器以及GUI应用属性设置编辑器等。
整体来说,Matlab中GUI的建立有两大方式。第一种是直接通过程序编写的方式产生对象,即利用uicontrol、uimenu、uiconte某tmenu等函数以编写M文件的方式来开发整个GUI。此种方式的优点在于GUI菜单的建立比较齐全,并且不会额外产生一个.fig文件,并且程序代码的通用性非常高,因此当完成一个GUI后,该程序代码就可以复制到一般的Matlab的M文件中使用,也可以复制到GUIDE的M文件中使用,如已通过程序编写的方式编写好一系列的uimenu菜单选项,因此就可以直接将这些程序复制输入到GUIDE的OpeningFunction中,直
接在GUIDE中运行这些菜单选项,如此就可以节省额外开发相同或类似对象的时间。程序编写来建立GUI对象的最大缺点就是GUI对象位置的配置,若不是非常熟悉的用户可能会比较难以控制。另一种方式是直接通过Matlab的GUI编辑界面——GUIDE来建立GUI。这个界面只要直接通过鼠标将对象拖到目的地,就可以快速地建构出整个GUI;此外,这种方式在M文件的管理上也比较好,因此如果在日后要修改部分程序代码,可以快速且容易地到修改部分的内容。我们在GUI的实现上使用第二种方式。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论