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

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

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

辽宁科技大学毕业设计(论文)第II页

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

摘要

本文利用MATLAB软件进行信号频谱分析的设计,并通过GUI界面(图形用户界面)实现信号频谱分析的动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及对离散信号与连续信号的动态频谱分析。并利用MATLAB内嵌的Simulink模块,实现系统的信号频谱分析,满足不同用户的不同要求。

MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境,本文从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。通过本文的研究得出利用GUIDE设计的仿真界面不仅可以对离散信号与连续信号的动态频谱进行相关分析,而且还可以对此问题作进一步的预测和分析。基于GUIDE技术制作的图形用户界面,具有友好性,开放性,方便科研人员不断地研究和扩充。

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

辽宁科技大学毕业设计(论文)第III页

Abstract

Using 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 interactively 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 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 methods. 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 and open, facilitate researchers continue to study and expanded.

Keywords Spectrum Analysis ;GUI;SIMULINK;MATLAB

辽宁科技大学毕业设计(论文)第IV页

目录

摘要 .....................................................................................................I Abstract ................................................................................................ II 第1章绪论 . (1)

1.1 MATLAB应用软件简介 (1)

1.2课题研究的内容 (2)

1.2.1信号的频谱分析 (2)

1.2.2信号频谱分析的原理 (3)

1.2.3频谱分析与显示原理 (3)

1.2.4对三阶交调进行模拟分析 (3)

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

1.2.6宽带频谱图与窄带频谱图 (5)

1.3 GUI界面设计实现 (5)

1.4 SIMULINK (7)

1.4.1 SIMULINK模型与文件 (7)

1.4.2 SIMULINK仿真原理 (7)

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

2.1引言 (9)

2.2句柄图形及图形用户界面 (9)

2.3 GUIDE (9)

2.4编制回调程序 (11)

2.5主界面 (11)

2.6子界面 (12)

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

2.8带通滤波器设计实例 (13)

第3章GUI界面下噪声信号的频谱分析与实现 (15)

3.1概述 (15)

3.2 MATLAB信号处理工具箱介绍及功能 (15)

3.2.1MATLAB工具箱介绍 (15)

辽宁科技大学毕业设计(论文)第V页

3.2.2工具箱功能 (16)

3.3通风机噪声信号的采集方法 (18)

3.4噪声信号的频谱分析 (19)

3.5GUI界面下噪声频谱分析的实现 (20)

结论 (24)

致谢 (25)

参考文献 (26)

附录A (27)

附录B (31)

辽宁科技大学毕业设计(论文)第1页

第1章绪论

1.1 MATLAB应用软件简介

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

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

MATLAB语言采用与数学表达式相同的形式,不需要传统的程序设计语言,因而不像其他高级语言那样难于掌握。一般来说,用户可以在极短的时间内掌握MATLAB解决简单的问题,由于MATLAB的这些特点,它现在已经成为科研工作和工作仿真的高级助手。

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

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

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

辽宁科技大学毕业设计(论文) 第2页

1.2课题研究的内容

1.2.1信号的频谱分析

(1)连续周期信号

已知一个连续周期信号,在满足一定条件下,可以通过傅立叶级数展开为一系列正弦信号的线性叠加。形状不同的周期信号其区别在于它们各自不同基本频率、不同谐波的幅度和相位的正弦信号组合而成。由此可见,如果能找到具有这三个特性的频率函数,就能把该信号惟一地确定下来。从傅立叶级数展开式中可以观察到,傅立叶系数0()x kw 就是这样的频率函数,并可按下式求得:

000

20021()()t T jkw T x kw x t e dt T -=? (1.1)

式中,T 是周期信号的周期,002/w T π=是基本角频率,K 是离散变量表示谐波的次数。可见,0()x kw 是离散频率的复函数,可表示为:

0()00()|()|i kw X kw X kw e φ= (1.2)

(2)连续非周期函数

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

()()jwt x w x t e dt ∞

--∞=? (1.3)

(3)离散周期信号

对于离散周期信号,从离散傅立叶级数展开式中可以求得傅立叶系数0()x k Ω,如下式所示,即:

01001()()N jkn n x k x n e N

--Ω=Ω=∑ (1.4)

(4)离散非周期信号 对于离散周期信号。如同连续非周期信,通过离散时间傅立叶变换(DTFT )可求得非周期序列的频谱密度函数()x Ω,即:

辽宁科技大学毕业设计(论文) 第3页

130()()n N n x x n e

--Ω=Ω=∑ (1.5)

1.2.2信号频谱分析的原理

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

1.2.3频谱分析与显示原理

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

现代信号频谱分析是基于离散时域的短时FOURIER 分析。设离散时域采样信号为x (n )=0,1,…N -1是时域采样点序号,N 是信号长度。在数字信号处理中,用加窗方法将信号分段。此时()m x n 表示成x m x (n),n=0,1,…,N -1,m 是桢的序号,n 是桢的同步的时间序号,N 则是一桢内的采样点数(桢长)。信号()m x n 的加窗离散时域Fourier 变换(DTFT )为:

1

0(,)()()N jw

jwn m m n X m e w n x n e --==??∑ (1.6) 为了便于离散计算,采用()()m m w n x n ?的离散FOURIER 变换(DFT ):

1

2/20(,)()(),0,...,1N j nk N m m n X m k w n x n e k N π--==??=-∑ (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秒

辽宁科技大学毕业设计(论文) 第4页

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([-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)|的值实施伪彩色映射,可得到伪彩色的动态频谱图,以获得更好的分辨率和视觉效果,并增强频谱图的可读性性。把|X(m,k)|的最小值min X 映射为归一化的0电平,最大值max X 映射归一化的1电平,而将|X (m,k )|线性映射为01之间的电平值i C 。再利用彩色映射,计算彩色监视器把i C 显示出来,则获得伪彩色显示的动态频谱图。为了充分利用彩色空间的范围,选折适当的基准频谱值Base 。小于Base 的频谱值都被限定在基准电平上,而大于Base 的谱值则被线

辽宁科技大学毕业设计(论文) 第5页

性映射到由01的归一化彩色值。以C={c(m,k)}表示彩色值矩阵,由|X (m,k )|到c (m,k)的映射的数学表示如下:

(,)(,)[((,)(,))]B m k Base c m k Mas B M K m k Base

-=?- (1.8)

其中 |(,)|,|(,)|(,),|(,)|x m k x m k Base c m k Base x m k Base >??=??≤??

(1.9) 1.2.6宽带频谱图与窄带频谱图

根据DFT 分析原理,频谱的频域分辨力是指离散的频率的频率间隔,也即X( )中相邻的k 值之间所代表的频率间隔 0f 。 0f 的大小取决于桢长N 以及信号采样频率s f 。根据Nyquist 采样定理,0s f f 和N 之间的关系满足

|(,)|,|(,)|(,),|(,)|x m k x m k Base c m k Base x m k Base >??=??≤??

(1.10) 这与信号n x 原来所包括的频率成分无关。所以,s f 在不变的前提下,增加N 将使频谱图的分辨率提高或相邻k 值之间所代表的频带宽度变小,这就使得频谱趋向于窄带频谱,相反,则趋向于宽带频谱。

为提高频域分辨率而加大N 值,会使频谱在时域中是的分辨率降低。解决这个矛盾的途径是,在取较大(合适)的真长N 的同时,采用信号分针针移1N 小于真长N 的办法,由此可得到频域和时域分辨率都满足需要的频谱。分真真移可表示为:

1()()m x n x n N m =+? n=0,…N -1, 1N

11)

1.3 GUI 界面设计实现

动态数字调节器设计与仿真软件的界面。它共包含5个区域:

(1)菜单区:位于整个界面的最上端。隐含了Matlab 自带的所有基本菜

辽宁科技大学毕业设计(论文)第6页

单(将figure对象的“MenuBar”属性设置为“None”),添加了file、tool、system、最小拍、大林算法、Simulink、help7个菜单。每个菜单下又有各级子菜单。

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

图1.1菜单内容

(2)图形区:用于显示各计算机控制系统的动态仿真曲线,以及各系统的比较曲线。

(3)对象模型区:动态的显示系统各相应环节的数学模型(传递函数或脉冲传递函数)。由4个单选按钮(radiobutton)和4个编辑框(edit)组成。当用户的输入参数发生变化时,可通过单击响应的单选按钮,实现显示结果的实时刷新与显示。

(4)控制按钮区:由4个按钮组成(pushbutton),实时的进行系统参数的设定,输出图像智能切换,并具有曲线刷新等功能。在使用该软件时,第一步便是按下“参数输入”按钮,进行系统设置,否则将给出错信息。

(5)图形效果区:由一个滑动条组成(slider)。用于控制输出图形的明暗程度。其实在该区域还可根据用户要求加入其他图形控件,如色彩选择器、线形控制器

辽宁科技大学毕业设计(论文)第7页

等等,但就实现方式来讲是完全一致的。故本窗口只设置了一个以示说明。

1.4 SIMULINK

SIMULINK是一个进行动态系统建模、仿真和综合分析的集成软件包。它可以处理的系统包括:线性、非线性系统;离散、连续及混合系统;单任务、多任务离散事件系统。

1.4.1 SIMULINK模型与文件

在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.2 SIMULINK仿真原理

简单的:用SIMULINK的工具箱做仿真。

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

干扰、现场因素。

辽宁科技大学毕业设计(论文)第8页

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

辽宁科技大学毕业设计(论文)第9页

第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.3 GUIDE

GUIDE(GraphicsUserInterfaceDesignEnviron2ment)是一个专用于GUI程序设计的快速开发环境,使用者通过鼠标就能迅速地产生各种GUI控件,并随心所欲地改变它们的外形!大小及颜色等,从而帮助用户方便地设计出各种符合要求的图形用户界面调用GUIDE的方法有2种,在MATLAB命令窗口中输入guide命令。

辽宁科技大学毕业设计(论文)第10页

在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面板左边所需的控件,然后在右

辽宁科技大学毕业设计(论文)第11页

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

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(标签)属性值,开发者即可在该语句下编写当前

辽宁科技大学毕业设计(论文)第12页

控件的回调程序,Callback是其中的一种回调方式,根据需要可选择其他回调方式,如WindowButtonDownFcn,CreateFcn等。

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

2.6子界面

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

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

阶数(N阶滤波器,Specify Order=N-1),如果选择Minimum Order则MATLAB根据所选择的滤波器类型自动使用最小阶数。Frenquency Specifications选项,可以详细定义频带的各参数,包括采样频率Fs和频带的截

止频率。它的具体选项由Filter Type选项和Design Method选项决定,例如Bandpass(带通)滤波器需要定义Fstop1(下阻带截止频率)、Fpass1(通带下限截止频率)、Fpass2(通带上限截止频率)、Fstop2(上阻带截止频率),而Lowpass(低通)滤波器只需要定义Fstop1、Fpass1。采用窗函数设计滤波器时,由于过渡带是由窗函数的类型和阶数所决定的,所以只需要定义通带截止频率,而不必定义阻带参数。Magnitude Specifications选项,可以定义幅值衰减的情况。例如设计带通滤波器时,可以定义Wstop1(频率Fstop1处的幅值衰减)、Wpass (通带范围内的幅值衰减)、Wstop2(频率Fstop2处的幅值衰减)。当采用窗

函数设计时,通带截止频率处的幅值衰减固定为6db,所以不必定义。Window Specifications选项,当选取采用窗函数设计时,该选项可定义,它包含了各种窗函数。

辽宁科技大学毕业设计(论文)第13页

图2.1滤波器幅频响应

2.8带通滤波器设计实例

本文将以一个FIR 滤波器的设计为例来说明如何使用MATLAB设计数字滤波器:在小电流接地系统中注入83.3Hz的正弦信号,对其进行跟踪分析,要求设计一带通数字滤波器,滤除工频及整次谐波,以便在非常复杂的信号中分离出该注入信号。参数要求:96阶FIR数字滤波器,采样频率1000Hz,采用Hamming

窗函数设计。本例中,首先在Filter Type中选择Bandpass(带通滤波器);在Design Method选项中选择FIR Window(FIR滤波器窗函数法),接着在Window Specifications选项中选取Hamming;指定Filter Order项中的Specify Order=95;由于采用窗函数法设计,只要给出通带下限截止频率Fc1和通带上限截止频率Fc2,选取Fc1=70Hz,Fc2=84Hz。设置完以后点击Design Filter即可得到

所设计的FIR滤波器。通过菜单选项Analysis可以在特性区看到所设计滤波器的幅频响应、相频响应、零极点配置和滤波器系数等各种特性。设计完成后将结果保存为1.fda文件[6]。

辽宁科技大学毕业设计(论文)第14页

在设计过程中,可以对比滤波器幅频相频特性和设计要求,随时调整参数和滤波器类型,以便得到最佳效果。其它类型的FIR滤波器和IIR滤波器也都可以使用FDATool来设计。程序设计法在MATLAB中,对各种滤波器的设计都有相应的计算振幅响应的函数,可以用来做滤波器的程序设计。

上例的带通滤波器可以用程序设计:

c=95; %定义滤波器阶数96阶

w1=2*pi*fc1/fs;

w2=2*pi*fc2/fs; %参数转换,将模拟滤波器

的技术指标转换为数字滤波器的技术指

window=hamming(c+1); %使用hamming窗函数

h=fir1(c,[w1/pi w2/pi],window); %使用标准响应的加窗设计函数fir1

freqz(h,1,512); %数字滤波器频率响应

在MATLAB环境下运行该程序即可得到滤波器幅频相频响应曲线和滤波器系数h。

辽宁科技大学毕业设计(论文)第15页

第3章GUI界面下噪声信号的频谱分析与实

介绍了通风噪声频谱分析的一种简单方法,此方法以普通声级计为一次仪表获得通风机空气动力噪声信号,用计算机进行信号采集,用数值分析软件MATLAB进行频谱分析。

3.1概述

通风机噪声是由于气体的冲击涡流及机械振动等原因使气体发生振动而引起的空气动力性噪声,它是由呈宽频带的涡流噪声和呈离散频带的旋转噪声叠加而成的。这两种噪声的产生原因不同,其控制方式也不相同。

为了有效地进行通风机噪声控制,通风机生产厂家或用户经常需要对具体的通风机进行空气动力噪声特性的测量和分析,特别是对风机噪声频谱的细致分析"但是,由于专业的频谱分析仪器价格昂贵,目前我国的一般中小型风机生产企业所具有的噪声测试仪器通常是一般的声级计,只能进行一些简单的声级测量和噪声频谱的粗略估计,还不具备对风机噪声频谱进行细致分析的能力。

幸运地是,随着计算机在风机行业深入广泛地应用和普及,用普通的个人计算机和相应的数值分析计算软件来进行风机噪声频谱的详细分析已经变得很容易了。本文介绍了一种运用数值分析软件MATLAB来进行通风机噪声频谱分析的方法。

3.2 MATLAB信号处理工具箱介绍及功能

3.2.1MATLAB工具箱介绍

MATLAB有三十多个工具箱大致可分为两类:功能型工具箱和领域型工具箱

[7]。

功能型工具箱:主要用来扩充MATLAB的符号计算功能、图形建模仿

真功能、文字处理功能以及与硬件实时交互功能,能用

于多种学科。

领域型工具箱:是专业性很强的。

如:控制工具箱(Control Toolbox)、信号处理工具箱(Signal Processing

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

用MATLAB进行FFT频谱分析

用MATLAB 进行FFT 频谱分析 假设一信号: ()()292.7/2cos 1.0996.2/2sin 1.06.0+++=t t R ππ 画出其频谱图。 分析: 首先,连续周期信号截断对频谱的影响。 DFT 变换频谱泄漏的根本原因是信号的截断。即时域加窗,对应为频域卷积,因此,窗函数的主瓣宽度等就会影响到频谱。 实验表明,连续周期信号截断时持续时间与信号周期呈整数倍关系时,利用DFT 变换可以得到精确的模拟信号频谱。举一个简单的例子: ()ππ2.0100cos +=t Y 其周期为0.02。截断时不同的持续时间影响如图一.1:(对应程序shiyan1ex1.m ) 图 错误!文档中没有指定样式的文字。.1 140.0160.0180.02 截断时,时间间期为周期整数倍,频谱图 0.0250.03 0100200300400500600 7008009001000 20 40 60 80 100 截断时,时间间期不为周期整数倍,频谱图

其次,采样频率的确定。 根据Shannon 采样定理,采样带限信号采样频率为截止频率的两倍以上,给定信号的采样频率应>1/7.92,取16。 再次,DFT 算法包括时域采样和频域采样两步,频域采样长度M 和时域采样长度N 的关系要符合M ≧N 时,从频谱X(k)才可完全重建原信号。 实验中信号R 经采样后的离散信号不是周期信号,但是它又是一个无限长的信号,因此处理时时域窗函数尽量取得宽一些已接近实际信号。 实验结果如图一.2:其中,0点位置的冲激项为直流分量0.6造成(对应程序为shiyan1.m ) 图 错误!文档中没有指定样式的文字。.2 ?ARMA (Auto Recursive Moving Average )模型: 将平稳随机信号x(n)看作是零均值,方差为σu 2的白噪声u(n)经过线性非移变系统H(z)后的输出,模型的传递函数为 020406080100120140160180200 0.4 0.50.60.7 0.800.050.10.150.20.250.30.350.40.450.5 50100 150

基于Matlab的相关频谱分析程序教程

Matlab 信号处理工具箱 谱估计专题 频谱分析 Spectral estimation (谱估计)的目标是基于一个有限的数据集合描述一个信号的功率(在频率上的)分布。功率谱估计在很多场合下都是有用的,包括对宽带噪声湮没下的信号的检测。 从数学上看,一个平稳随机过程n x 的power spectrum (功率谱)和correlation sequence (相关序列)通过discrete-time Fourier transform (离散时间傅立叶变换)构成联系。从normalized frequency (归一化角频率)角度看,有下式 ()()j m xx xx m S R m e ωω∞ -=-∞ = ∑ 注:()()2 xx S X ωω=,其中()/2 /2 1lim N j n n N n N X x e N ωω→∞ =-=∑ πωπ-<≤。其matlab 近似为X=fft(x,N)/sqrt(N),在下文中()L X f 就是指matlab fft 函数的计算结果了 使用关系2/s f f ωπ=可以写成物理频率f 的函数,其中s f 是采样频率 ()()2/s jfm f xx xx m S f R m e π∞ -=-∞ =∑ 相关序列可以从功率谱用IDFT 变换求得: ()()()/2 2//2 2s s s f jfm f j m xx xx xx s f S e S f e R m d df f πωπ π ωωπ --= = ? ? 序列n x 在整个Nyquist 间隔上的平均功率可以表示为 ()()() /2 /2 02s s f xx xx xx s f S S f R d df f π π ωωπ --= = ? ? 上式中的

基于Matlab的语音信号处理与分析

系(院)物理与电子工程学院专业电子信息工程题目语音信号的处理与分析 学生姓名 指导教师 班级 学号 完成日期:2013 年5 月 目录 1 绪论 (3) 1.1课题背景及意义 (3) 1.2国内外研究现状 (3) 1.3本课题的研究内容和方法 (4) 1.3.1 研究内容 (4) 1.3.2 开发环境 (4) 2 语音信号处理的总体方案 (4) 2.1 系统基本概述 (4) 2.2 系统基本要求与目的 (4) 2.3 系统框架及实现 (5) 2.3.1 语音信号的采样 (5) 2.3.2 语音信号的频谱分析 (5) 2.3.3 音乐信号的抽取 (5) 2.3.4 音乐信号的AM调制 (5) 2.3.5 AM调制音乐信号的同步解调 (5) 2.4系统设计流程图 (6) 3 语音信号处理基本知识 (6) 3.1语音的录入与打开 (6)

3.2采样位数和采样频率 (6) 3.3时域信号的FFT分析 (7) 3.4切比雪夫滤波器 (7) 3.5数字滤波器设计原理 (8) 4 语音信号实例处理设计 (8) 4.1语音信号的采集 (8) 4.3.1高频调制与低频调制 (10) 4.3.2切比雪夫滤波 (11) 4.3.3 FIR滤波 (11) 5 总结 (12) 参考文献 (13) 语音信号的处理与分析 【摘要】语音信号处理是研究用数字信号处理技术和语音学知识对语音信号进行处理的新兴的学科,是目前发展最为迅速的信息科学研究领域的核心技术之一。通过语音传递信息是人类最重要、最有效、最常用和最方便的交换信息形式。 Matlab语言是一种数据分析和处理功能十分强大的计算机应用软件,它可以将声音文件变换为离散的数据文件,然后利用其强大的矩阵运算能力处理数据,如数字滤波、傅里叶变换、时域和频域分析、声音回放以及各种图的呈现等,它的信号处理与分析工具箱为语音信号分析提供了十分丰富的功能函数,利用这些功能函数可以快捷而又方便地完成语音信号的处理和分析以及信号的可视化,使人机交互更加便捷。信号处理是Matlab重要应用的领域之一。 本设计针对现在大部分语音处理软件内容繁多、操作不便等问题,采用MATLAB7.0综合运用GUI界面设计、各种函数调用等来实现语音信号的变频、变幅、傅里叶变换及滤波,程序界面简练,操作简便,具有一定的实际应用意义。 最后,本文对语音信号处理的进一步发展方向提出了自己的看法。 【关键词】Matlab 语音信号傅里叶变换低通滤波器

信号的频域分析及MATLAB实现.doc

《M A T L A B电子信息应用》 课程设计 设计五 信号的频域分析及MATLAB实现 学院: 专业: 班级: 姓名: 学号:

信号的频域分析及MATLAB实现 一、设计目的 通过该设计,理解傅里叶变换的定义及含义,掌握对信号进行频域分析的方法。 二、课程设计环境 计算机 MATLAB软件 三、设计内容及主要使用函数 快速傅里叶变换的应用 1)滤波器频率响应 对特定频率的频点或该频点以外的频率进行有效滤除的电路,就是滤波器。其功能就是得到一个特定频率或消除一个特定频率,滤波器是一种对信号有处理作用的器件或电路。主要作用是:让有用信号尽可能无衰减的通过,对无用信号尽可能大的。 滤波器的类型:巴特沃斯响应(最平坦响应),贝赛尔响应,切贝雪夫响应。 滤波器冲激响应的傅里叶变换就是该滤波器的频率响应。

2)快速卷积 卷积定理指出,函数卷积的傅里叶变换是函数傅里叶变换的乘积。即一个域中的卷积相当于另一个域中的乘积,例如时域中的卷积就对应于频域中的乘积。其中表示f 的傅里叶变换。 这一定理对拉普拉斯变换、双边拉普拉斯变换等各种傅里叶变换的变体同样成立。在调和分析中还可以推广到在局部紧致的阿贝尔群上定义的傅里叶变换。 利用卷积定理可以简化卷积的运算量。对于长度为n 的序列,按照卷积的定义进行计算,需要做2n - 1组对位乘法,其计算复杂度为;而利用傅里叶变换将序列变换到频域上后,只需要一组对位乘法,利用傅里叶变换的快速算法之后,总的计算复杂度为。这一结果可以在快速乘法计算中得到应用。 1. 信号的离散傅里叶变换 有限长序列的离散傅里叶变换公式为: kn N j N n e n x k X )/2(10)()(π--=∑= ∑==1_0)/2()(1)(N n kn N j e k X N n x π MATLAB 函数:fft 功能是实现快速傅里叶变换,fft 函数的格式为: ),(x fft y =返回向量x 的不连续fourier 变换。 若)6 cos()(πn n x =是一个N=12的有限序列,利用MATLAB 计算

基于MATLAB的频谱分析及信号去噪仿真研究开题报告

辽宁石油化工大学 信息与控制工程学院 毕业设计(论文)开题报告 论文题目:基于MATLAB的频谱分析及信号去噪仿真研究 学生姓名:徐宏强 专业班级:信息0901 学号: 0903030123 指导教师:崔畅 2013 年 03 月 17日

填写说明: 1.题目的背景和意义 对题目的出处,背景和意义进行说明论述,不少于300字。2.题目研究现状概述 通过调研和查阅文献,对题目所涉及的技术、理论和研究成果进行说明论述,不少于1000字。 3.题目要完成的主要内容和预期目标 对题目要完成的主要内容进行说明,并说明达到的预期目标, 不少于300字 4.进度计划 从设计开始的教学周起,依据任务书的进度安排进行细化并以周为单位给出主要工作和完成的任务。 5.参考文献 对2引用的资料、论文或著作按照引用顺序列出参考文献(格式同论文《参考文献》)。不少于10篇(其中近3年的文献占1/3以上), 注:相应栏不够时自动加页。 排版要求:正文,宋体,小四,行距固定值20磅 要求学生在毕业设计(论文)开始后的第2周末完成《开题报告》,并交到指导教师评阅(交电子稿和双面打印稿)。

1.题目的背景和意义 随着时代的发展,信息的传输方式逐渐发展为通过信号的方式传送,信号在采集和传输的过程中,由于外界的影响及机器自身的原因难免会有噪声夹杂在其中,在这种情况下,会影响对信号的分析,尤其是对一些高精度数据影响更为巨大,所以对信号的去噪,提取出原始信号是一个重要课题,最为传统的去噪方式是让信号通过一个低通或者带通滤波器,通过这种方法滤去噪声,但是在这个过程中可能会使信号变得平滑失去突变信息,现今的数字滤波器分为有限冲激响应滤波器FIR和无限冲激响应滤波器IIR,在各种信号处理与分析的中,最重要的数学工具是傅立叶变换,而常用的处理工具是MATLAB,利用MATLAB设计滤波器,可以随时对比设计要求,并调整滤波器参数,这样更为直观简便,减轻工作量,有利于对滤波器的设计优化,对信号的去噪有更好的帮助。 2.题目研究现状概述 随着计算机的发展,数字信号处理的理论与技术得到飞速发展,20世纪60年代以来,我国形成了一系列的数字信号处理的理论与算法,比如,数字滤波器,快速傅立叶变换(FFT),这些都是数字信号处理的技术基础,随着信息科技的飞速发展,信号处理取得了重大的飞跃。信号的去噪是数字信号处理中的一个很重要的研究课题,在现今的各种信号中,噪声一般分为两类:相干噪声和随机噪声,相干噪声包括面波,多次波等,随机噪声包括测量误差,环境噪声等。而对信号滤除噪声的方法大致分为三种:基于傅立叶变换的去噪法,相干平均去噪法,和基于小波变换的去噪法。信号去噪在雷达的使用和通信中有着极大的作用,经过先辈们不断的研究与实验,运用滤波器进行信号去噪的方法已经相当完美了,数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能,数字滤波器分为IIR数字滤波器和FIR数字滤波器。 信号处理基本涉及到所有的工程技术领域,而信号去噪是信号处理的一个非常重要的分支,而频谱分析又是信号处理中一个非常重要的分析手段,一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。而利用MATLAB就会免去以上的问题。信号去噪被用于从一堆波音资料中提取有用信息去除干扰,提高波音资料信噪比。为了提高信噪比,人们根据信号和噪声的各种特征差异,设计了许多去噪方法,并在应用中取得了很好的成果。信号去噪的很多方法都是利用短时傅立叶变换来滤波去噪,但是短时傅立叶变换不能同时兼顾时间分辨率和

基于MATLAB的信号频谱分析仪的实现

基于的信号频谱分析仪的实现 一、概述 信号处理几乎涉及到所有的工程技术领域,而频谱分析又是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件,使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。 在工程领域中,是一种倍受程序开发人员青睐的语言,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算 法显得游刃有余。本文将重点介绍基于的虚拟频谱分析仪的设计。本文设计的虚拟频谱分析仪的功能包括: () 音频信号信号输入。输入的途径包括从声卡输入、从文件输入、从信号发生器输入; () 信号波形分析。包括幅值、频率、周期、相位的估计,并计算统计量的峰值、均值、均方值和方差等信息; () 信号频谱分析。频率、周期的估计,图形显示幅值谱、相位谱和功率谱等信息的曲线。

二、实验原理 时域抽样定理 时域抽样定理给出了连续信号抽样过程中信号不失真的约束条件:对于基带信号,信号抽样频率 大于等于倍的信号最高频 率 ,即 。时域抽样是把连续信号 变成适于数字 系统处理的离散信号 。对连续信号 以间隔抽样,则可得到 的离散序列为 。 图 连续信号抽样的离散序列 若 ,则信号 与 的频谱之间存在: 其中: 的频谱为 , 的频谱为 。 可见,信号时域抽样导致信号频谱的周期化。 ()为抽 样角频率, 为抽样频率。数字角频率Ω与模拟角频率ω的关系为:Ωω。 离散傅立叶变换() 有限长序列)(n x 的离散傅立叶变换()为 )e (j Ω X ()∑∞ -∞=-=n n X T )(j 1sam ωω)e (j ΩX []k X )e (j ωX )j (ωX T sam /2πω=[]k X ()t X []()kT t kT X X ==k ()t X []k X ()t X []()kT t kT X X ==k m sam f f 2≥sam f m f T f sam 1=

matlab信号处理学习总结

常用函数 1 图形化信号处理工具,fdatool(滤波器设计),fvtool(图形化滤波器参数查看)sptool (信号处理),fvtool(b,a),wintool窗函数设计.或者使用工具箱 filter design设计。当使用离散的福利叶变换方法分析频域中的信号时,傅里叶变换时可能引起漏谱,因此 需要采用平滑窗, 2数字滤波器和采样频率的关系。 如果一个数字滤波器的采样率为 FS,那么这个滤波器的分析带宽为Fs/2。也就是说这 个滤波器只可以分析[0,Fs/2]的信号.举个例字: 有两个信号,S1频率为20KHz,S2频率为40KHz,要通过数字方法滤除S2。 你的滤波器的采样率至少要为Fs=80HKz,否则就分析不到 S2了,更不可能将它滤掉 了!(当然根据采样定理,你的采样率 F0也必须大于80HK,,Fs和 F0之间没关系不大,可以任取,只要满足上述关系就行。) 3 两组数据的相关性分析 r=corrcoef(x,y) 4 expm 求矩阵的整体的 exp 4 离散快速傅里叶 fft信号处理中,傅里叶变换的典型用途是将信号分解成幅值分量和频率分量)。Ft为连续傅里叶变换。反傅里叶 ifft 5 ztrans(),Z变换是把离散的数字信号从时域转为频率 6 laplace()拉普拉斯变换是把连续的的信号从时域转为频域 7 sound(x)会在音响里产生 x所对应的声音 8 norm求范数,det行列式,rank求秩 9 模拟频率,数字频率,模拟角频率关系 模拟频率f:每秒经历多少个周期,单位Hz,即1/s; 模拟角频率Ω是指每秒经历多少弧度,单位rad/s; 数字频率w:每个采样点间隔之间的弧度,单位rad。 Ω=2pi*f; w = Ω*T 10 RMS求法 Rms = sqrt(sum(P.^2))或者norm(x)/sqrt(length(x) var方差的开方是std标准差,RMS应该是norm(x)/sqrt(length(x))吧. 求矩阵的RMS:std(A(:)) 11 ftshift 作用:将零频点移到频谱的中间 12 filtfilt零相位滤波, 采用两次滤波消除系统的非线性相位, y = filtfilt(b,a,x);注意x的长度必须是滤波器阶数的3倍以上,滤波器的 阶数由max(length(b)-1,length(a)-1)确定。 13 [h,t]=impz(b,a,n,fs),计算滤波器的冲激响应 h为n点冲击响应向量 [h,x]=freqz(b,a,n,fs)计算频响,有fs时,x为频率f,无fs,x为w角频率, 常用于查看滤波器的频率特性 14 zplane(z,p) 画图零极点分布图 15 beta=unwarp(alpha) 相位会在穿越+-180发生回绕,可将回绕的 16 stepz 求数字滤波器的阶跃响应 [h,t] = stepz(b,a,n,fs) fvtool(b1,a1,b2,a2,...bn,an) fvtool(Hd1,Hd2,...) h = fvtool(...) 15 IIR数字滤波器设计方法 1 先根据已知带同参数求出最佳滤波器阶数和截止频率 [n,Wn] = buttord(Wp,Ws,Rp,Rs);

用Matlab进行信号与系统的时、频域分析

课程实验报告 题目:用Matlab进行 信号与系统的时、频域分析 学院 学生姓名 班级学号 指导教师 开课学院 日期 用Matlab进行信号与系统的时、频域分析 一、实验目的 进一步了解并掌握Matlab软件的程序编写及运行; 掌握一些信号与系统的时、频域分析实例; 了解不同的实例分析方法,如:数值计算法、符号计算法; 通过使用不同的分析方法编写相应的Matlab程序; 通过上机,加深对信号与系统中的基本概念、基本理论和基本分析方法的理解。 二、实验任务 了解数值计算法编写程序,解决实例; 在Matlab上输入三道例题的程序代码,观察波形图; 通过上机实验,完成思考题; 完成实验报告。 三、主要仪器设备

硬件:微型计算机 软件:Matlab 四、 实验内容 (1) 连续时间信号的卷积 已知两个信号)2()1()(1---=t t t x εε和)1()()(2--=t t t x εε,试分别画出)(),(21t x t x 和卷积)()()(21t x t x t y *=的波形。 程序代码: T=0.01; t1=1;t2=2; t3=0;t4=1; t=0:T:t2+t4; x1=ones(size(t)).*((t>t1)-(t>t2)); x2=ones(size(t)).*((t>t3)-(t>t4)); y=conv(x1,x2)*T; subplot(3,1,1),plot(t,x1); ylabel('x1(t)'); subplot(3,1,2),plot(t,x2); ylabel('x2(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1)); ylabel('y(t)=x1*x2'); xlabel('----t/s'); (2)已知两个信号)()(t e t x t ε-=和)()(2/t te t h t ε-=,试用数值计算法求卷积,并分别画出)(),(t h t x 和卷积)()()(t h t x t y *=的波形。 程序代码: t2=3;t4=11; T=0.01; t=0:T:t2+t4; x=exp(-t).*((t>0)-(t>t2)); h=t.*exp(-t/2).*((t>0)-(t>t4)); y=conv(x,h)*T; yt=4*exp(-t)+2*t.*exp(-1/2*t)-4*exp(-1/2*t); subplot(3,1,1),plot(t,x); ylabel('x(t)'); subplot(3,1,2),plot(t,h); ylabel('h(t)'); subplot(3,1,3),plot(t,y(1:(t2+t4)/T+1),t,yt,'--r'); legend('by numberical','Theoretical'); ylabel('y=x*h'); xlabel('----t/s'); (3)求周期矩形脉冲信号的频谱图,已知s T s A 5.0,1.0,1===τ

基于matlab的信号分析与处理

基于m a t l a b的信号分 析与处理 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期: 2014年1月

目录4

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信

Matlab对采样数据进行频谱分析

使用Matlab对采样数据进行频谱分析 1、采样数据导入Matlab 采样数据的导入至少有三种方法。 第一就是手动将数据整理成Matlab支持的格式,这种方法仅适用于数据量比较小的采样。 第二种方法是使用Matlab的可视化交互操作,具体操作步骤为:File --> Import Data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。据本人经验,当数据大于15万对之后,读入速度就会显著变慢,出现假死而失败。 第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load 等,如果采样数据保存在txt文件中,则推荐使用 textread命令。如 [a,b]=textread('data.txt','%f%*f%f'); 这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于C语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。强烈推荐! 2、对采样数据进行频谱分析 频谱分析自然要使用快速傅里叶变换FFT了,对应的命令即 fft ,简单使用方法为:Y=fft(b,N),其中b即是采样数据,N为fft数据采样个数。一般不指定N,即简化为Y=fft(b)。Y即为FFT变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,Y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,Y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析M程序举例如下: clc fs=100; t=[0:1/fs:100]; N=length(t)-1;%减1使N为偶数 %频率分辨率F=1/t=fs/N p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)... +0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t); %上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析 figure(1) plot(t,p); grid on title('信号 p(t)'); xlabel('t') ylabel('p')

基于matlab的频谱分析仪设计

Frequency Analyzer YangXiao M2013705103 HuaZhong University of Science and Technology School of Mechanical Science and Engineering Abstract: Matlab Is a numerical analysis, matrix calculation, scientific data visualization and nonlinear dynamic state system modeling and simulation, and other functions of practical software engineering.It’s easy to use the windows environment and cast off a tradition on the interactive programming language (such as C, Fortran) Edit mode In large range.In this report,The task is to design a frequency analyzer by using matlab. Keyword:frequency analyzer;Matlab;time-domain analysis;frequency-domain analysis;

1.Preface MATLAB is called Matrix Laboratory,which is designed by the United States MathWorks company.It’s a commercial mathematical software. Matlab can be use for Matrix operations, mapping functions and data, algorithm, creating the user interface, connect to other programming languages procedures, mainly used in engineering calculations, control design, signal processing and communications, image processing, signal detection, design and financial modeling analysis and other fields. GUI (Graphical User Interface, referred to as GUI, known Graphical User Interface) is displayed using the graphical user interface of computer operations.. Matlab has a powerful GUl tool. In this report, by using matlab GUI tool we could design a frequency analyzer. Frequency analyzer is the instrument which could be used to study the structure of the electrical signal spectrum, and used to measure the signal parameters of signal distortion, modulation, frequency stability and spectral purity.Frequency analyzer could be used to measure some parameters of amplifier and filter circuit system , and it is a kind of multipurpose electronic measuring instrument. FFT (Fast Fourier Transformation) is the fast algorithm of DFT(discrete Fourier transformtion), which is based on discrete Fourier transform.By using FFT we could get the answer faster than DFT.

信号分析与处理MATLAB仿真程序

一正弦信号 w=pi/6; ns1=0;nf1=48; n1=[ns1:nf1]; x1=sin(w*n1); subplot(1,1,1); stem(n1,x1); axis([0,50,-1.2,1.2]); xlabel('n');ylabel('x');title('正弦信号'); grid on; 二周期信号 x=[1 1 0 -1 -1 1 0 0]; xn1=x'*ones(1,8); xn1=xn1(:); xn1=xn1'; n1=0:length(xn1)-1; subplot(1,1,1); stem(n1,xn1); axis([0,42,-1.5,1.5]); xlabel('n');ylabel('xn');title('周期信号'); grid on; 三高斯随机信号 n1=30; xn1=randn(1,n1); subplot(1,1,1); stem(xn1); axis([0,32,-4,4]); xlabel('n');ylabel('xn');title('高斯随机信号'); grid on; 四正选信号求特征值: >> clear w=pi/6; ns1=0;nf1=48; >> n1=[ns1:nf1]; >> xn1=sin(w*n1); >> x=mean(xn1); >> y=var(xn1); >> x x = -1.0931e-017 >> y y = 0.5000 五周期信号特征值计算: >> clear >> x=[1 1 0 -1 -1 1 0 0]; xn1=x'*ones(1,8);

xn1=xn1(:); xn1=xn1'; n1=0:length(xn1)-1; >> u=mean(xn1); >> v=var(xn1); >> u u = 0.1250 >> v v = 0.6190 六高斯随机信号特征值计算: >> clear >> n1=30; xn1=randn(1,n1); >> m=mean(xn1); >> v=var(xn1); >> m m = -0.1349 >> v v = 1.3187 七信号运算 w=pi/6; ns1=0;nf1=48;n1=[ns1:nf1]; xn1=sin(w*n1); x=[1 1 0 -1 -1 1 0 0]; xn2=x'*ones(1,8); xn2=xn2(:); xn2=xn2'; ns2=0;nf2=length(xn2)-1;n2=0:nf2;ny=0:max(nf1,nf2); y1=zeros(1,length(ny));y2=y1; y1(find(ny<=nf1))=xn1;y2(find(ny<=nf2))=xn2; ya=y1+y2;ys=y1-y2; subplot(3,2,1);stem(n1,xn1); xlabel('n');ylabel('xn');title('正弦信号');grid on; subplot(3,2,2);stem(ny,y1); xlabel('n');ylabel('xn');title('修正后的正弦信号');grid on; subplot(3,2,3);stem(n2,xn2); xlabel('n');ylabel('xn');title('周期信号');grid on; subplot(3,2,4);stem(ny,y2); xlabel('n');ylabel('xn');title('修正后的周期信号');grid on;

基于MATLAB的频谱分析仪设计

基于MATLAB的信号频谱分析仪的实现 一、概述 信号处理几乎涉及到所有的工程技术领域,而频谱分析又是信号处理中一个非常重要的分析手段。一般的频谱分析都依靠传统频谱分析仪来完成,价格昂贵,体积庞大,不便于工程技术人员的携带。虚拟频谱分析仪改变了原有频谱分析仪的整体设计思路,用软件代替了硬件,使工程技术人员可以用一部笔记本电脑到现场就可轻松完成信号的采集、处理及频谱分析。 在工程领域中,MA TLAB是一种倍受程序开发人员青睐的语言,对于一些需要做大量数据运算处理的复杂应用以及某些复杂的频谱分析算法MA TLAB显得游刃有余。本文将重点介绍虚拟频谱分析仪、MA TLAB软件及对正弦信号的频谱分析。 1.1虚拟频谱分析仪的功能包括: (1) 音频信号信号输入。输入的途径包括从声卡输入、从WAV文件输入、从信号发生器输入; (2) 信号波形分析。包括幅值、频率、周期、相位的估计,并计算统计量的峰值、均值、均方值和方差等信息; (3) 信号频谱分析。频率、周期的估计,图形显示幅值谱、相位谱和功率谱等信息的曲线。 2.1MA TLAB软件

二、实验原理 2.1快速傅立叶变换(FFT) 在各种信号序列中,有限长序列占重要地位。对有限长序列可以利用离散傅立叶变换(DFT)进行分析。DFT不但可以很好的反映序列的频谱特性,而且易于用快速算法(FFT)在计算机上进行分析。 有限长序列的DFT是其z变换在单位圆上的等距离采样,或者说是序列傅立叶的等距离采样,因此可以用于序列的谱分析。FFT是DFT 的一种快速算法,它是对变换式进行一次次分解,使其成为若干小数据点的组合,从而减少运算量。 MATLAB为计算数据的离散快速傅立叶变换,提供了一系列丰富的数学函数,主要有Fft、Ifft、Fft2 、Ifft2, Fftn、ifftn和Fftshift、Ifftshift等。当所处理的数据的长度为2的幂次时,采用基-2算法进行计算,计算速度会显著增加。所以,要尽可能使所要处理的数据长度为2的幂次或者用添零的方式来添补数据使之成为2的幂次。 Fft函数调用方式:○1Y=fft(X); ○2Y=fft(X,N); ○3Y=fft(X,[],dim)或Y=fft(X,N,dim)。 函数Ifft的参数应用与函数Fft完全相同。 2.2周期图法功率谱分析原理 周期图法是把随机数列x(n)的N个观测数据视为能量有限的序列,直接计算x(n)的傅立叶变换,得X(k),然后再取幅值的平

相关文档
最新文档