大学生matlab课程论文_第1页
大学生matlab课程论文_第2页
大学生matlab课程论文_第3页
大学生matlab课程论文_第4页
大学生matlab课程论文_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录1绪论1.1 课题背景及意义1.2数据采集器的历史与发展状况1.3论文研究的目的和任务2.数据采集系统结构2.1 系统结构2.2系统的特点2.3系统常见的几种结构形式多通道共享采样/保持器和 A/D 转换器数据采集系统多通道并行数据采集系统分布式数据采集系统3 基于MATLAB的语音信号采集器的设计3.1 MATLAB的简介3.2 语音信号的采样理论依据3.2.1 采样频率3.3 MATLAB在数据采集器中的应用4 系统实现方案4.1系统用户界面设计4.2 数据采集原理4.3采集语音信号运行结果分析信号时域分析4.3.2 信号的频域分析4.3.3 采样后频谱分析5.信号的处理分析5.1改进

2、消除噪声5.2 平滑处理5.3 滤波处理小波变换去噪分析5.3.2 谱减法去燥分析5.3.3 IIR滤波器设计及分析总结致谢参考文献附录基于MATLAB的数据采集器设计摘要:本设计是一个声音信号的采集和分析系统,实现了对语音信号采集和简单测试,并对时域、频谱以及去噪处理进行分析。基于MATLAB这个软件平台,我们对数据采集卡可以进行编程控制,从而实现对信号数据进行采集,通过MATLAB这个软件强大的数据处理能够实现对信号数据分析,最后利用MATLABGUI实现对整个系统的虚拟界面的编写,实现整个系统集成。系统的主要功能是由语音信号的采集和采集后信号处理分析两部分来组成。系统先通过传感器采集声音

3、信号,然后经过声卡从而对信号进行模数转换(采集、量化、编码)后,存入计算机进行一系列信号的处理。关键词:MATLAB;数字信号处理;滤波器。1绪论1.1 课题背景及意义计算机和信息技术自出现以来都在飞快的发展。至今,我们的日常生活和工作已经离不开了计算机。信号以许多的的表现形式出现在我们的生活和工作中,信息的存储、传达、获取都需要通过信号来实现。数据采集是计算机获取信息的主要途径之一,也是计算机与外观世界进行沟通的一个桥梁。数据采集技术是信息科学和与计算机技术不能够缺少的一部分,它现在已经可以应用于我们的国民经济及国防建设的各个领域。而且随着科学技术的迅猛发展,尤其是信息技术的发展和普及,数据

4、采集技术的前景变得更加的广阔。 数据就是通过实验、检验、统计等获得的,还可以用于技术设计、科学研究、查证、决议等的数值,是实验、测量的结果,常以数量的形式给出,用作论断的论据。数据采集(Data Acquisition)是指将被测对象(外部世界、现场)的多种参量(物理量,化学量、生物量等)通过各种传感器件作适当更改后,再经信号调理、采样、量化、编码、传输等过程,最终输送到控制器,从而对数据进行处理或存储记录的一个过程。数据采集系统就是将温度、压力、流量、位移等模拟数据采集、转换成一个数字量,并进行存储、处理、显示或打印的体系。在当今社会的各个领域,包括科学和实验研究,数据采集系统有着重要的作用

5、,数据的采集和处理进行得越及时,工作效率就会变得越来越高,取得的经济上的效益就会变得越来越大。MATLAB产品系列则被广泛应用于信号与图像的处理、控制系统的设计、数字行业以及系统的仿真等许多的领域。它的一个特性就是有众多的面向具体应用的工具箱和仿真块,包含了完整的函数集用来对信号的图像进行处理。而MATLEB提供的数据采集工具箱聚集了MATLAB集成的M文件,可以实时显示通过计算机数据采集的硬件数据。利用该数据采集工具箱可以方便地创建一个数据采集系统。1.2数据采集器的历史与发展状况数据采集系统开始于上世纪50年代,1956年由美国率先研制了用在军事上的测试系统,指标是测试中不依靠相关性的测试

6、文件,由非熟练的人员进行基本的操作,且测试的任务是由测试设备高速自动控制完成。20世纪90年代至今,在一些技术发展较快的国家,数据采集技术主要在航空电子设备、军事及宇航技术等多个领域被广泛运用。由于集成电路制造技术的不断发展,出现了性能高、可靠性高的单片数据采集系统(DAS)。如今数据采集技术已经成为一种专门的技术,在工业、服务业等领域也得到了广泛的应用。此时数据采集系统采用更为先进的模块式结构,根据不同的需求,通过简单的增加和更改模块,并结合采集系统的编程,就可扩展或修改系统,迅速地组装成一个新的系统。目前,数据采集系统主要有以下3种设计方案:(1)使用RS232串行通信将采集模块搜集到的数

7、据传达到PC机。使用采集模块采集到的数据通过RS232串行通信传达到PC机上,借助MATLAB中的仪器控制工具箱封装到串口对象,可以像操作文件一样控制串行端口和外设进行通信。首先我们可以使用 serial函数建立一个串口对象,然后再进行设置属性数据位、波特率、停止位等这些对象,使数据采集模块与PC机之间存在相同的通信模式。数据进行传输的过程当中, 我们可以使用fopen 函数打开串口,再用fwrite函数和fread 函数以二进制或ASCII码格式对其进行读写操作。在进行数据通信过程当中,可以通过读串口对象属性及时了解串口的工作情况。数据在传输完成之后,我们可以使用fclose函数关闭这个串口

8、。通过智能数据采集模块采集系统的输入激励信号和输出响应,用串行通信把采集到的数据传输到MATLAB当中。(2)用AT89C51单片机(MCS51系列)与美国TI(Texas Instruments)公司的A/D芯片TLC2543制造数据采集卡。该采集系统相对于其他的采集系统移动性比较好,成本也比较低,它利用AT89C51单片机(MCS51系列)与美国TI(Texas Instruments)公司的A/D芯片TLC2543制造了一个数据采集卡, 具体的数据采集任务主要是由单片机来完成的,采集到的数据同时传送给计算机进行处理和分析。数据采集卡设计成外置式的结构,模拟信号通过A/D芯片转化成数字信息

9、,接着串行传输给后台控制的计算机。振荡频率采用的是2211184MHz单片机,这样就能够将PC和AT89C51通信的波特率精确的达到115200bps,从而能够确保计算机能够及时的、有效的接收高速采集的数据。模拟信号将通过TLC2274高速低噪声运放进行缓冲,它的输出是满幅度的(即rail-to-rail) ,当选用单5V供电时,可产生05V的输出,所以说它非常适合用在这里。TLC2543参考电压是电压源芯片AD586产生的+5V精准电压。由计算机传递采集设置,通过串行口将采集到的数据实时的传输给计算机。(3)使用USB总线的数据采集器。USB总线的特点是速度传输快,易扩展和可以采用总线供电,

10、所以使用起来相对来说灵活。在使用MATLAB软件的环境下通过USB总线进行及时的信号采集,然而MATLAB本身却没有对USB总线的控制功能。所以可以用C语言对USB的驱动进行控制和开发。如果使用C语言开发对USB的数据采集部分进行驱动和控制,需要编译成MEX文件,才可以在MATLAB中需要时调用。1.3论文研究目的任务设计数据采集体系,利用计算机和MATLAB软件资源完成10kz-20kHz以内语音信号的采集和显示,并对其做一个简单的频谱分析,去燥分析,同时能够实现信号的存储和调用。设计是以计算机为核心构成数据采集系统,主要模块包MATLAB、声卡和计算机。课题的研究基本步骤如下:110kHz

11、-20kHZ内信号采集。2. 信号用户界面设计。3. 在MATLAB平台上读入语音信号。4. 利用MATLAB连接相关处理程序。5. 信号存储和调用6. 信号处理结果显示与去燥分析。大概流程框图可如下表示:图1-1论文设计的流程2.数据采集系统结构2.1 系统结构数据采集系统的两个重要组成部分是采集子系统和计算机子系统,也可以称作为下位机智能数据采集系统和上位机 HMI(Human Machine Interface)系统。采集子系统具有的功能是可以实现将客观被测模拟信号采集和转换为被计算机处理的数字信号;计算机子系统所具有的功能是实现对采集到的数据进行存储、控制和处理。一般的外置式数据采集系

12、统如图2-1所示。由传感器采集得到模拟信号,经过信号调整模块传送到数据采集硬件设备当中,在数据采集设备当中就可以实现 A/D转换功能,然后将经过采样、量化、编码,最后转换为数字信号后传送到与之相连接的电脑中。在本系统设计过程当中,将采集到的数据,根据不同的需求,利用Matlab和二次编程从而可以实现数据的及时分析与处理。用户可以通过人机交互界面删除、修改、设定各项参数从而来控制数据采集设备的工作状态,得到数据的采集和分析结果,这样就可以实现数据采集与分析的自动化。采集系统分为数据采集和数据分析两大块,数据采集部分用来实现数据采集功能;数据分析部分对采集到的数据进行数据的时域、频域波形和滤波器去

13、噪分析,分析后得到的结果都以图形方式直观地呈现于用户前。此外,系统还具有数据保存以及数据回放功能。图2-1一般的外置式数据采集系统结构2.2系统的特点 数据采集系统一般具有以下几个特点。(1)现代的数据采集系统一般都是由计算机控制的,这样可以提高数据采集的质量和效率,也节省了硬件方面的投资。(2)软件系统在数据采集系统中的作用越来越大,加强了系统设计的灵活性。(3)数据采集与数据处理的结合是十分紧密的,结合后就形成就数据采集与处理系统,可实现从数据采集、处理到控制的所有工作流程。(4)随着电子技术飞速发展,电路集成度的也有了显著地提高,数据采集系统的体积变得越来越小,可靠性程度分析也越来越高,

14、甚至出现了单片数据这种采集系统。(5)总线在数据采集系统中应用广泛,所以总线技术对于数据采集系统结构的快速发展起着重要的。2.3系统常见的几种结构形式采集系统的结构表现形式多种多样,用途和功能也各不相同,常见的分类方法有主要有以下几种。多通道共享采样这种系统构成如图2-2所示,这种结构形式主要采用分时转换工作的方式,多路被测信号共同使用一个采样/保持器和一个A/D转换器。此时,如果采样保持器的输出逼近输入信号(按给定的精度),由控制命令作用,此时采样保持器由采样状态将会进入保持状态,A/D 转换器立刻就会进行转换,转换完毕后将输出数字信号。在转换过程当中,多路开关就会将下一路信号切换到采样/保

15、持器的输入端,系统循环重复以上的操作,可以实现对多通道模拟信号的数据采集。采样方式既可以按顺序,也可以随机进行。图2-2多通道共享采样保持器和AD转换器数据采集系统图这种采集系统结构形式相对来说是最简单的,利用的芯片数量少,适用于对采样信号不要求同步、信号变化率也不高的场合。如果被测信号变化速率较慢,可以放弃采样保持器,直接使用A/D 进行转换。如果干扰噪声强但是信号很弱,需要在系统电路中增强信号放大电路和滤波环节。多通道并行数据采集系统多通道并行数据采集系统框图如图2-3所示。在这种结构形式中,每个通道都会有自己的A/D转换器和采样保持器,通过A/D转换的数据经由接口电路传输到计算机中。相比

16、于前两种的采集系统,这种结构形式的数据虽然采集速度最快,但是它也有自身的缺陷,那就是成本较高,硬件电路复杂。图2-3多通道并行数据采集系统分布式数据采集系统分布式数据采集系统是通信技术综合、计算机技术和数据采集技术发展的产物,以“分散采集、集中管理”的思想为基础设计出的系统结构形式,主要由上位机、若干个“数据采集点”以及通信接口组成。分布式数据采集系统结构如图2-4所示。图2-4分布式数据采集系统3 基于MATLAB的语音信号采集器的设计3.1 MATLAB的简介MATLAB是由美国mathworks公司发布的主要面对可视化、科学计算以及交互式程序设计的高科技的计算环境。它将科学数据可视化、矩

17、阵计算、数值分析以及非线性动态系统的建模和仿真等众多强大的功能集合在一个易于使用的视窗环境当中,为工程设计、科学研究以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统上的非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。MATLAB 的应用范围非常广泛,包括通讯、信号与图像处理、测试和测量、控制系统设计、财务建模和分析以及计算生物学等众多应用的领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 应用环境,主要用来解决这些应用领域内特定类型的问题。它有如下的特点:(1)功能较强的数值运算

18、-在MATLAB的应用环境中,有超过500种数学、经济、理论力学、化学及工程方面的函数可使用,函数的标示自然,使得问题的解答像数学公式那样简单明了,让使用者节省了电脑操作的时间,可以用更多的时间去解答问题。(2)先进的资料视觉化-在MATLAB的物件导向图形架构,让使用者可执行视觉数据分,并作出高品质的图形,完成科学性或工程性较好的文章。(3)简单却又高阶的程式环境-作为一种直译型的程式语言,MATLAB允许使用者在最短的时间内写完程式,所花的时间大约为用FORTRAN或C的几分之一,而且不需要联结 (link)和编译(compile)就能够快速执行,同时包含了更多及更容易使用的内建功能。(4

19、)开放及可延伸的架构-MATLAB允许使用者使用大多数的数学原始码、更改现存函数、检视运算法,甚至加入自己的函数使 MATLAB成为使用者所须要的环境。3.2 语音信号的采样理论依据3.2.1 采样频率采样频率是计算机每秒钟采集的声音作为一个样本数,从而描述声音文件的音质和音调。采样频率如果越高,那么对声音波形的表示也就越精确。同时采样频率与声音频率也有较强的关系,由奈奎斯特定理可知只有采样频率大于声音最高频率的2倍时,才能够用数字信号表示的声音还原成原始语音信号。因此采样频率是用来衡量声卡的采集和记录以及还原声音文件的质量标准。3.2.2 采样位数采样位数就是采样值或者取样值,用来测量声音波

20、动变化的参数,是指声卡在采集、播放声音文件时所采用数字声音信号的二进制位数。采样频率是指录音设备在某一秒内对声音信号的采样频数。采样频率越高,声音的还原就会更加真实自然。3.2.3 采样定理我们在进行A/D转换的过程当中,当采样频率fs.max不小于信号中最高频率fmax的2倍时,即fs.max>=2fmax,那么采样之后的数字信号就会完整地、有效地保存原始信号中的信息,一般在实际应用的过程当中需要做到采样频率为信号最高频率的510倍才可以满足条件;采样定理还可以称为奈奎斯特定理。 3.3 MATLAB在数据采集器中的应用数据采集工具箱是由MATLAB进行集成的,所以在进行数据采集的过程

21、当中,需要对采集得到的数据进行实时分析,或先存储再处理,或针对数据分析的需求对测试条件的设立进行持续不断的更新。采集工具箱还可以通过命令或者函数控制任何类型的数据采集。例如:在硬件设备运行过程时,可以评估采集状态,定义触发器和回访状态,获取事件信息,预览数据和进行实时分析,同时还可以设置和显示所有的硬件特性以满足用户的技术指标。MATLAB的数据采集工具箱指的是一种以MATLAB环境为背景创建的M函数文件和MEX动态链接库文件的集合,由3大区域的组件共同组成:数据采集引擎、M文件函数及硬件驱动适配器。它具有的特点有:是一种通过使用与PC机兼容的,即插即用的数据采集设备在MATLAB环境中的架构

22、;对模拟信号的输入、输出以及数字信号的输入、输出具有支配作用。子系统还可以在同步模拟输入和输出之间进行转换、支持声卡、事件驱动采集。4 系统实现方案4.1系统用户界面设计图形用户界面(GUI)指的是一个由窗口、光标、按键、菜单、文字说明等对象构成的一个用户界面用户通过一定的方法选择(如鼠标或键盘),从而激活这些图形对象,使计算机产生某种动作或者变化,比如进行计算、绘图等。 GUI这个系统包含多种对象的图形窗口,主要由语音信号滤波器设计、及去噪处理和信号滤波来构成的,如图3所示,用户在使用过程中,只需要用鼠标单击相应的一个模块,系统就可以自动调用后台程序,并完成时域和频域波形的显示任务。与其他的

23、系统相比较,GUI系统增加了滤波器的主要设计部分,可提供多种形式不同的滤波器,供用户选择。GUI系统的创建由两部分来组成,其中包括界面设计和控件编程,主要由三个步骤构成:1.由设置 GUIDE应用程序的选项来运行 GUIDE。2.使用界面设计编辑器进行界面设计。3.编写控件行为响应控制(即回调函数)代码。图4-1 系统用户界面总设计图如图3,是我们设计最终的系统用户界面。左边是数据采集和信号处理两大部分。右边是信号处理分析结果显示图。采集数据,设定采集频率以及采样点,对数据进行采集,显示时域,频谱分析。信号处理部分,设定不同的滤波器,对采集到的数据进行去噪处理,显示结果。右下方,还有播放,暂停

24、,继续,停止等功能,方便操作。系统用户界面总体结构图较为简洁,清晰明了,背景图案色彩柔和,在极大程度上方便了用户的使用,减少了学习使用的时间与成本。4.2 数据采集原理本设计的采集主要是以语音信号为例。运用MATLAB软件中的数据采集工具箱提供一整套的命令和函数,通过对函数的调用,程序编写,可以设计出语音数据采集器。(1)创建一个设备对象,这里可以使用MATLAB软件中的wavread函数对原始语音信号进行取样。对wavread函数格式调用:,读取file所规定的wav文件,返回采样值放在向量y中。(2)给设备对象添加一个通道。channel=str2double(get(handles.ch

25、annel,'String');(3)设置设备属性值,控制数据采集。(4)对数据采集和结果进行处理、分析。4.3采集语音信号运行结果分析信号分析主要可以分为以下部分:信号的时域分析、频域分析以及采样后的频谱分析。信号的时域分析主要是对信号随时间变化的状态进行分析,了解信号幅值的特性。信号的频域分析对信号的频谱分析,依赖于傅里叶变换,从而可以准确获取信号的幅频特性、功率特性。采样后的频谱分析是针对大小不相同采样点进行频谱分析。信号时域分析我们所要采集的语音信号一般情况下都处于一个未知的状态,需要对未知信号进行时域统计,从而可以获取表征信号变化的特征量,在这个系统当中,主要是通过对

26、时域信号的时间变化平滑曲线所显示的结果,进行时域信号进行一个较为准确的统计分析,得出信号的最大值(maximum value)、最小值(minimum value)、期望(expect value)、峰度(kurtosis)、方差(variance)等。对信号自身的相关性可以得出信号自身变化的特性。通过对MATLAB的自带函数调用和优化来实现语音信号的时域波形及最大值(maximum value)、最小值(minimum value)、期望(expect value)、峰度(kurtosis)、方差(variance)等。时域分析核心代码:t=1/(size(x,1)*fs):1/(size(

27、x,1)*fs):1/fs;plot(handles.axes1,t,x(:,1);运行MATLAB,得到时域波形图4-2图4-2原始信号时域波形图通过对语音信号自身的相关性进行分析,可以得出语音信号随时间变化的规律,对于语音信号x(t),它的自相关函数可以定义成x(t)与x()乘积的平均值。假定时间为延迟时间,采样点为2N,则:= (4-1)若对x(t)以的时间间隔采样,而延迟时间 D_Dd_自相关函数有以下几个性质:(1)当 _ _ ()D_Dd_(2)是一个偶函数,有着。(3)若信号中有某种周期性信号,其周期为T,当延迟时间为T时,自相关函数必然出现峰值。(4)若语音信号x(t)由独立信

28、号和噪声信号尸 _ ()_ ()_ ()_ (4-3)利用MATLAB编写后的自相关分析,如图4-3所示。图4-3信号的自相关分析4.3.2 信号的频域分析通常我们所要采集的信号都是随时间变化进行变化的,然后可以对信号进行傅里叶变换,这样我们就可以深入分析每一个频率的变化,从而得到信号关于频率变化的相频特性、幅频特性及功率谱特性。傅里叶变换是对信号进行频域分析的一种数学工具,通过傅里叶变换,我们可以将在时间域的信号处理问题转化成为频率域的问题,转换成适应我们问题的角度,这样对我们信号处理就会产生一个新思路,同时也将信号处理范围由无限域转换为有限域。我们定义一个x(t)是在(,+)上可积分的函数

29、,其无穷积分。 (4-4)称为x(t)的傅里叶变换,通常表示为,称为x(t)的谱函数,是变量的复指数函数。在本系统中,我们利用MATLAB的fft的函数,对信号数据进行快速傅里叶得到幅值谱和相位谱。用户界面处理的效果如图4-4和图4-5所示。 图4-4原信号的频谱功率谱是表征信号能量在信号中各频率成分处的分布情况,因而通过对语音信号进行功率谱分析,我们可以知道信号的哪些频率成分在信号中具有较高的能量,对语音信号有重要的影响。我们通过对语音信号x(n)取傅里叶变换,由于其样本值可以看作是能量信号,因此,我们可以得到快速傅里叶变换后x(k),然后对其幅值平方处理,并除以信号的长度N,可得到率谱估计

30、如下 (4-5)我们通过MATLAB编写程序功能将采集的数据文件导入到系统的分析模块中,得到语音信号的功率谱如图4-5。图4-5原信号相位、功率谱4.3.3 采样后频谱分析设定不同采样位数的值,分析语音信号。这里我们设定依次由小到大采样值1024, 10240,102400,进行采样后语音信号频谱分析。由图4-6,图4-7,图4-8的频谱图与原信号的频谱图对比可知,采样位数越多则捕捉到的信号越精确。离散点数越多,越接近原始信号频谱。图4-6采样值为1024的频谱图4-7采样值为10240的频谱图4-8采样值为102400的频谱5.信号的处理分析 信号的处理是将我们需要的信号从噪声或者干扰中提取

31、出来,避免在后续的时域分析及频域分析中噪声或者干扰对结果有影响。通常我们采用消除趋势项(改进消除噪声)、平滑处理、滤波处理三种方法实现对信号的处理。5.1改进消除噪声 MATLAB库提供的detrend0函数可以进行消除趋势项操作,但也只能消除均值和线性趋势项,所以若使用detrend0函数进行操作,则需要默认传感器所含的趋势项是线性的。若趋势项是非线性的,则需要用polyfit()平H ployval O构成新函数进行处理。在实际的信号数据处理中,通常取13次多项式来对采样数据进行多项式趋势项消除的处理。如下为新构造的消除趋势项的函数。Function y2 =2new_detrend(t,

32、y,m)temp=polyfit(t',x(:,1),m);x=x(:,1)-polyval(temp,t');其中,t为时间序列,Y为信号,m为拟合多项式的次数。图5-1原始信号图5-2有趋势项的原始信号通过图5-1,图5-2两图对比,消除趋势项函数对于信号处理的作用并不突出。5.2 平滑处理我们用五点三次平滑法对时域信号和频域信号进行平滑处理,其原理如下,假设有个等距点上的观测数据为,假设两等节点的步长为,变化为可以得到,.,.,。五点三次平滑法对于时域信号数据的作用主要是能够减少混入到信号中的高频随机噪声。而对于频域数据的作用则是能够使得谱曲线更光滑,但是频域数据经过五点

33、三次平滑法会使得谱曲线的峰值降低,体形变宽,造成误差增大。因此,平滑次数不宜过多。在MATLAB中编写函数如下,function sm_Callback(hObject, eventdata, handles)global xglobal fsn=size(x,1);a=x(:,1); %a为处理的数据b=;b(1)=(69*a(1)+4*(a(2)+a(4)-6*a(3)-a(5)/70;b(2)=(2*a(1)+a(5)+27*a(2)+12*a(3)-8*a(4)/35;for j=3:n-2 b(j)=(-3*(a(j-2)+a(j+2)+12*(a(j-1)+a(j+1)+17*a(

34、j)/35;endb(n-1)=(2*(a(n)+a(n-4)+27*a(n-1)+12*a(n-2)-8*a(n-3)/35;b(n)=(69*a(n)+4*(a(n-1)+a(n-3)-6*a(n-2)-a(n-4)/70;a=b'x=a;经过平滑处理后,分别对处理前和处理后的信号做频谱分析,效果对比如图5-3,图5-4所示。图5-3原始信号功率谱频谱图图5-4平滑处理后的功率频谱图对比两图显示效果可以看出,平滑处理后的信号中明显削减了原始信号里的高频随机信号。5.3 滤波处理数字信号处理技术经过几十年的发展,如今在国内外已经取得了很大的成绩。目前为止,已有的较成熟的去噪方法比较典

35、型的有切比雪夫去噪法、窗函数去噪法、谱相减去噪法和IIR低通滤波去噪等有名的去噪方法。简而言之,滤波,本质上是从被噪声畸变和污染了的信号中提取原始信号所携带的信息的过程。本次设计主要用小噪变换去噪、谱相减去噪法及 IIR 滤波法做一个简单的去燥分析。小波变换去噪分析小波分析方法是新出现的信号时频分析方法,具有多分辨率的特点,能够较好的处理心电信号等非平稳信号。目前小波去噪的方法主要有小波阈值去噪和模极大值去噪。小波变换去噪的流程示意图:图5-5小波去噪流程图为了从含噪中还原出真实信号,可以利用信号和噪声在小波变换下的不同的特性,通过对小波分解系数进行处理来达到信号和噪声分离

36、的目的。在实际工程应用中,有用信号通常表现为低频信号或是一些比较平稳的信号,而噪声信号则通常表现为高频信号。总结去噪过程,可以分成以下三个步骤:(1)对含噪信号进行预处理,并进行小波分解。选择小波确定分解的层数N,然后对信号S(n)进行N层分解。 (2)小波分解的高频系数的阈值量化。对第一层到第N层高频系数,选择软阈值或硬阈值量化处理。 (3)一维小波重构。根据小波分解的第N层低频系数和第一层到第N层的高频系数,进行一维重构。通过在MATLAB软件环境编写,对采集的语音信号进行小波变换去噪分析如5-7所示。图5-6原始信号频谱图5-7小波去噪处理后信号频谱通过图5-6和图5-7看出,小波去噪对

37、采集语音信号去噪并不明显。下面分析谱减法和IIR滤波去噪。5.3.2 谱减法去燥分析处理宽带噪声的最通用技术是谱相减法,即从带噪语音估值中减去噪声频谱估值,从而得到纯净语音的频谱。所谓“谱相减”就是从输入信号的幅度谱中减去估计得来的噪声平均幅度谱,其效果相当于在变换域对带噪信号进行了某种均衡化处理。相对于其它方法,谱相减法引入的约束条件最少,物理意义最直接,运算量小,而且经过改进后效果也较好。由于语音是短时平稳的,所以在短时谱幅度估计中认为它是平稳随机信号,假分s(m)、n(m)和y(m)别代表语音、噪声和带噪语音,分别表示其短时谱。假设噪声n(m)是与语音s(m)不相关的加性噪声。于是得到信

38、号的加性模型:y(m)=s(m)+n(m) (5-1)经过加窗处理后的信号分别表示为,则有 (5-2)对上式两端分别做傅立叶变换,得 (5-3) 对功率谱有 (5-4) 可以根据观测数据估计,其余各项必须近似为统计均值。由于和独立,则互相的统计均值为0,所以原始语音的估值为 (5-5)为了估计噪声功率,采用了端点检测法。因为噪声是局部平稳的,故可以认为发音前的噪声与发音期间的噪声功率谱相同,因而可以利用发语音前的“寂静帧”来估计噪声。谱相减算法的整个算法流程,如图5-8所示:5-8图谱减法的算法流程编写MATLAB核心程序如下,X1=fft(x1);magX=abs(X1);S=(magX.2

39、-magY.2);S1=abs(S).0.5;s1=ifft(S1);m=mean(s1)*300;经过谱减法处理后图5-10与原语音信号图5-9进行对比容易看出,谱减法对信号有去噪效果。图5-9原始信号频谱图图5-10谱减法处理后频谱图5.3.3 IIR滤波器设计及分析对于数字高通、带通滤波器的设计,通用方法为双线性变换法。可以借助于模拟滤波器的频率转换设计一个所需类型的过渡模拟滤波器,再经过双线性变换将其转换策划那个所需的数字滤波器。从设计复杂程度上看,IIR数字滤波器可以依靠模拟滤波器的经验,可以参考有效的设计公式,计算量较小,对于计算工具的要求也不高。下面我们总结一下利用模拟滤波器设计

40、IIR数字低通滤波器的步骤:(1)确定数字低通滤波器的技术指标:Wp(通带截止频率),Ws (阻带截止频率),Rp(通带衰减), Rl(阻带衰减), N(滤波器的最小阶数),Wn(截止频率)。(2)将数字低通滤波器的技术指标转换成相应的模拟低通滤波器的技术指标。(3)按照模拟低通滤波器的技术指标设计及过渡模拟低通滤波器。(4)用双线性变换法,模拟滤波器系统函数转换成数字低通滤波器系统函数。我们以Butterworth数字滤波器为例,调用的MATLAB设计数字滤波器的函数如下wp=2*pi*1000/fs; %通带截止频率 ws=2*pi*1200/fs; %阻带截止频率 Rp=1; %通带衰减

41、 Rl=100; %阻带衰减 wp1=2/Ts*tan(wp/2); %将模拟指标转换成数字指标 ws1=2/Ts*tan(ws/2); N,Wn=buttord(wp1,ws1,Rp,R1,'s'); %选择滤波器的最小阶数Z,P,K=buttap(N); %创建butterworth模拟低通滤波器 Bap,Aap=zp2tf(Z,P,K); b,a=lp2lp(Bap,Aap,Wn); %将模拟原型低通滤波器转换为低通滤波器 bz,az=bilinear(b,a,fs); %用双线性变换法实现模拟滤波器到数字滤波器的转换最终,我们设计了IIR滤波器的GUI界面,可以通过在数据采集界面进行数据加载,对实时采集的数据加载滤波处理。对于滤波器的滤波效果,只有通过对输入信号滤波前后的频谱的对比才能更明显地体现滤波的效果。图5-12给出了信号

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论