基于MATLAB的信号波形与频谱分析.docx

上传人:b****3 文档编号:4186638 上传时间:2022-11-28 格式:DOCX 页数:25 大小:143.75KB
下载 相关 举报
基于MATLAB的信号波形与频谱分析.docx_第1页
第1页 / 共25页
基于MATLAB的信号波形与频谱分析.docx_第2页
第2页 / 共25页
基于MATLAB的信号波形与频谱分析.docx_第3页
第3页 / 共25页
基于MATLAB的信号波形与频谱分析.docx_第4页
第4页 / 共25页
基于MATLAB的信号波形与频谱分析.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

基于MATLAB的信号波形与频谱分析.docx

《基于MATLAB的信号波形与频谱分析.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的信号波形与频谱分析.docx(25页珍藏版)》请在冰豆网上搜索。

基于MATLAB的信号波形与频谱分析.docx

基于MATLAB的信号波形与频谱分析

基于MATLAB的信号波形与频谱分析

基于MATLAB的信号波形与频谱分析

摘要

本文利用MATLAB软件进行信号频谱分析的设计,并通过GUI界面(图形用户界面)实现信号频谱分析的动态设计。

用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及对离散信号与连续信号的动态频谱分析。

并利用MATLAB内嵌的Simulink模块,实现系统的信号频谱分析,满足不同用户的不同要求。

MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境,本文从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。

通过本文的研究得出利用GUIDE设计的仿真界面不仅可以对离散信号与连续信号的动态频谱进行相关分析,而且还可以对此问题作进一步的预测和分析。

基于GUIDE技术制作的图形用户界面,具有友好性,开放性,方便科研人员不断地研究和扩充。

关键词 频谱分析;GUI;SIMULINK;MATLAB

Abstract

UsingMATLABsoftwareforsignalspectrumanalysisofthedesign,andthroughtheGUIinterface(graphicaluserinterface)signalspectrumanalysisofthedynamicdesign.Userscaninteractivelywiththecomputertargetingparametersfortheestablishment,controlalgorithmselection,andthediscretesignalsandcontinuoussignalanalysisofthedynamicspectrum.MATLABandSimulinkembeddedmodule,thesignalsystemtoachievespectralanalysis,meettheneedsofdifferentuserswithdifferentneeds.

MATLABGUIDEisdevotedtothegraphicaluserinterface(GUI)designproceduresfortherapiddevelopmentenvironment,ThispaperintroducedGUIDEstartfromthecontextofthespecificexamplesofgraphicalinterfacesoftware,GUIDEisproducedusingagraphicaluserinterfacemethods.Throughthispaper,thestudyoftheuseofsimulationGUIDEinterfacedesigncannotonlyrightfordiscretesignalandthesignaldynamicspectrumanalysis,butalsotheissueforfurtheranalysisandforecasts.GUIDEtechnologybasedontheproductionofgraphicaluserinterfaceisfriendlyandopen,facilitateresearcherscontinuetostudyandexpanded.

Keywords SpectrumAnalysis;GUI;SIMULINK;MATLAB

摘要

Abstract

第1章绪论

1.1MATLAB应用软件简介

MATLAB是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速地完成数值分析、矩阵运算、数字信号处理、仿真建模、系统控制和优化等功能。

MATLAB将高性能的数值计算和可视化集成在一起,提供了大量的内置函数,从而被广泛地应用在科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。

MATLAB语言采用与数学表达式相同的形式,不需要传统的程序设计语言,因而不像其他高级语言那样难于掌握。

一般来说,用户可以在极短的时间内掌握MATLAB解决简单的问题,由于MATLAB的这些特点,它现在已经成为科研工作和工作仿真的高级助手。

MATLAB是mathworks公司开发的,目前国际上最流行应用最广泛的科学与共程计算软件,它广泛应用于自动控制、数字运算、信号分析、航天工业、汽车工业、计算机技术、图像信号处理、财务分析、生物医学工程、语言处理和雷达工程等各行各业,也是国内外高校和研究部门进行许多科学研究的重要工具。

MATLAB6.5是它的最新版本,由于它具有强大的计算和绘图功能,大量稳定可靠的算法和简洁高校的编程语言,所以选用MATLAB6.5环境中的GUI介面、SIMULINK仿真环境来对信号进行频谱分析。

本文将以美国MetsoAutomationMAX公司的新一代DCS产品MAX1000+plus为例讨论如何利用MATLAB的仿真软件包SIMULINK中的S-FUNCTION[1]和MAX1000+plus系统中读写DPU参数的SoftwareBackplane(软件背板)[2]技术实现虚拟DPU控制作用与MATLAB建立的仿真模型的连接,并用MATLAB6.5的GUI介面来进行通风机噪声频谱分析。

1.2课题研究的内容

1.2.1信号的频谱分析

(1)连续周期信号

已知一个连续周期信号,在满足一定条件下,可以通过傅立叶级数展开为一系列正弦信号的线性叠加。

形状不同的周期信号其区别在于它们各自不同基本频率、不同谐波的幅度和相位的正弦信号组合而成。

由此可见,如果能找到具有这三个特性的频率函数,就能把该信号惟一地确定下来。

从傅立叶级数展开式中可以观察到,傅立叶系数

就是这样的频率函数,并可按下式求得:

(1.1)

式中,T是周期信号的周期,

是基本角频率,K是离散变量表示谐波的次数。

可见,

是离散频率的复函数,可表示为:

(1.2)

(2)连续非周期函数

对于连续非周期信号,也可通过连续时间傅立叶变换(CTFT),从上式中求得一个频率函数X(W),在频域对信号进行分析,即

(1.3)

(3)离散周期信号

对于离散周期信号,从离散傅立叶级数展开式中可以求得傅立叶系数

,如下式所示,即:

(1.4)

(4)离散非周期信号

对于离散周期信号。

如同连续非周期信,通过离散时间傅立叶变换(DTFT)可求得非周期序列的频谱密度函数

,即:

(1.5)

1.2.2信号频谱分析的原理

信号频谱分析,就是应用傅里叶分析的方法,求出与信号时域波形相对应的频率函数,从中找出描述该信号频谱结构的变化规律,以达到特征提取的目的,如频带宽度、幅度、相位以及能量、功率等随频率变化的分布规律[3]。

1.2.3频谱分析与显示原理

(1)离散信号的短时FFT频谱分析

现代信号频谱分析是基于离散时域的短时FOURIER分析。

设离散时域采样信号为x(n)=0,1,…N-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对三阶交调进行模拟分析

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=(sin(2*pi*f1*t)+sin(2*pi*f2*t));

a*x+b*x*x*x

fftmov1=20*log10(abs(fft(ss)));

fftmov1=fftshift(fftmov1);

plot(f_len,fftmov1);

ylim([-100120]);

xlim([05000]);

gridon;

xlabel('频率hz');

ylabel('幅度db');

title('输出信号频谱');

1.2.5伪彩色编码的动态频谱图显示

在二维平面坐标上,将m作为横坐标,k作为纵坐标,把|X(m,k)|的值作为灰则得到X(n)的动态频谱图。

对|X(m,k)|的值实施伪彩色映射,可得到伪彩色的动态频谱图,以获得更好的分辨率和视觉效果,并增强频谱图的可读性性。

把|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分析原理,频谱的频域分辨力是指离散的频率的频率间隔,也即X()中相邻的k值之间所代表的频率间隔

的大小取决于桢长N以及信号采样频率

根据Nyquist采样定理,

和N之间的关系满足

(1.10)

这与信号

原来所包括的频率成分无关。

所以,

在不变的前提下,增加N将使频谱图的分辨率提高或相邻k值之间所代表的频带宽度变小,这就使得频谱趋向于窄带频谱,相反,则趋向于宽带频谱。

为提高频域分辨率而加大N值,会使频谱在时域中是的分辨率降低。

解决这个矛盾的途径是,在取较大(合适)的真长N的同时,采用信号分针针移

小于真长N的办法,由此可得到频域和时域分辨率都满足需要的频谱。

分真真移可表示为:

n=0,…N-1,

1.3GUI界面设计实现

动态数字调节器设计与仿真软件的界面。

它共包含5个区域:

(1)菜单区:

位于整个界面的最上端。

隐含了Matlab自带的所有基本菜单(将figure对象的“MenuBar”属性设置为“None”),添加了file、tool、system、最小拍、大林算法、Simulink、help7个菜单。

每个菜单下又有各级子菜单。

其中两项的具体内容如图1.1。

图1.1菜单内容

(2)图形区:

用于显示各计算机控制系统的动态仿真曲线,以及各系统的比较曲线。

(3)对象模型区:

动态的显示系统各相应环节的数学模型(传递函数或脉冲传递函数)。

由4个单选按钮(radiobutton)和4个编辑框(edit)组成。

当用户的输入参数发生变化时,可通过单击响应的单选按钮,实现显示结果的实时刷新与显示。

(4)控制按钮区:

由4个按钮组成(pushbutton),实时的进行系统参数的设定,输出图像智能切换,并具有曲线刷新等功能。

在使用该软件时,第一步便是按下“参数输入”按钮,进行系统设置,否则将给出错信息。

(5)图形效果区:

由一个滑动条组成(slider)。

用于控制输出图形的明暗程度。

其实在该区域还可根据用户要求加入其他图形控件,如色彩选择器、线形控制器等等,但就实现方式来讲是完全一致的。

故本窗口只设置了一个以示说明。

1.4SIMULINK

SIMULINK是一个进行动态系统建模、仿真和综合分析的集成软件包。

它可以处理的系统包括:

线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。

1.4.1SIMULINK模型与文件

在SIMULINK模型窗口中可以使用“File”选单来实现模型的文件相应的操做,同样,也可以在MATLAB的命令窗口通过命令来实现。

(1)创建新模型。

new-systen命令用来在MATLAB的工作空间创建一个空白的SIMULINK模型,但这个模型不能制动显示出来,称为逻辑模型,必须用open-systen命令来显示。

(2)打开模型。

open-systen命令用来打开逻辑模型,在SIMULINK模型窗口显示该模型。

(3)保存模型。

Save-systen命令用来保存模型为模型文件夹,扩展名为.mdl。

(4)关闭模型。

如果要关闭一个打开的SIMULINK模型,则使用close-systen命令。

SIMULINK是MATLAB最重要的组件之一,它提供一个动态系统建模仿真和综合分析的集成环境。

在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。

SIMULINK具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵活等优点,并基于以上优点SIMULINK已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。

同时有大量的第三方软件和硬件可应用于或被要求应用于SIMULINK。

1.4.2SIMULINK仿真原理

简单的:

用SIMULINK的工具箱做仿真。

中级的:

确定一个硬件芯片,然后再加外围,然后仿真,适当的考虑一些其他

干扰、现场因素。

复杂的:

确定硬件芯片,加外围,考虑现场、干扰、编码等诸多因素,并将整个信号的传输过程都仿真出来,如采集端的DSP,信道里面的传输,接受的解码编码,最好是用一段具体的声音来建模,并给出在频域、时域的图像[6]。

如果在家一点儿信道服用以后的提高、优化分析,如时分复用、频分复用等。

第2章MATLAB工具箱的概述及GUI界面的简介

2.1引言

MATLAB是由MathWorks公司于1984年推出的数学软件,早期以矩阵运算为主,但随着科学可视化的需求日增,MATLAB在第4版推出了句柄图形,自此之后,所有的Demos都包含友好的图形用户界面,MATLAB的图形界面设计功能也日益完善如今,MATLAB已成为集数值计算功能符号运算功能和图形处理功能为一身的超级科学计算语言,满足了不同领域用户的需求。

2.2句柄图形及图形用户界面

句柄图形(HandleGraphics)就是将一个图形的每一个组件都视为一个对象(Object),每一个对象都有一个独一无二的/句柄0(handle),根据这个句柄,就可以找到这个对象(即图形组件)的各项属性,并进而更改这些属性,以产生不同的图形呈现效果。

句柄图形属性:

Children属性、Parent属性、Tag属性、Type属性、UserData属性、Visible属性、ButtonDownFcn属性、CreateFcn属性、DeleteFcn属性。

图形用户界面GUI(GraphicsUserInterface)是由各种图形对象,如图形窗口,图轴,菜单,按钮,文本框等构建的用户界面,是人机交流信息的工具和方法,在该界面内,用户可以根据界面提示完成整个工程,却不必去了解工程内部是如何工作的GUI设计即可以基本的MATLAB程序设计为主,也可以鼠标为主利用GUIDE工具进行设计。

利用GUIDE设计图形用户界面时,可通过GUI应用属性设置编辑器来设置对句柄操作的响应,findobj命令可以获得所需对象的句柄。

2.3GUIDE

GUIDE(GraphicsUserInterfaceDesignEnviron2ment)是一个专用于GUI程序设计的快速开发环境,使用者通过鼠标就能迅速地产生各种GUI控件,并随心所欲地改变它们的外形!

大小及颜色等,从而帮助用户方便地设计出各种符合要求的图形用户界面调用GUIDE的方法有2种,在MATLAB命令窗口中输入guide命令。

在GUIDE设计环境中,需要用到的工具有属性编辑器控件布置编辑器菜单编辑器对象浏览器网格标尺设置编辑器以及GUI应用属性设置编辑器等。

(1)属性编辑器(PropertiesInspector)

打开属性编辑器的方法有多种,最常用的,选中控件对象以后,点击工具条上的属性设置按钮,即可打开属性编辑器"通过该属性编辑器来对所选图形对象设置相关属性。

(2)控件布置编辑器(AlignmentObjects)

在编辑CUI过程中,通过控件布置编辑器可以方便地设置面板上GUI控件的布局选中需要对齐的对象,然后选择工具条上的控件布置按钮,即可打开控件布置编辑器在控件布置编辑器中可以设置GUI控件水平以及垂直布局,包括对齐方式以及控件间距等。

(3)对象浏览器(ObjectBrowser)

在GUI面板中点击对象浏览按钮可打开对象浏览器,在该浏览器中可以方便地显示出所有的图形对象,单击该对象则可以打开相应的属性编辑器。

(4)菜单编辑器(MenuEditor)

在GUI面板中点击菜单编辑按钮可打开菜单编辑器,通过菜单编辑器可以为图形界面添加设置和修改菜单项,以及为右键添加快捷菜单。

(5)网格标尺设置编辑器(GridandRulers)

通过网格标尺设置编辑器,可以在GUI面板中添加网格以及标尺,来方便用户的界面设计。

选择GUIDE主菜单中的Tools/GridandRulers即可打开网标尺设置编辑器。

(6)GUI应用属性设置编辑器(GUIDEApplica2tionOptions)

通过该编辑器可以设定GUI界面缩放形式,GUI对句柄操作的响应方式,以及定义GUI的保存方式。

选择GUIDE主菜单中的Tools/GUIOptions即可打开GUI应用属性设置编辑器。

(7)GUI设计面板

GUI设计面板是上述GUI设计工具应用的平台,如图1所示,面板上部提供了菜单和常用工具按钮,左边提供了多种GUI控件。

如按钮,单选按钮,复选框,文本框等。

进行GUI设计时,,首先单击GUI面板左边所需的控件,然后在右边的图形界面编辑区中再次单击某一恰当的位置,这时将在该位置上为图形界面添加一相应的控件,接下来,通过属性编辑器和对齐编辑器对各控件设置相关属性和进行界面布置,以完善界面功能。

2.4编制回调程序

完成控件的布局之后,也就完成了整个图形界面的结构设计,接下来则是最为重要的功能设计,即要编制菜单[5]。

控件的回调程序"若要编制某一控件的回调程序,用右键单击该控件,在弹出菜单中点击ViewCallbacks,然后从子菜单中选择一种激活回调程序的方式,就可以编制回调程序了,如Callback指单击控件时激活回调程序完成一定的功能菜单的回调程序在菜单编辑器的Callbacks文本框中给出。

2.5主界面

在MATLAB命令窗口中输入guide打开GUI的快速开发环境GUIDE,如图1所示本软件的主界面包括一个命令按钮,一个位图格式的图片和几个静态文本框,要改变最上边静态文本框的属性,需首先选中该控件,然后点击工具条上的属性设置按钮打开属性编辑器,当然也可通过其他的方式打开属性编辑器,然后通过该编辑器为静态文本框设置相关属性String属性用来设置控件对象所显示的内容,这里设置为-基于MATLAB的图形用户界面,字体角度属性FontAngle设置为-italic,即斜体,字体大小属性FontSize设置为30,ForegroundColor属性用来设置文本框的前景颜色,这里设置为黑色,控件的位置和大小可通过改变Position属性中的值来调整,也可在GUI面板中用鼠标拖动控件来调整控件的位置和大小其他控件的属性也都是如此设置的另外,当有控件需要对齐时,可以通过对齐编辑器进行修正。

完成控件布局之后,开始编制回调程序如前面所讲的,在GUI编辑状态下用鼠标右键单击需要编写回调程序的控件,打开右键快捷菜单,从ViewCallbacks中选择一种回调方式,打开MATALB自动生成的.m文件,并且系统会自动生成如下语句FunctionHnameCallback(hObject,eventdata,han2dles)

其中,Hname为控件对象的Tag(标签)属性值,开发者即可在该语句下编写当前控件的回调程序,Callback是其中的一种回调方式,根据需要可选择其他回调方式,如WindowButtonDownFcn,CreateFcn等。

至此完成了主界面的设计,运行后"MATLAB将把该图形界面保存于文件cansai.fig和cansai.m中,其中,图形文件将保存GUI面板以及相应控件菜单设计,M文件则保存程序代码。

2.6子界面

按照同样的方法编制子界面,该界面内除了包括文本框,图轴,命令按扭外,还包括2个弹出式菜单和5个列表框2个弹出式菜单分别用来选择拟合阶数和显著性水平,5个列表框则用来显示回归分析的各项结果。

2.7基于MATLAB信号处理工具箱的数字滤波器设计与仿真

阶数(N阶滤波器,SpecifyOrder=N-1),如果选择MinimumOrder则MATLAB根据所选择的滤波器类型自动使用最小阶数。

FrenquencySpecifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截止频率。

它的具体选项由FilterType选项和DesignMethod选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。

采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。

MagnitudeSpecifications选项,可以定义幅值衰减的情况。

例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass(通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。

当采用窗函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。

WindowSpecifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。

图2.1滤波器幅频响应

2.8带通滤波器设计实例

本文将以一个FIR滤波器的设计为例来说明如何使用MATLAB设计数字滤波器:

在小电流接地系统中注入83.3Hz的正弦信号,对其进行跟踪分析

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1