一种基于matlab的ECG频谱分析

一种基于matlab的ECG频谱分析
一种基于matlab的ECG频谱分析

1 引言

1.1 ECG处理的意义

生物医学信号属于强噪声背景下的低频微弱信号,它是由复杂的生命体发出的不稳定的自然信号。作为一种对判断人体生命状况极其重要的生理信号,处理心电信号就显得很有必要,尤其在临床诊断上的应用。

根据心电信号,可以绘制出心电图。心电图是心脏兴奋的发生、传播及过程的客观指标,是反映心脏兴奋的电活动过程,它对心脏基本功能及其病理研究方面,具有重要的参考价值。心电图可以分析与鉴别各种心律失常;也可以反映心肌受损的程度和发展过程;心房、心室的功能结构情况。在指导心脏手术进行及指示必要的药物处理上有参考价值。心电图的检查必须结合多种指标和临床资料,进行全面综合分析,才能对心脏的功能结构做出正确的判断。

在临床上,分析心电信号,可以确诊心肌梗塞及急性冠状动脉供血不足,协助诊断慢性冠脉供血不足、心肌炎、心肌病及心包炎,判定有无心房、心室肥大,从而协助某些心脏病的病因学诊断,例如风湿性、肺源性、高血压性和先天性心脏病等,观察某些药物对心肌的影响,包括治疗心血管疾病的药物(如洋地黄、抗心律失常药物)及可能对心肌有损害的药物。此外,对某些电解质紊乱(如血钾、血钙的过高或过低),心电信号不仅有助于诊断,还可以对指导治疗有重要参考价值。

1.2 ECG处理的发展与现状

心电信号处理是目前信号处理领域中的研究热点之一,其真正实现将有力地促进医疗事业的发展和人们健康水平的提高,也将是现代信号处理理论与技术在医疗领域中应用的重大突破。心电信号处理系统的研究内容广泛,涉及的基础理论和关键技术繁多,是一个多学科交叉的庞大课题。到目前为止,现有的心电信号的分析方法中还存在着诸多的缺陷和不足,在理论研究和实际应用方面仍有许多改进和创新的空间。

由于计算机和微电子技术的问世,20世纪50年代末、60年代初就已经采用了计算机进行心电信号处理,随后随着计算机以及信号检测、分析与处理技术的不断完善,20世纪后半叶心电图的计算机辅助分析应用日益广泛,在心电监护、心电Holter、心电图自动分析仪、心电体表标测以及高频心电、心室晚电位及希氏束、胎儿心电及心率变异性等许多方面都取得了进展。如今,随着数字信号

处理技术的发展和各种数字信号处理器性能的提高,用数字信号处理器来进行心电图辅助分析也成为了可能。

本文主要介绍心电信号的预处理去工频干扰、平滑滤波和QRS复波检测的方法及演示结果。

2 Matlab处理ECG的优势

2.1Matlab简介

Matlab是由美国Math Works公司20世纪80年代中期推出的数学软件。MATLAB是“Matric Laboratory”的缩写,意为“矩阵实验室”,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。Matlab已经发展成为多学科、多种工作平台的功能强大的大型软件。在欧美的高校和研究机构中,MATLAB是一种非常流行的计算机语言,许多重要的学术刊物上发表的论文均是用MATLAB来分析计算以及绘制出各种图形。

Matlab是一完整的并可扩展的计算机环境,是一种进行科学和工程计算的交互式程序语言。它的基本数据单元是不需要指定维数的矩阵,它可直接用于表达数学的算式和技术概念,而普通的高级语言只能对一个个具体的数据单元进行操作。因此,解决同样的数值计算问题,使用MATLAB要比使用Basic、Fortran 和C语言等提高效率许多倍。许多人赞誉它为万能的数学“演算纸”。MATLAB 采用开放式的环境,你可以读到它的算法,并能改变当前的函数或增添你自己编写的函数。

2.2Matlab的优势

友好的工作平台和编程环境。MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

简单易用的程序语言。Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输

入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

出色的图形处理功能。Matlab自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),Matlab同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

应用广泛的模块集合工具箱。MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB 已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱家族中有了自己的一席之地。

3 ECG特征参数及分析

3.1心电信号的特点

心电信号属于强噪声背景下的低频微弱信号,它是由复杂的生命体发出的不稳定的自然信号,由于受到人体诸多因素的影响,因而有着一般信号所没有的特点。

信号弱。例如从母体腹部取到的胎儿心电信号仅为10μv,成人的心电信号

范围也仅为5mv.

噪声强。由于人体自身信号弱,加之人体又是一个复杂的整体,因此信号易受噪声的干扰。如胎儿心电混有很强噪声,它一方面来自肌电、工频等干扰,另一方面,在胎儿心电中不可避免地含有母亲心电,母亲心电相对我们要提取的胎儿心电则变成了噪声。

随机性强。心电信号信号不但是随机的,而且是非平稳的。正是因为生物医学信号的这些特点,使得心电信号处理成为当代信号处理技术最可发挥其威力的一个重要领域。

3.1.1 心电信号的特征参数

图3.1

如图3.1为完整的心电信号波形图,分别由P波、P—R段、P—R间期、QRS复合波、S—T段、T波和U波组成。

P波。心脏的兴奋发源于窦房结,最先传至心房,故心电图各波中最先出现的是代表左右两心房兴奋过程的P波。兴奋在向两心房传播过程中,其心电去极化的综合向量先指向左下肢,然后逐渐转向左上肢。如将各瞬间心房去极的综合向量连结起来,便形成一个代表心房去极的空间向量环,简称P环。P环在各导联轴上的投影即得出各导联上不同的P波。P波形小而圆钝,随各导联而稍有不同。P波的宽度一般不超过0.11秒,电压(高度)不超过0.25毫伏。

P—R段。是从P波终点到QRS波起点之间的曲线,通常与基线同一水平。P-R段由电活动经房室交界传向心室所产生的电位变化极弱,在体表难于记录出。

P—R间期。是从P波起点到QRS波群起点的时间距离,代表心房开始兴奋到心室开始兴奋所需的时间,一般成人约为0.12~0.20秒,小儿稍短。超过0.21秒为房室传导时间延长。

QRS复波。代表两个心室兴奋传播过程的电位变化。由窦房结发生的兴奋波经传导系统首先到达室间隔的左侧面,以后按一定路线和方向,并由内层向外层依次传播。随着心室各部位先后去极化形成多个瞬间综合心电向量,在额面的导联轴上的投影,便是心电图肢体导联的QRS复合波。典型的QRS复合波包括三个相连的波动。第一个向下的波为Q波,继Q波后一个狭高向上的波为R波,与R波相连接的又一个向下的波为S波。由于这三个波紧密相连且总时间不超过0.10秒,故合称QRS复合波。QRS复合波所占时间代表心室肌兴奋传播所需时间,正常人在0.06~0.10秒之间。

S—T段。由QRS波群结束到T波开始的平线,反映心室各部均在兴奋而各部处于去极化状态,故无电位差。正常时接近于等电位线,向下偏移不应超过0.05毫伏,向上偏移在肢体导联不超过0.1毫伏,在单极心前导程中V1,V2,V3中可达0.2~0.3毫伏;V4,V5导联中很少高于0.1毫伏。任何正常心前导联中,ST段下降不应低于0.05毫伏。

T波。是继QRS波群后的一个波幅较低而波宽较长的电波,反映心室兴奋后再极化过程。心室再极化的顺序与去极化过程相反,它缓慢地从外层向内层进行,在外层已去极化部分的负电位首先恢复到静息时的正电位,使外层为正,内层为负,因此与去极化时向量的方向基本相同。连接心室复极各瞬间向量所形成的轨迹,就是心室再极化心电向量环,简称T环。T环的投影即为T波。再极化过程同心肌代谢有关,因而较去极化过程缓慢,占时较长。T波与S-T段同样具有重要的诊断意义。

U波。在T波后0.02~0.04秒出现宽而低的波,波高多在0.05毫伏以下,波宽约0.20秒。一般认为可能由心舒张时各部产生的负后电位形成,也有人认为是浦肯野氏纤维再极化的结果。

3.2 心电信号噪声的来源及特点

心电信号在经过采集、数模转换过程中,不可避免的受到各种类型的噪声干扰,这些干扰使得得到的心电信号的信噪比较低,甚至淹没了心电信号。通常心电信号中主要包括以下3种噪声:

①工频干扰

主要包括 50HZ 电源线干扰及高次谐波干扰。由于人体分布电容的存在使入体具有天线效应以及较长的导联线暴露在外,50HZ的工频干扰在心电信号中是常见的,依情况不同,其干扰幅度达心电信号峰一峰值的0—50%。

②肌电干扰

由于病人的紧张或寒冷刺激,以及因某些疾病如甲状腺机能亢进等,都会产生高频肌电噪声,其产生是众多肌纤维分时随机收缩时引起的,频率范围很广(DC-1000V), 谱特性接近白噪声,其频率一般在5HZ—2KHZ之间。

③基线漂移

这种噪声是因呼吸、肢体活动或运动心电图测试所引起的。稍微剧烈的肢体运动将引起心电信号波形发生改变,严重地破坏了心电信号分析的准确性。上下波动和扭曲的心电图也令医师眼花缭乱,影响诊断,其频率一般在0.05—2HZ 之间。

4ECG频谱分析的GUI界面设计

4.1 GUI简介

图形用户界面 GUI (Graphical User Interfaces )是由窗口光标、按键、菜单、文字说明等对象构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。在Matlab中可以很方便地使用用户界面开发环境创建 GUI 应用程序。设计的GUI布局代码会存储在FIG文件中,同时 Matlab 会产生一个M文件用于存储调用函数。通过点击控件,Matlab会运行该控件下的 Callback 函数。因此,编写 GUI应用程序,可简单地认为是布局控件,编写callback函数以及解决函数间数据传递问题。GUI可很好地进行技术,方法的演示,并且它还可以被编译器编译成应用程序。

4.2 GUI实现的功能

为了能实现人机交换的功能,使得对心电信号的处理的操作更加简洁方便,需要制作一个GUI界面及GUI程序,以实现以下的功能:

①以菜单栏的方式载入心电数据。如点击菜单,出现open的选项,然后

弹出一个对话框,可以选择所需要的格式的文件并载入。

②显示处理后的数据波形图。设计axes控件,可以显示被处理的心电信

号波形图以及处理后的心电数据的波形图。

③调整参数,以达到处理心电信号的最佳效果。设置Edit Text控件,可以

任意输入想要的数据,调控数据的显示范围以及滤波器的参数。

④数据存储。设计了一个可以保存处理后的心电数据的pushbutton控件,

实现一键保存数据的功能。

4.3 GUI设计

4.3.1 GUI布局

图4.3

如图4.3所示,显示部分有4个axes控件显示载入的原始心电信号波形、原始心电信号的频谱图、处理后的心电信号图、处理后的心电信号频谱图以及用QRS复波检测方法设计的滤波器滤出来的波形。

Input为原始信号输入并进行可视化的部分。该部分GUI界面上设置有6个可编辑的文本框,可以在里面输入适当的参数,并设有两个按钮,分别可以显示原始心电信号的波形以及经傅里叶变换后的频谱图。

Filtering是滤波控制的部分。该部分设有三个滤波器的选择按钮和相应的编辑文框。另外还有综合了三个滤波器功能的滤波控件,可同时调用三个滤波器进行滤波。

QRS是QRS复波检测部分,该部分可以控制QRS复波检测。

4.3.2编写控件代码

Callback为控件被触发时调用的函数。取值是字符串,可以是某个M文件或一小段Matlab语句。当用户激活控件对象(如用鼠标点击控件对象图标或移动滚动条的滑块)时,应用程序就运行该属性定义的子程序。具体程序代码见附录。Backgroundcolor定义控件对象区域的背景色,缺省颜色是系统定义的浅灰色。具体程序代码参见附录。

5 ECG信号处理

现代医学表明,心电信号(ECG)含有临床诊断心血管疾病的大量信息,ECG 的检测与分析在临床诊断中具有重要价值,是了解心脏的功能与状况、辅助诊断心血管疾病、评估各种治疗方法有效性的重要手段。但由于实际检测工况的非理想,ECG 信号中往往含有工频噪声及电极极化等引起的各种随机噪声。噪声的存在降低了诊断的准确性,其中影响最大的是50Hz 工频干扰和基线漂移噪声。因此,在ECG 信号检测过程中,如何抑制工频干扰和基线漂移是必须解决的问题。

心电信号是微弱低频人体生理电信号,通常频率在0.05—100Hz,幅值不超过4mv,通过安装在皮肤表面的电极来获取。由于人体是一个复杂的生命系统,存在50H 工频干扰及基线漂移等其他生理电信号的干扰。噪声可能会影响到医生的临床诊断,因此,需对心电信号进行滤波,即必须做好前端数据采集的软硬件设计以保证心电数据的可靠和准确。

5.1 平滑处理

要对心电信号进行平滑处理,就必须要平滑滤波。平滑滤波是低频增强的空间域滤波技术。它一般的目的有两类:一类是模糊;另一类是消除噪音。最常碰到的信号处理任务之一是平滑数据以抑制高频噪声。高频噪声源包括60Hz电网噪声,运动伪迹和量化误差。求几个数据点的平均值的方法是减弱高频噪声的一种简单方法。这种滤波器被称之为移动平均滤波器。本次对心电信号进行平滑处理的任务是保留信号中有用的频率的成分,滤掉不想要的成分,即为滤掉常

说的噪声,留下想要的成分。

在本次毕业设计的制作过程中,对心电数据平滑处理使用的移动平均滤波器主要有海宁滤波器以及巴特沃斯滤波器。

5.1.1海宁滤波器

海宁移动平均滤波器是最简单的平滑滤波器之一。正如其差分方程所示,海宁滤波器计算的是一组加权移动平均值,其中间数据点的权系数好似其余两个数据点的2倍。

y(nT)=1/4[x(nT)+2 x(nT-T)+ x(nT-2T)]

一旦有了差分方程(实现数字滤波器的数值算法),即可确定传递函数。利用离散值和z域值间的关系类推,传递函数能够完全代表滤波器的性能。

x(nT)和y(nT)是当前采样时刻相联系的输入和输出序列中的点,他们分别对应于无延时z域数值X(z)和Y(z)。同样,x(nT-T)是前一采样点的输入数值,

对应于滞后一个采样点的z 域输入值,或X(z)z

-1 。若将输出的Y(z)视为输入X(z)的函数,则其z 变换的方程式为:

()[]

21)()(2)(41--++=z z x z z x z x z H

图5.1.1(a) 海宁滤波器流程图

图5.1(a)所示的是用功能块直接实现方程中的各项的流程图。z 的-2次幂决定了设计中需要两个延时器。为了与因子2和1/4相乘,必须有两个乘法器,还需要两个加法器来将各项相加。此方程的传递函数为:

]21[4

1)(21--++=z z z H

5.1.1(b)海宁滤波器零-极点分布图

海宁滤波器有两个零点,均位于z=-1;有两个极点,均位于z=0.因为它们对幅值响应的所有频率影响相同,故图中未画出。

海宁滤波器的实现是通过一段计算机的程序来完成的。程序代码如下:

m=length(x);

y2=zeros(1,m);

for i=1:m

x0=x(i);

if i==1

x1=0;

else

x1=x(i-1);

end

if i<=2

x2=0;

else

x2=x(i-2);

end

y2(i)=1/4(x0+2*x1+x2);

end

在for循环内,x(nT)的值从x(i)中获得,x(nT-T)的值从x(i-1)中获得,x(nT-2T)的值从x(i-2)中获得,i的值在1~m中取。然后输入数据在延时器中移动。下次输入之前,前一采样点的数据x(nT-T)移至输入x(nT-2T),即x(i-2)中。当前输入x(nT)在时间点上倒退一个点,代替x(nT-T)。在下一个循环中,重新获得x(nT)的新值,重复此过程直至m的数值全部被处理为止。

在Matlab程序坏境中运行改程序得到的效果如图5.1.1(c)和5.1.1(d)所示:

原始数据波形及频谱:

图5.1.1(c)

滤波后的波形及频谱:

5.1.1(d)

如上图所示,经海宁滤波器滤波之后,原始的心电信号波形变得平滑了许多,减少了许多毛边。从频谱图也能发现这一变化。

5.1.2 巴特沃斯滤波器

本次任务主要是滤去心电信号中的高频噪声,因此需要设计一个低通滤波器。所谓低通滤波器,就是只能让低频分量通过。在低通滤波器的设计中,有许多不同的逼近方法:巴特沃斯逼近,切比雪夫逼近,椭圆逼近方法等。其中,最简单的逼近为巴特沃斯逼近。巴特沃斯滤波器的特点是通频带内的频率响应曲线最大限度平坦,没有起伏,而在阻频带则逐渐下降为零。因此对于处理心电信号是比较合适的。

巴特沃斯低通滤波器的幅度平方函数2)(Ωj H a 用下式表示: N c

a j H 22)(11)(ΩΩ+=Ω 式中,N 称为滤波器的阶数。当Ω=0时,1)(=Ωj H a ;Ω=c Ω时,2/1)(=Ωj H a ,c Ω是3dB 截止频率。在Ω=c Ω附近,随着Ω加大,幅度迅速下降。幅度特性与Ω

和N 的关系如图5.1.2(a)所示。幅度下降的速度与阶数N 有关,N 越大,通带越平坦,过渡带越窄,过渡带与阻带幅度下降的速度越快,总的频响特性与理想低通滤波器的误差越小。

图5.1.2(a) 巴特沃斯低通滤波器幅度特性与Ω和N 的关系

以s 代替j Ω,将幅度平方函数2

)(Ωj H a 写成s 的函数: N c a a j s s H s H 2)(11)()(Ω+=- 复变量s=Ω+j σ,此式表明幅度平方函数有2N 个极点,极点k s 用下式表示: )21221(21

)()1(N k j c N k e j s ++Ω=Ω-=π

2N 个极点等间隔分布在半径为c Ω的圆上(该圆为巴特沃斯圆),间隔是N /πrad 。例如N=3,极点间隔为3/πrad ,如图5.1.2(b)所示。

图5.1.2(b) 三阶巴特沃斯滤波器极点分布图

为形成因果稳定的滤波器,2N个极点中只取s平面坐平面的N 个极点构成

)

(s H

a ,而右半平面的N个极点构成)

(s

H

a

。)

(s

H

a

的表达式为:

得出)

(s

H

a

后即能得到数字化的巴特沃斯滤波器。

用Matlab信号处理工具箱函数设计巴特沃斯滤波器,其中有五种用格式,在本次设计任务中,用到的是格式之一的[N,wc]=buttord(wp,ws,Rp,As)和[B,A]=butter(N,wc,’ftype’)。其中,[N,wc]=buttord(wp,ws,Rp,As)用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。1表示数字频率pi。Rp,As分别为通带最大衰减和组带最小衰减(dB)。当ws≤wp 时,为高通滤波器;当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc 也是二元向量。N,wc作为butter函数的调用参数。具体程序代码见附录。

根据计算要求的设计指标为:通带最大衰减Rp=0.2dB,阻带最小衰减As =15dB,通带边界频率wp=100Hz,采样频率ws=500Hz。得出的效果如图5.1.2(c)和5.1.2(d)所示:

原始数据波形及频谱:

图5.1.2(c)

滤波后的波形及频谱:

图5.1.2(d)

如上图所示,经巴特沃斯滤波器滤波之后,原始的心电信号波形变得平滑而干净,滤去了许多由于高噪声干扰而产生的描边。而且,从频谱图也能发现这一变化。

5.2去工频干扰

用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实现.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进行信号与系统的时、频域分析

课程实验报告 题目:用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对采样数据进行频谱分析

使用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频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 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的频谱分析仪设计

基于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),然后再取幅值的平

MATLAB关于FFT频谱分析的程序

MATLAB关于FFT频谱分析的程序 %***************1.正弦波****************% fs=100;%设定采样频率 N=128; n=0:N-1; t=n/fs; f0=10;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f0*t); figure(1); subplot(231); plot(t,x);%作正弦信号的时域波形 xlabel('t'); ylabel('y'); title('正弦信号y=2*pi*10t时域波形'); grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换 figure(1); subplot(232); plot(f,mag);%做频谱图 axis([0,100,0,80]); xlabel('频率(Hz)'); ylabel('幅值');

title('正弦信号y=2*pi*10t幅频谱图N=128'); grid; %求均方根谱 sq=abs(y); figure(1); subplot(233); plot(f,sq); xlabel('频率(Hz)'); ylabel('均方根谱'); title('正弦信号y=2*pi*10t均方根谱'); grid; %求功率谱 power=sq.^2; figure(1); subplot(234); plot(f,power); xlabel('频率(Hz)'); ylabel('功率谱'); title('正弦信号y=2*pi*10t功率谱'); grid; %求对数谱 ln=log(sq); figure(1); subplot(235); plot(f,ln);

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

辽宁科技大学毕业设计(论文)第I页 基于MATLAB的信号波形与频谱分析 摘要 本文利用MATLAB软件进行信号频谱分析的设计,并通过GUI界面(图形用户界面)实现信号频谱分析的动态设计。用户可与计算机交互式地进行对象参数的设置、控制算法的选取、以及对离散信号与连续信号的动态频谱分析。并利用MATLAB内嵌的Simulink模块,实现系统的信号频谱分析,满足不同用户的不同要求。 MATLAB的GUIDE是专门用于图形用户界面(GUI)程序设计的快速开发环境,本文从介绍GUIDE入手结合具体的软件图形界面实例,给出了利用GUIDE制作图形用户界面的基本方法。通过本文的研究得出利用GUIDE设计的仿真界面不仅可以对离散信号与连续信号的动态频谱进行相关分析,而且还可以对此问题作进一步的预测和分析。基于GUIDE技术制作的图形用户界面,具有友好性,开放性,方便科研人员不断地研究和扩充。 关键词频谱分析;GUI;SIMULINK;MATLAB

辽宁科技大学毕业设计(论文)第II页 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

基于MATLAB的频率调制与解调

郑州轻工业学院 课程设计说明书 题目:利用MATLAB实现信号的频率调制与解调 姓名:宋蒙 院(系):电气信息工程学院 专业班级:电子信息工程专业 学号:541101030233 指导教师:赵红梅 成绩: 时间:2014年 6 月9 日至2014年 6 月13 日

郑州轻工业学院 课 程 设 计 任 务 书 题目 利用MATLAB 实现信号的频率调制与解调 专业、班级 电子信息工程11级 2班 学号 33 姓名 宋蒙 主要内容、基本要求、主要参考资料等: 主要内容: 利用MATLAB 对信号 ()()???? ?≤=其他 ,0t ,10002t t Sa t m 进行频率调制,载波信号频率为1000Hz ,频偏常数s t K f 2.0,500==。首先在MATLAB 中显示调制信号的波形和频谱,已调信号的波形和频谱,比较信号调制前后的变化。然后对已调信号解调,并比较解调后的信号与原信号的区别。 基本要求: 1、掌握利用MATLAB 实现信号频率调制与解调的方法。 2、学习MATLAB 中信号表示的基本方法及绘图函数的调用,实现对常用连续时间信号的可视化表示。 3、加深理解调制信号的变化;验证信号调制的基本概念、基本理论,掌握信号与系统的分析方法。 主要参考资料: 1、王秉钧等. 通信原理[M].北京:清华大学出版社,2006.11 2、陈怀琛.数字信号处理教程----MATLAB 释义与实现[M].北京:电子工业出版社,2004. 完 成 期 限: 2014.6.9—2014.6.13 指导教师签名: 课程负责人签名: 2014年 6月 13日

利用MATLAB实现信号的频率调制与解调 电子信息工程 11级 2班指导老师:赵红梅 摘要:FM属于角度调制,角度调制与线性调制不同,已调信号频谱不再是原调制信号频谱的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的新的频率成分,故又称为非线性调制。FM调制又称为频率调制,与幅度调制相比,角度调制的最突出的优势在于其较高的抗噪声性能,但获得这种优势的代价是角度调制占用比幅度调制信号更宽的带宽。调制在通信系统中有十分重要的作用,通过调制不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于传播的已调信号,而且它对系统的传输有效性和传输的可靠性有着很大的影响,调制方式往往决定了一个通信系统的性能 本课程设计主要基于MATLAB集成环境编写程序实现FM 调制与解调过程,并分别绘制出调制信号、已调信号和解调信号的时域及频域波形。 关键词: FM调制;非相干解调;MATLAB

利用matlab怎样进行频谱分析、、

利用matlab怎样进行频谱分析 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为灰度分布函数。 这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻滤波器消除干扰。另外我还想说明以下几点: 1、图像经过二维傅立叶变换后,其变换系数矩阵表明: 若变换矩阵Fn原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近(图中阴影区)。若所用的二维傅立叶变换矩阵Fn的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。 2、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)。 从计算机处理精度上就不难理解,一个长度为N的信号,最多只能有N/2+1个不同频率,再多的频率就超过了计算机所能所处理的精度范围)X[]数组又分两种,一种是表示余弦波的不同频率幅度值:Re X[],另一种是表示正弦波的不同频率幅度值:Im X[],Re是实数(Real)的意思,Im是虚数(Imagine)的意思,采用复数的表示方法把正余弦波组合起来进行表示,但这里我们不考虑复数的其它作用,只记住是一种组合方法而已,目的是为了便于表达(在后面我们会知道,复数形式的傅立叶变换长度是N,而不是N/2+1)。

matlab声音信号频谱分析的课程设计

原语音信号 [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Y=fft(y,n); >> subplot(2,1,1);plot(y); >> subplot(2,1,2);plot(abs(Y));

加噪声 >> [y,fs,bits]=wavread('C:\Users\Administrator\Desktop\111.wav'); >> sound(y,fs,bits); >> n=length(y) n = 92611 >> Noise=0.2*randn(n,2); >> s=y+Noise; >> sound(s) >> subplot(2,1,1); >> plot(s) >> S=fft(s); >> subplot(2,1,2); >> plot(abs(S)) >> title('加噪语音信号的频谱波形')

FIR 低通滤波器 fp=1000;fc=1200;As=100;Ap=1;fs=30000; >> wc=2*fc/fs;wp=2*fp/fs; >> N=ceil((As-7.95)/(14.36*(wc-wp)/2))+1; >> beta=0.1102*(As-8.7); >> Win=Kaiser(N+1,beta); b=fir1(N,wc,Win); >> freqz(b,1,512,fs); >> s_low=filter(b,1,s); >> plot(s_low);title('信号经过低通滤波器的时域图') >> S_low=fft(s_low,n); >> plot(abs(S_low));title('信号经过低通滤波的频谱') >> sound(s_low,fs,bits)

基于MATLAB的语音信号的频谱分析

数字信号处理 结课报告 设计题目:基于MATLAB的语音信号的频谱分析姓名: 专业班级: 学号: 成绩: 指导教师: 日期: 2013 年 11 月 30 日

1.课程设计目的 综合运用数学信号处理的理论知识进行语音信号的频谱分析,通过理论推导得出相应结论,再利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。 2.理解设计基本要求 1)熟悉离散信号和系统的时域特性。 2)熟悉线性卷积和相关的计算编程方法。 3)掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对离散信号、系统和 系统的响应进行频域分析。 4)学会MATLAB的使用,掌握MATLAB的程序设计方法。 5)利用MATLAB对wav文件进行频谱分析。 6)分别用不同的滤波器对加噪语音信号进行滤波,选择最佳滤波器。 3.课程设计内容 选择一个wav文件作为分析的对象,或录制一段语音信号,对其进行频谱分析,分别对加噪前后的语音信号进行频谱分析,再通过不同滤波器根据信号的频谱特点重构语音信号,选出最佳滤波方案。 4.课程设计实现步骤 (1)语音信号的获取 选择一个wav文件作为分析的对象,可以利用Windows下的录音机或其他软件,录制一段自己的话音,在MATLAB中,[y,fs,bits]=wavread('Blip',[N1 N2]);用于读取语音,采样值放在向量y中,fs表示采样频率(Hz),bits表示采样位数。[N1 N2]表示读取的值从N1点到N2点的值。 sound(y);用于对声音的回放。向量y则就代表了一个信号,也即一个复杂的“函数表达式”,也可以说像处理一个信号的表达式一样处理这个声音信号。 下面是语音信号在MATLAB中的语言程序,它实现了语音的读入与打开,并绘出了语音信号时域波形,然后对语音信号进行频谱分析。在MATLAB中,可以利用函数fft对信号进行快速傅里叶变化,得到信号的频谱特性。 在频谱特性中分析最大值的位置(可能有几个),它代表的频率和时域的采样时间有关,相邻的两点之间的距离为。其中,N是离散傅里叶变换用的点数,是采样的时间,前面在读取 wav文件时得到了采样频率。 既然知道了该声波的频谱,按频率就可以反演它的时域值,利用以上分析的主要峰值来重构声波。由于没有考虑相位和其他的频谱分量,所以波形和原来的波形相差甚大,但大体的频率是没有错的。 fs=25600; %语音信号采样频率为25600 [x,fs,bits]=wavread('C:\windows\system32\config\systemprofile\Des ktop\mayue.wav'); sound(x,fs,bits); %播放语音信号

相关文档
最新文档