基于MATLAB的信号波形与频谱分析.doc
《基于MATLAB的信号波形与频谱分析.doc》由会员分享,可在线阅读,更多相关《基于MATLAB的信号波形与频谱分析.doc(33页珍藏版)》请在三一办公上搜索。
1、基于MATLAB的信号波形与频谱分析摘 要本文利用MATLAB软件进行信号频谱分析的设计,并通过GUI界面(图形用户界面)实现信号频谱分析的动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及对离散信号与连续信号的动态频谱分析。并利用MATLAB内嵌的Simulink模块,实现系统的信号频谱分析,满足不同用户的不同要求。MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境,本文从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。通过本文的研究得出利用GUIDE设计的仿真界面不仅可以对离散信号与连续信号的动
2、态频谱进行相关分析,而且还可以对此问题作进一步的预测和分析。基于GUIDE技术制作的图形用户界面,具有友好性,开放性,方便科研人员不断地研究和扩充。 关键词频谱分析;GUI;SIMULINK;MATLABAbstractUsing MATLAB software for signal spectrum analysis of the design, and through the GUI interface (graphical user interface) signal spectrum analysis of the dynamic design. Users can interacti
3、vely with the computer targeting parameters for the establishment, control algorithm selection, and the discrete signals and continuous signal analysis of the dynamic spectrum. MATLAB and Simulink embedded module, the signal system to achieve spectral analysis, meet the needs of different users with
4、 different needs. MATLAB GUIDE is devoted to the graphical user interface (GUI) design procedures for the rapid development environment, This paper introduced GUIDE start from the context of the specific examples of graphical interface software, GUIDE is produced using a graphical user interface met
5、hods. Through this paper, the study of the use of simulation GUIDE interface design can not only right for discrete signal and the signal dynamic spectrum analysis, but also the issue for further analysis and forecasts. GUIDE technology based on the production of graphical user interface is friendly
6、 and open, facilitate researchers continue to study and expanded. Keywords Spectrum Analysis ;GUI;SIMULINK;MATLAB目 录摘 要IAbstractII第1章 绪论11.1 MATLAB应用软件简介11.2课题研究的内容21.2.1信号的频谱分析21.2.2信号频谱分析的原理31.2.3频谱分析与显示原理31.2.4对三阶交调进行模拟分析31.2.5伪彩色编码的动态频谱图显示41.2.6宽带频谱图与窄带频谱图51.3 GUI界面设计实现51.4 SIMULINK61.4.1 SIMULI
7、NK模型与文件71.4.2 SIMULINK仿真原理7第2章MATLAB工具箱的概述及GUI界面的简介82.1引言82.2句柄图形及图形用户界面82.3 GUIDE82.4编制回调程序102.5主界面102.6子界面112.7基于MATLAB信号处理工具箱的数字滤波器设计与仿真112.8带通滤波器设计实例12第3章 GUI界面下噪声信号的频谱分析与实现143.1概述143.2 MATLAB信号处理工具箱介绍及功能143.2.1MATLAB工具箱介绍143.2.2工具箱功能153.3通风机噪声信号的采集方法173.4噪声信号的频谱分析183.5 GUI界面下噪声频谱分析的实现19结 论22致 谢
8、23参考文献24附录A25附录B27第1章 绪论1.1 MATLAB应用软件简介MATLAB是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速地完成数值分析、矩阵运算、数字信号处理、仿真建模、系统控制和优化等功能。MATLAB将高性能的数值计算和可视化集成在一起,提供了大量的内置函数,从而被广泛地应用在科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用 MATLAB 产品的开放式结构,可以非常容易地对 MATLAB 的功能进行扩充,从而在不断深化对问题认识的同时,不断完善 MATLAB 产品以提高产品自身的竞争能力。MATLAB语言采用与数学表达式相同的
9、形式,不需要传统的程序设计语言,因而不像其他高级语言那样难于掌握。一般来说,用户可以在极短的时间内掌握MATLAB解决简单的问题,由于MATLAB的这些特点,它现在已经成为科研工作和工作仿真的高级助手。MATLAB是mathworks公司开发的,目前国际上最流行应用最广泛的科学与共程计算软件,它广泛应用于自动控制、数字运算、信号分析、航天工业、汽车工业、计算机技术、图像信号处理、财务分析、生物医学工程、语言处理和雷达工程等各行各业,也是国内外高校和研究部门进行许多科学研究的重要工具。MATLAB6.5是它的最新版本,由于它具有强大的计算和绘图功能,大量稳定可靠的算法和简洁高校的编程语言,所以选
10、用MATLAB6.5环境中的GUI介面、SIMULINK仿真环境来对信号进行频谱分析 。本文将以美国Metso Automation MAX公司的新一代DCS产品MAX1000+plus为例讨论如何利用MATLAB的仿真软件包SIMULINK中的S-FUNCTION1和MAX1000+plus系统中读写DPU参数的Software Backplane(软件背板)2技术实现虚拟DPU控制作用与MATLAB建立的仿真模型的连接,并用MATLAB6.5的GUI介面来进行通风机噪声频谱分析。1.2课题研究的内容1.2.1信号的频谱分析(1)连续周期信号已知一个连续周期信号,在满足一定条件下,可以通过傅
11、立叶级数展开为一系列正弦信号的线性叠加。形状不同的周期信号其区别在于它们各自不同基本频率、不同谐波的幅度和相位的正弦信号组合而成。由此可见,如果能找到具有这三个特性的频率函数,就能把该信号惟一地确定下来。从傅立叶级数展开式中可以观察到,傅立叶系数就是这样的频率函数,并可按下式求得: (1.1)式中,T是周期信号的周期,是基本角频率,K是离散变量表示谐波的次数。可见,是离散频率的复函数,可表示为: (1.2)(2)连续非周期函数 对于连续非周期信号,也可通过连续时间傅立叶变换(CTFT),从上式中求得一个频率函数X(W),在频域对信号进行分析,即 (1.3) (3)离散周期信号 对于离散周期信号
12、,从离散傅立叶级数展开式中可以求得傅立叶系数,如下式所示,即: (1.4) (4)离散非周期信号对于离散周期信号。如同连续非周期信,通过离散时间傅立叶变换(DTFT)可求得非周期序列的频谱密度函数,即: (1.5)1.2.2信号频谱分析的原理 信号频谱分析,就是应用傅里叶分析的方法,求出与信号时域波形相对应的频率函数,从中找出描述该信号频谱结构的变化规律,以达到特征提取的目的,如频带宽度、幅度、相位以及能量、功率等随频率变化的分布规律3。1.2.3频谱分析与显示原理(1)离散信号的短时FFT频谱分析现代信号频谱分析是基于离散时域的短时FOURIER分析。设离散时域采样信号为x(n)=0,1,N
13、-1是时域采样点序号,N是信号长度。在数字信号处理中,用加窗方法将信号分段。此时表示成x(n),n=0,1,N-1,m是桢的序号,n是桢的同步的时间序号,N则是一桢内的采样点数(桢长)。信号的加窗离散时域Fourier变换(DTFT)为: (1.6)为了便于离散计算,采用的离散FOURIER变换(DFT): (1.7) X(m,k)|便是Xm(n)的短时幅度谱估计。把m当作时间变量,k当作频率变量,则|X(m,k)|就是信号x(n)的动态频谱。由20log10(|X(m,k)|)就是以dB表示的动态频谱。为了高计算|X(m,k)|,可以运用快速Fourier变换算法,即FFT算法。1.2.4对
14、三阶交调进行模拟分析1.输入:三个正弦信号之和,要求三个信号之间的频率相差不大。 2.过程:输入信号通过非线性放大器,放大器的放大特性为a*x+b*x*x*x。 3.输出:输入信号和输出信号的频谱4。fs=6400000; %采样频率64k t=0:(1/fs):(0.1-(1/fs); %时长0.001秒 t_len=size(t,2); f1=1400; f2=1600; %双音信号1k和1.6k f_len=linspace(-fs/2-fs/2/t_len,fs/2-fs/2/t_len,t_len); figure(1); a1=1.65; a3=-0.887; a5=0.16; s
15、=(sin(2*pi*f1*t)+sin(2*pi*f2*t); a*x+b*x*x*xfftmov1=20*log10(abs(fft(ss); fftmov1=fftshift(fftmov1); plot(f_len,fftmov1); ylim(-100 120); xlim(0 5000); grid on; xlabel(频率hz); ylabel(幅度db); title(输出信号频谱);1.2.5伪彩色编码的动态频谱图显示在二维平面坐标上,将m作为横坐标,k作为纵坐标,把|X(m,k)|的值作为灰则得到X(n)的动态频谱图。对|X(m,k)|的值实施伪彩色映射,可得到伪彩色的动
16、态频谱图,以获得更好的分辨率和视觉效果,并增强频谱图的可读性性。把|X(m,k)|的最小值映射为归一化的0电平,最大值映射归一化的1电平,而将|X(m,k)|线性映射为01之间的电平值。再利用彩色映射,计算彩色监视器把显示出来,则获得伪彩色显示的动态频谱图。为了充分利用彩色空间的范围,选折适当的基准频谱值Base。小于Base的频谱值都被限定在基准电平上,而大于Base的谱值则被线性映射到由01的归一化彩色值。以C=c(m,k)表示彩色值矩阵,由|X(m,k)|到c (m,k)的映射的数学表示如下: (1.8)其中 (1.9)1.2.6宽带频谱图与窄带频谱图根据DFT分析原理,频谱的频域分辨力
17、是指离散的频率的频率间隔,也即X( )中相邻的k值之间所代表的频率间隔 。 的大小取决于桢长N以及信号采样频率 。根据Nyquist采样定理, 和N之间的关系满足 (1.10)这与信号 原来所包括的频率成分无关。所以, 在不变的前提下,增加N将使频谱图的分辨率提高或相邻k值之间所代表的频带宽度变小,这就使得频谱趋向于窄带频谱,相反,则趋向于宽带频谱。为提高频域分辨率而加大N值,会使频谱在时域中是的分辨率降低。解决这个矛盾的途径是,在取较大(合适)的真长N的同时,采用信号分针针移小于真长N的办法,由此可得到频域和时域分辨率都满足需要的频谱。分真真移可表示为: n=0,N-1, N (1.11)
18、1.3 GUI界面设计实现动态数字调节器设计与仿真软件的界面。它共包含5个区域:(1)菜单区:位于整个界面的最上端。隐含了Matlab自带的所有基本菜单(将figure对象的“MenuBar”属性设置为“None”),添加了file、tool、system、最小拍、大林算法、Simulink、help7个菜单。每个菜单下又有各级子菜单。其中两项的具体内容如图1.1。 图1.1菜单内容(2)图形区:用于显示各计算机控制系统的动态仿真曲线,以及各系统的比较曲线。(3)对象模型区:动态的显示系统各相应环节的数学模型(传递函数或脉冲传递函数)。由4个单选按钮(radiobutton)和4个编辑框(ed
19、it)组成。当用户的输入参数发生变化时,可通过单击响应的单选按钮,实现显示结果的实时刷新与显示。(4)控制按钮区:由4个按钮组成(pushbutton),实时的进行系统参数的设定,输出图像智能切换,并具有曲线刷新等功能。在使用该软件时,第一步便是按下“参数输入”按钮,进行系统设置,否则将给出错信息。(5)图形效果区:由一个滑动条组成(slider)。用于控制输出图形的明暗程度。其实在该区域还可根据用户要求加入其他图形控件,如色彩选择器、线形控制器等等,但就实现方式来讲是完全一致的。故本窗口只设置了一个以示说明。1.4 SIMULINKSIMULINK是一个进行动态系统建模、仿真和综合分析的集成
20、软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。1.4.1 SIMULINK模型与文件 在SIMULINK模型窗口中可以使用“File”选单来实现模型的文件 相应的操做,同样,也可以在MATLAB的命令窗口通过命令来实现。(1)创建新模型。new-systen命令用来在MATLAB的工作空间创建一个空白的SIMULINK模型,但这个模型不能制动显示出来,称为逻辑模型,必须用open-systen命令来显示。(2)打开模型。open-systen命令用来打开逻辑模型,在SIMULINK模型窗口显示该模型。(3)保存模型。Save-systen命令
21、用来保存模型为模型文件夹,扩展名为.mdl。(4)关闭模型。如果要关闭一个打开的SIMULINK模型,则使用close-systen命令。SIMULINK是MATLAB最重要的组件之一,它提供一个动态系统建模仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。SIMULINK具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点SIMULINK已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于SIMULINK。1.4.2 SIMULINK仿真原理简单的:
22、用SIMULINK的工具箱做仿真。中级的:确定一个硬件芯片,然后再加外围,然后仿真,适当的考虑一些其他干扰、现场因素。复杂的:确定硬件芯片,加外围,考虑现场、干扰、编码等诸多因素,并将整个信号的传输过程都仿真出来,如采集端的DSP,信道里面的传输,接受的解码编码,最好是用一段具体的声音来建模,并给出在频域、时域的图像6。如果在家一点儿信道服用以后的提高、优化分析,如时分复用、频分复用等。第2章MATLAB工具箱的概述及GUI界面的简介2.1引言MATLAB是由MathWorks公司于1984年推出的数学软件,早期以矩阵运算为主,但随着科学可视化的需求日增,MATLAB在第4版推出了句柄图形,自
23、此之后,所有的Demos都包含友好的图形用户界面,MATLAB的图形界面设计功能也日益完善如今,MATLAB已成为集数值计算功能符号运算功能和图形处理功能为一身的超级科学计算语言,满足了不同领域用户的需求。2.2句柄图形及图形用户界面句柄图形(HandleGraphics)就是将一个图形的每一个组件都视为一个对象(Object),每一个对象都有一个独一无二的/句柄0(handle),根据这个句柄,就可以找到这个对象(即图形组件)的各项属性,并进而更改这些属性,以产生不同的图形呈现效果。句柄图形属性:Children属性、Parent属性、Tag属性、Type属性、UserData属性、Visi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 信号 波形 频谱 分析
链接地址:https://www.31ppt.com/p-4142956.html